您的位置:首页 > 其它

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

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


web.xml里面可以定义两种参数:

1.application范围内的参数,存放在servletcontext中,在web.xml中配置如下: 

[html] view
plain copy

 print?

<context-param>  

           <param-name>context/param</param-name>  

           <param-value>avalible during application</param-value>  

  </context-param>  

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

[html] view
plain copy

 print?

<servlet>  

    <servlet-name>MainServlet</servlet-name>  

    <servlet-class>com.wes.controller.MainServlet</servlet-class>  

    <init-param>  

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

       <param-value>avalible in servlet init()</param-value>  

    </init-param>  

    <load-on-startup>0</load-on-startup>  

</servlet>  

在servlet中可以通过代码分别取用: 

[java] view
plain copy

 print?

package com.qisentech.controller;  

import javax.servlet.ServletException;  

import javax.servlet.http.HttpServlet;  

public class MainServlet extends HttpServlet {  

    public MainServlet() {  

        super();  

      }  

    public void init() throws ServletException {  

          System.out.println(this.getInitParameter("param1"));  

          System.out.println(getServletContext().getInitParameter("context/param"));  

       }  

}  

第一种参数在servlet里面可以通过getServletContext().getInitParameter("context/param")得到

第二种参数只能在servlet的init()方法中通过this.getInitParameter("param1")取
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  web.xml servlet