servlet中配置文件web.xml中的参数context-param和init-param区别

  web.xml里面可以定义两种参数:  
(1)application范围内的参数,存放在servletcontext中,在web.xml中配置如下: 
Java代码    收藏代码
  1.    
  2. <context-param>  
  3.             <param-name>context/param</param-name>  
  4.             <param-value>avalible during application</param-value>  
  5.    </context-param>  

(2)servlet范围内的参数,只能在servlet的init()方法中取得,在web.xml中配置如下: 
Java代码    收藏代码
  1. <servlet>  
  2.     <servlet-name>MainServlet</servlet-name>  
  3.     <servlet-class>com.wes.controller.MainServlet</servlet-class>  
  4.     <init-param>  
  5.        <param-name>param1</param-name>  
  6.        <param-value>avalible in servlet init()</param-value>  
  7.     </init-param>  
  8.     <load-on-startup>0</load-on-startup>  
  9. </servlet>  

在servlet中可以通过代码分别取用: 
Java代码    收藏代码
  1. package com.wes.controller;  
  2.   
  3. import javax.servlet.ServletException;  
  4. import javax.servlet.http.HttpServlet;  
  5.   
  6.  public class MainServlet extends HttpServlet ...{  
  7.   
  8.      public MainServlet() ...{  
  9.         super();  
  10.       }  
  11.      public void init() throws ServletException ...{  
  12.           System.out.println("下面的两个参数param1是在servlet中存放的");  
  13.           System.out.println(this.getInitParameter("param1"));  
  14.           System.out.println("下面的参数是存放在servletcontext中的");  
  15.           System.out.println(getServletContext().getInitParameter("context/param"));  
  16.        }  
  17. }  

第一种参数在servlet里面可以通过getServletContext().getInitParameter("context/param")得到 
第二种参数只能在servlet的init()方法中通过this.getInitParameter("param1")取得 

你可能感兴趣的:(servlet中配置文件web.xml中的参数context-param和init-param区别)