通过转发功能是可以执行的,但是通过响应重定向为什么会报status:500的空指针异常错误
来源:2-6 自由编程
Logan_Huang
2019-05-06 22:34:05
HTML(图2)提交属性到MathIndex(图1),(MathIndex的映射是"/direct/mi"),之后是MathCompute(如图3),当我进行转发功能getRequestDispatcher结果成功显示。但是通过响应重定向为什么会是报错呢
1回答
同学你好。根据异常提示,我们可以知道发生了空指针异常。有两个原因:
1、重定向会丢失掉request中的内容。
重定向是服务端发送给客户端一个重定向的临时响应头,这个响应头包含重定向之后的URL,客户端用新的URL重新向服务器发送一个请求。和直接在浏览器敲一个新的地址是一样的效果。所以request.getAttribute("intSum")得到的是null。
2、对于null的元素,不能强制转换成基本数据类型,否则会造成空指针异常。
这是因为java中,强制类型转换成int,是对要转换的Object,使用Object.intValue()得到的。也即是自动拆箱。所以如果这时Object为null,会产生空指针异常。
同学可以重温下2019版Java 零基础入门中的步骤三 2-8 基本数据类型和包装类之间的转换 课程。
如果解答了同学的疑问,望采纳~
祝学习愉快~
相似问题