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

来源:互联网 发布:xml与json传输性 编辑:程序博客网 时间:2024/05/22 12:16

在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

0 2
原创粉丝点击