web.xml的初始化参数:<context-param>与<init-param>的区别

本文详细介绍了在web.xml中如何配置&lt;context-param&gt;和&lt;init-param&gt;的区别及应用范围。通过示例展示了&lt;context-param&gt;用于设置全局参数,而&lt;init-param&gt;则用于Servlet级别的初始化参数。

在web.xml 中可以定义<context-parm>与<init-param>

例如:

<?xml version="1.0" encoding="UTF-8"?>

<web-app version="2.4"

 xmlns="http://java.sun.com/xml/ns/j2ee"

 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

 xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee

 http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">

<context-param>

 <param-name>param1</param-name>

 <param-value>this param in context</param-value>

</context-param>

<servlet>

 <servlet-name>MyServlet</servlet-name>

 <servlet-class>com.ltt.test.controller.MyServlet</servlet-class>

 <init-param>

  <param-name>param2</param-name>

  <param-value>this param in servlet</param-value>

 </init-param>

</servlet>

<servlet-mapping>

 <servlet-name>MyServlet</servlet-name>

 <url-pattern>/jsp</url-pattern>

</servlet-mapping>

  <welcome-file-list>

    <welcome-file>index.jsp</welcome-file>

  </welcome-file-list>

</web-app>

但是他们并不同

<context-param>是application范围内的参数,存放在servletcontext中

    在servlet 中可得到参数

    ServletContext context=getServletContext();

   System.out.println("1>>"+context.getInitParameter("param1"));

<init-parm>是servlet内的初始化参数

     用this.getInitParameter("param2"));得到

两个范围互不包含

package com.ltt.test.controller;

import java.io.IOException;

import javax.servlet.RequestDispatcher;

import javax.servlet.ServletContext;

import javax.servlet.ServletException;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

public class MyServlet extends HttpServlet {

 public MyServlet(){

  super();

 }

 public void destory(){

  super.destroy();

 }

 

 public void doGet(HttpServletRequest request,HttpServletResponse response)

  throws ServletException,IOException{

  doPost(request,response);

 }

 public void doPost(HttpServletRequest request,HttpServletResponse response)

  throws ServletException,IOException {

  ServletContext context=getServletContext();

  System.out.println("1>>"+context.getInitParameter("param1"));

  System.out.println("2>>"+context.getServerInfo());

  System.out.println("3>>"+context.getInitParameterNames());

  System.out.println("4>>"+this.getInitParameter("param2"));

  System.out.println("5>>"+this.getInitParameter("param1"));

  System.out.println("6>>"+context.getInitParameter("param2"));

  String name=request.getParameter("name");

  System.out.println(name);

  String str="/1.jsp";

  RequestDispatcher rs=context.getRequestDispatcher(str);

  rs.forward(request, response);

  

 }

  

}

结果:

1>>this param in context

2>>Apache Tomcat/6.0.13

3>>org.apache.catalina.util.Enumerator@1f18cbe

4>>this param in servlet

5>>null

6>>null

lklkklll

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值