You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

userProfile.jsp报JasperException与空指针,用户为null跳转失效

问题原因分析
  • 重定向逻辑未完全生效:response.sendRedirect("index.jsp") 仅会生成302跳转响应返回给浏览器,不会终止当前JSP页面后续代码的运行。因此当user为null时,即使触发了重定向逻辑,后续调用user.getFirstName()的代码仍会执行,直接抛出空指针异常,也就是你遇到的JasperException报错。
  • user.equals(null) 判断无效的原因:如果user本身是null,调用其equals方法本身就会触发空指针异常,判断Java对象是否为null必须使用==运算符。
修复方案

只需要在重定向逻辑后添加return语句,终止后续代码执行即可,修改后的JSP头部逻辑如下:

<%@ page import="com.example.demo2.User" %>
<%@ page contentType="text/html;charset=UTF-8" %>
<%
    User user = (User) session.getAttribute("loginuser");
    if(user == null){
        response.sendRedirect("index.jsp");
        return; // 新增这行,终止当前页面后续代码执行
    }
%>
优化建议(可选)

可以将登录校验逻辑统一抽取到Servlet过滤器(Filter)中,对所有需要登录后访问的路径统一做校验,不用每个业务JSP单独编写重定向逻辑,避免遗漏。

内容的提问来源于stack exchange,提问作者Badri Rusadze

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 01:24:00