简体   繁体   English

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

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

What is the use of init-param tag? init-param标签的用途是什么? in web.xml reagarding servlet and jsp? 在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>  

You can see that init-param is defined inside a servlet element. 您可以看到init-param是在servlet元素内定义的。 This means it is only available to the servlet under declaration and not to other parts of the web application. 这意味着它仅对声明中的servlet可用,而对Web应用程序的其他部分不可用。 You can use that particular parameter in only this Servlet not in others. 您只能在此Servlet中使用该特定参数,而不能在其他Servlet中使用。 you can access it by ServletConfig object also 您也可以通过ServletConfig对象访问它

servletConfig.getInitParameter("dname");

We can pass parameters to our servlet from the web.xml file using init param's. 我们可以使用init参数将参数从web.xml文件传递到servlet。 Here's a small example. 这是一个小例子。

web.xml: 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: Servlet:

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

Output: 输出:

在此处输入图片说明

You will find an excellent answer by informatik01 on this subject here . 您可以在此处通过informatik01找到一个很好的答案。

They are called Servlet init parameters (defined in element) 它们称为Servlet初始化参数(在元素中定义)

Servlet init parameters are defined within the element for each specific servlet. 在每个特定Servlet的元素内定义Servlet初始化参数。

They are specific to each servlet.They are available in the init method of the servlet as arguments. 它们特定于每个servlet。在servlet的init方法中可用作参数。 this will be used for initial loading of values in the servlet. 这将用于Servlet中值的初始加载。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM