下面是我的 .jsp 的一部分。
<%User user = (User) (session.getAttribute("user"));%>
<b>Welcome <%= user.getFirstName() + " " + user.getLastName()%></b>
<br/>
我收到以下错误:
HTTP 状态 500 – 内部服务器错误
输入异常报告
消息在第 [20] 行处理 [/home.jsp] 时发生异常
描述 服务器遇到意外情况,无法满足请求。
异常 org.apache.jasper.JasperException:在第 [20] 行处理 [/home.jsp] 时发生异常
17: 这是新增信息页面
18:<%=new Date()%> 19:<%User user = (User) (session.getAttribute("user"));%> 20:欢迎<%= user.getFirstName() + " " + user.getLastName()%> 21:
22: 23:退出堆栈跟踪: org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:593) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:482) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:385) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:329) javax.servlet.http.HttpServlet.service(HttpServlet.java:741) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
根本原因 java.lang.NullPointerException org.apache.jsp.home_jsp._jspService(home_jsp.java:139) org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) javax.servlet.http.HttpServlet.service(HttpServlet.java:741) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:444) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:385) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:329) javax.servlet.http.HttpServlet.service(HttpServlet.java:741) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
注意根本原因的完整堆栈跟踪可在服务器日志中找到。
Apache Tomcat/9.0.1
有人可以帮忙吗?错误出现在第 20 行。
NullPointerException
被抛出,因为变量 user
( = session.getAttribute("user")
) 为 null。
您至少应该添加
if (user != null) { ...
。
确保您已创建会话并将变量设置为与
相同session.getAttribute("user");