getServletContext空指针异常解决

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()方法

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值