web.xml中在Servlet中获取context-param和init-param内的参数

很多诸如filter、listener不是由我们写的而是第三方提供的,
他只声明的必须的变量并给了个默认值保证他的完整,而此时的默认值不是你需要的
你就可以用init-param来改变它


web.xml里面可以定义两种参数:
1.application范围内的参数,存放在servletcontext中,在web.xml中配置如下: 

[html] view plain copy
 
 print?
  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中配置如下:

[html] view plain copy
 
 print?
  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] view plain copy
 
 print?
  1. package com.qisentech.controller;  
  2. import javax.servlet.ServletException;  
  3. import javax.servlet.http.HttpServlet;  
  4. public class MainServlet extends HttpServlet {  
  5.     public MainServlet() {  
  6.         super();  
  7.       }  
  8.     public void init() throws ServletException {  
  9.           System.out.println(this.getInitParameter("param1"));  
  10.           System.out.println(getServletContext().getInitParameter("context/param"));  
  11.        }  
  12. }  

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

展开阅读全文

没有更多推荐了,返回首页