2015-09-02 27 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>