我需要从xml中检索init-param值到我在代码
后面使用的Servlet<servlet>
<servlet-name>LoginServlet</servlet-name>
<servlet-class>LoginServlet</servlet-class>
<init-param>
<param-name>jdbcDriver</param-name>
<param-value>com.mysql.jdbc.Driver</param-value>
</init-param>
</servlet>
servlet代码
public void init(ServletConfig config) throws ServletException {
super.init(config);
System.out.println(config.getInitParameter("jdbcDriver"));
}
但它显示为null ..任何人都可以帮助我做到这一点。 提前谢谢
答案 0 :(得分:4)
我看不出一个原因,为什么你必须覆盖init(ServletConfig sc)
方法,因为你总是可以通过调用你继承的ServletConfig
方法获得getServletConfig()
。
System.out.println(getServletConfig().getInitParameter("jdbcDriver"));
答案 1 :(得分:2)
如果要进行自定义初始化工作,请覆盖no-arg init()方法,忘了init(ServletConfig)。可以打电话 no-arg init()方法里面的getServletConfig()方法?是的,一个 ServletConfig的实例已经被超类保存了 GenericServlet类。
http://javahowto.blogspot.com/2006/06/common-mistake-in-servlet-init-methods.html
使用包的类总是好的。它可以实现清晰的划分。
答案 2 :(得分:0)
<servlet-class>LoginServlet</servlet-class>
不在任何包裹中?