web.xml中关于servlet的<init-param>有什么用?</init-param>

时间:2015-01-13 13:45:34

标签: java jsp servlets

init-param标签有什么用?在web.xml中关于servlet和jsp?

<servlet>  
<servlet-name>sonoojaiswal</servlet-name>  
<jsp-file>/welcome.jsp</jsp-file>  

<init-param>  
<param-name>dname</param-name>  
<param-value>sun.jdbc.odbc.JdbcOdbcDriver</param-value>  
</init-param>  

</servlet>  

<servlet-mapping>  
<servlet-name>sonoojaiswal</servlet-name>  
<url-pattern>/welcome</url-pattern>  
</servlet-mapping>  

</web-app>  

3 个答案:

答案 0 :(得分:3)

您可以看到init-param是在servlet元素中定义的。这意味着它仅适用于声明下的servlet,而不适用于Web应用程序的其他部分。 您只能在此Servlet中使用该特定参数,而不能在其他参数中使用。 您也可以通过ServletConfig对象访问它

servletConfig.getInitParameter("dname");

答案 1 :(得分:2)

我们可以使用init param从web.xml文件将参数传递给我们的servlet。这是一个小例子。

的web.xml:

<servlet>
        <description></description>
        <display-name>Test</display-name>
        <servlet-name>Test</servlet-name>
        <servlet-class>servlets.Test</servlet-class>
        <init-param>
            <param-name>dname</param-name>
            <param-value>sun.jdbc.odbc.JdbcOdbcDriver</param-value>
        </init-param>
    </servlet>
    <servlet-mapping>
        <servlet-name>Test</servlet-name>
        <url-pattern>/Test</url-pattern>
    </servlet-mapping>

的Servlet

PrintWriter printWriter = response.getWriter();
printWriter.println(getServletConfig().getInitParameter("dname"));

输出:

enter image description here

informatik01 就此主题 here 找到一个很好的答案。

答案 2 :(得分:1)

它们被称为Servlet init参数(在元素中定义)

Servlet init参数在每个特定servlet的元素中定义。

它们特定于每个servlet。它们在servlet的init方法中作为参数提供。这将用于在servlet中初始加载值。