阅读更多
真的很开心,在编写servlet时一直被一个问题困扰了好久好久,今天终于搞清楚了原因所在,激动之余写上我的第一篇博客文章!
问题:
写servlet时当在doGet/doPost方法中要获取ServletContext对象时,(比如:
ServletContext context=getServletContext();
out.print(context.getServerInfo());
)时而会出现下面的异常提示,有时可以有时又不行,找了半天问题总不得要领。
java.lang.NullPointerException
javax.servlet.GenericServlet.getServletContext(GenericServlet.java:159)
servletdemo.FirstServlet.process(FirstServlet.java:51)
在网上搜了很久终于在http://forum.java.sun.com/thread.jspa?threadID=558579&messageID=2742652文档提示下发现了问题所在
原来我重写了init(ServletConfig),但第一行没有调用super.init(config);就是这导致了错误!父类的init(ServletConfig)有处理获取ServletContext对象的引用,在doGet()等方法中才能够通过getServletContext()方法获取到SeverletContext对象!!
public void init(ServletConfig config) throws ServletException{
super.init(config);
。。。。
}