Reputation: 96767
If I have:
<context-param>
<param-name>SomeParam</param-name>
<param-value>SomeValue</param-value>
</context-param>
in my web.xml
, is this the servlet way of specifying options ( like in the way a config file is used ) , or am I doing something wrong? I know about init-param
that can be specified for a servlet, but I'd like o make sure some values are the same for all the servlets.
Upvotes: 2
Views: 227
Reputation: 1108632
The <context-param>
is to define context-wide initialization parameters which is available to all servlets. Inside a servlet you can obtain them by ServletContext#getInitParameter()
, e.g.
public void init() {
String someParam = getServletContext().getInitParameter("someParam");
}
That's the right way to have a "global" parameter for all your servlets. But you can also define servlet-specific initialization parameters inside <servlet>
as follows:
<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>
You can obtain them by the inherited GenericServlet#getInitParameter()
method. E.g.
public void init() {
String someParam = getInitParameter("someParam");
}
Upvotes: 4