在Servlet使用getServletContext()获取ServletContext对象出现java.lang.NullPointerException(空指针)异常的解决办法
2016-01-11 18:37
1001 查看
今天遇到了一个在servlet的service方法中获取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 }
相关文章推荐
- Groovy与Java集成常见的坑(转)
- Java经典23种设计模式之创造型模式(一)
- HashMap
- javaweb学习总结(十五)——JSP基础语法
- TreeSet
- java中System.out.print();out的理解
- JavaWeb学习总结(十三)——使用Session防止表单重复提交
- Java Lambda表达式入门
- MyEclipse 2015优化技巧
- java读取视频文件长
- Spring Boot 使用总结(一) Spring Boot 起步
- JavaSE学习笔记-static关键字
- Spring中quartz的使用
- Java读取文件夹大小的6种方法及代码
- java天气预报调用百度接口实现
- Spring源码地址和相关介绍的网址
- Spring框架中如何读取Spring的XML配置文件
- Spring源码地址下载
- Java中的设计模式(1)
- java反射的应用+mybatis+spring动态生成数据库表