2015-09-02 21 views
0

嗨,我正在读一本关于Servlet和使用的书的context-param的init-PARAM,但他没有提供如何的例子的好处使用它,他只是解释它在一些词可以有一个人给我如约如何使用它,为什么我需要它在我的xml文件注:我不是在谈论servlet的名称的servlet类我说关于另外两个参数是什么在web.xml中使用这种类型的PARAM

<context-param> 
    <param-name>custEmail</param-name> 
    <param-value>[email protected]</param-value> 
</context-param> 

<servlet> 
    <servlet-name>addEmailListServlet</servlet-name> 
    <servlet-class>email.addEmailListServlet</servlet-class> 
    <init-param> 
     <param-name>reletivePathFile</param-name> 
     <param-value>/WEB-INF/Email.txt</param-value> 
    </init-param> 
</servlet> 

回答

1

他们是初始参数,你我ULD让他们与init(c:ServletConfig):void方法,即一旦容器实例化的servlet,它会调用init方法,包括通过web.xml文件提供给实例的初始参数。因此他们不会做任何魔术或其他任何事情,只是初始参数,当servlet生命开始时需要对其进行配置时,它们非常有用,例如默认电子邮件地址,池大小或外部路径名,任何东西。

例如

<init-param> 
    <param-name>sys_mail</param-name> 
    <param-value>[email protected]</param-value> 
</init-param> 

而且其中的servlet

public void init(ServletConfig c) throws ServletException{ 
     c.getInitParameter("sys_mail");//this will return [email protected] 
    } 
1

既然你发送InitParameter请求的Servlet像

this.myParam = servletConfig.getInitParameter("myParam"); 

然后访问这个我们可以映射到Web.xml像: -

<init-param> 
    <param-name>myParam</param-name> 
    <param-value>paramValue</param-value> 
</init-param> 

即将上Context Parameters边。在这里,我们通过对servlet请求:

String myContextParam =request.getSession().getServletContext().getInitParameter("myParam"); 

那么对于访问myContextParam我们可以web.xml像映射: -

<context-param> 
<param-name>myParam</param-name> 
<param-value>the value</param-value> 
</context-param>