在Servlet使用getServletContext()获取ServletContext对象出现java.lang.NullPointerException(空指针)异常的解决办法
2016-04-21 16:01
1036 查看
今天遇到了一个在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 }
相关文章推荐
- 二叉树的遍历 Java版
- java LinkedList实现原理概述
- Struts2 Result详解
- Java 哈希机制
- JAVA泛型编程笔记
- JavaI/O系统
- java 读取html生成pdf
- java获取propertites文件
- [改善Java代码]断言绝对不是鸡肋
- 学习Java开源框架前你应该了解的
- Java 泛型定义在接口上
- java基础知识
- 应用层之E-mail服务及javaMail邮件发送的知识总结
- java 生成.csv文件【问题】
- java 获取MP3文件时长等信息
- JAVA基础知识点(自己总结的)
- Java 实现导出excel表 POI
- Spring mvc提交form包含date类型数据错误400问题。
- Java 字符串全面解析
- Java Web利用POI导出Excel简单例子