关于servlet,<init-param> in web.xml有什么用?

What is the use of <init-param> in web.xml regarding servlet?

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>  

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

servletConfig.getInitParameter("dname");

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

Servlet 初始化参数在每个特定 servlet 的元素中定义。

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

我们可以使用 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"));

输出:

您将在 informatik01 中找到有关此主题的出色答案 here