JSP - HTTP 状态 500 – 内部服务器错误

问题描述 投票:0回答:2

下面是我的 .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 行。

jsp
2个回答
0
投票

NullPointerException
被抛出,因为变量
user
( =
session.getAttribute("user")
) 为 null。

您至少应该添加

if (user != null) { ...


-1
投票

确保您已创建会话并将变量设置为与

相同
session.getAttribute("user");
© www.soinside.com 2019 - 2024. All rights reserved.