在Servlet使用getServletContext()获取ServletContext对象出现java.lang.NullPointerException(空指针)异常的解决办法
2016-01-27 22:36
1126 查看
今天遇到了一个在servlet的service方法中获取ServletContext对象出现java.lang.NullPointerException(空指针)异常,代码如下:
这个问题很奇怪,也是第一次遇到,因为以前在servlet的doGet/doPost方法中要获取ServletContext对象时都是这样写的,也没有出现过java.lang.NullPointerException(空指针)异常,上网查了一下出现这个异常的原因:原来是我重写了init(ServletConfig)方法,但重写的init方法内部没有调用super.init(config);就是这导致了错误!父类的 init(ServletConfig)有处理获取ServletContext对象的引用,在doGet/doPost/service方法方法中才能够通过 getServletContext()方法获取到SeverletContext对象!重写了Servlet的init方法后一定要记得调用父类的init方法,否则在service/doGet/doPost方法中使用getServletContext()方法获取ServletContext对象时就会出现java.lang.NullPointerException异常
1 //获取ServletContext对象 2 ServletContext servletContext = this.getServletContext();
这个问题很奇怪,也是第一次遇到,因为以前在servlet的doGet/doPost方法中要获取ServletContext对象时都是这样写的,也没有出现过java.lang.NullPointerException(空指针)异常,上网查了一下出现这个异常的原因:原来是我重写了init(ServletConfig)方法,但重写的init方法内部没有调用super.init(config);就是这导致了错误!父类的 init(ServletConfig)有处理获取ServletContext对象的引用,在doGet/doPost/service方法方法中才能够通过 getServletContext()方法获取到SeverletContext对象!重写了Servlet的init方法后一定要记得调用父类的init方法,否则在service/doGet/doPost方法中使用getServletContext()方法获取ServletContext对象时就会出现java.lang.NullPointerException异常
1 public void init(ServletConfig config) throws ServletException{ 2 //重写了Servlet的init方法后一定要记得调用父类的init方法,否则在service/doGet/doPost方法中使用getServletContext()方法获取ServletContext对象时就会出现java.lang.NullPointerException异常 3 super.init(config); 4 }
相关文章推荐
- Intellij Idea 14使用Maven创建SpringMVC项目
- 解决Eclipse建立Maven项目后无法建立src/main/java资源文件夹的办法
- Java中的Date Time 与SQL Server 2005里的Datetime 之间的交互
- JavaSE入门学习14:Java面向对象之内部类
- PAT1002. 写出这个数;java实现
- JAVA使用JDBC连接MySQL数据库
- java多线程示例
- SpringMVC与Mybatis框架整合遇到的坑
- Selenium2(java)框架设计 九
- Java中extends 与 implement 区别(转)
- Spring学习之Ioc
- Eclipse改变工作区皮肤(直观图示)
- Spring MVC 1
- Could not create the view: An unexpected exception was thrown. myeclipse非正常关闭,出现错误
- Java 入门 之 IO操作与进程、线程
- Fiddler监听Java应用本地请求的方法
- Java源码解析 AbstractCollection<E>
- 当JAVA集合移除自身集合元素时发生的诸多问题
- struts请求走向流程
- Java