web.xml配置参数context-param和init-param的区别

web.xml配置参数context-param和init-param的区别

 (2009-04-13 10:29:01)
标签: 

杂谈

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

(2)servlet范围内的参数,只能在servlet的init()方法中取得,在web.xml中配置如下:

  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中可以通过代码分别取用:

  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")得到

在JSP中可以用config.getServletContext().getInitParameter("context/param")得到

或者this.getServletContext().getInitParameter("context/param")

第二种参数只能在servlet的init()方法中通过this.getInitParameter("param1")取得

posted @ 2015-07-03 16:18  wzhanke  阅读(398)  评论(0编辑  收藏  举报