一个abstract的FatherServlet,继承自HttpServlet,
web.xml定义如下:
<servlet>
<servlet-name>FatherServlet</servlet-name>
<servlet-class>test.bll.FatherServlet</servlet-class>
<init-param>
<param-name>debug</param-name>
<param-value>true</param-value>
</init-param>
</servlet>
其init方法如下:
public void init() throws ServletException {
debug = getInitParameter("debug");
super.init();
}
一个SonServlet继承自FatherServlet,web.xml定义如下:
<servlet>
<servlet-name>SonServlet</servlet-name>
<servlet-class>test.bll.son.SonServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>SonServlet</servlet-name>
<url-pattern>/son</url-pattern>
</servlet-mapping>
其init方法如下:
public void init() throws ServletException {
// TODO Auto-generated method stub
super.init();
}
页面请求/son,具体处理都在FatherServlet里,但是总是提示debug为空。
我知道只要在SonServlet的web.xml里定义Init-Param就可以解决,想问能不能不在子类里定义参数即可解决该问题。
拜谢了
你在 web.xml 中定义了两个 Servlet ,尽管都是 FatherServlet 类的实例,但这是两个不同的实例。
第一个 FatherServlet 可以获取到 debug 参数,而第二个SonServlet则获取不到。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。