Why does config.getInitParameter(String)
always return null
in the following code example?
public void init(ServletConfig config) t
It's never a good idea to override the init(config)
method. Instead use the provided init()
convenience method and do a getServletConfig()
to get the configuration parameters:
http://docs.oracle.com/javaee/1.2.1/api/javax/servlet/GenericServlet.html#init() http://docs.oracle.com/javaee/1.2.1/api/javax/servlet/GenericServlet.html#getServletConfig()
Ensure your servlet is calling super.init(config) on its init method, else it won't work.
Make sure you have really deployed the proper web.xml. Also check with config.getInitParameterNames()
what parameters have been found.
If use the IDE STS4, checkout if annotation on the class name exists, use BOTH "annotation" and "web.xml" may cause the value null.
The canonical way is to just use the inherited GenericServlet#getInitParameter() in the argumentless init() method (and remove any init(config)
method).
@Override
public void init() throws ServletException {
filename = getInitParameter("addressfile");
}
If that still doesn't work, then your web.xml
is not properly been deployed, or you have a typo in the parameter name, or you actually accessed a different instance variable than filename
to use/test it.