config.getInitParameter始终返回null

sav*_*vva 5 java servlets

为什么config.getInitParameter(String)总是null在以下代码示例中返回?

public void init(ServletConfig config) throws ServletException
{
    super.init(config);
    filename = config.getInitParameter("addressfile");
Run Code Online (Sandbox Code Playgroud)

这是web.xml文件

<servlet>
<servlet-name>ListManagerServlet</servlet-name>
<servlet-class>savva.listmanagerservlet.ListManagerServlet</servlet-class>
<init-param>
    <param-name>addressfile</param-name>
    <param-value>d:\temp\demo.txt</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>ListManagerServlet</servlet-name>
<url-pattern>/ListManagerServlet</url-pattern>
</servlet-mapping>
Run Code Online (Sandbox Code Playgroud)

UPD:Eclipse EE Indigo,Java 1.6,Tomcat 7.0

Bal*_*usC 8

规范的方法是GenericServlet#getInitParameter()在无参数init()方法中使用继承(并删除任何init(config)方法).

@Override
public void init() throws ServletException {
    filename = getInitParameter("addressfile");
}
Run Code Online (Sandbox Code Playgroud)

如果仍然无效,那么您的web.xml部署不正确,或者参数名称中有拼写错误,或者您实际访问的是不同的实例变量,而不是filename使用/测试它.