如果我有:
<context-param>
<param-name>SomeParam</param-name>
<param-value>SomeValue</param-value>
</context-param>
在我的web.xml
中,这是servlet指定选项的方式(就像使用配置文件一样),还是我做错了什么?我知道可以为servlet指定的init-param
,但是我想确保所有servlet的值都相同。
答案 0 :(得分:3)
<context-param>
用于定义可供所有 servlet使用的上下文范围的初始化参数。在servlet中,您可以通过ServletContext#getInitParameter()
获取它们,例如
public void init() {
String someParam = getServletContext().getInitParameter("someParam");
}
这是为所有servlet提供“全局”参数的正确方法。但您也可以在<servlet>
中定义特定于servlet的初始化参数,如下所示:
<servlet>
<servlet-name>myServlet</servlet-name>
<servlet-class>com.example.MyServlet</servlet-class>
<init-param>
<param-name>someParam</param-name>
<param-value>someValue</param-value>
</init-param>
</servlet>
您可以通过继承的 GenericServlet#getInitParameter()
方法获取它们。 E.g。
public void init() {
String someParam = getInitParameter("someParam");
}
答案 1 :(得分:1)