getServletContext空指针异常解决
问题:servlet中调用getServletContext()报空指针异常
异常信息:
java.lang.NullPointerException
at javax.servlet.GenericServlet.getServletContext(GenericServlet.java:125)
异常出现原因:
重写了init(ServletConfig config)
方法,但没有调用super.init(config);
导致ServletConfig 对象为空
解决方案1:
在重写init(ServletConfig config)
方法时调用super.(config);
解决方案2:
先来看一下父类GenericServlet中的init方法源码
在idea中ctrl+F12查看方法
GenericServlet类中有两个init方法
init()空参
init(ServletConfig config)有参
public void init() throws ServletException {
}
/
public void init(ServletConfig config) throws ServletException {
this.config = config;
this.init();
}
init(ServletConfig config)方法中调用了init()空参的方法
为了避免忘记写super.(config);而导致空指针异常,
建议重写方法时,重写空参的init()方法