关于JSP页面跳转传值出现问题
Servlet将用户的信息转发到xiaofei.jsp页面
request.setAttribute("user", user);
request.getRequestDispatcher("/xiaofei.jsp")
.forward(request,response);
然后xiaofei.jsp页面接收代码是这样的
16: <%
17: User user = (User) request.getAttribute("user");
18: String username = user.getUsername();
19: System.out.println(username);
20: %>
欢迎您:
<%
out.print(user.getUsername());
%>
xiaofei.jsp页面链接数据库,根据用户名输出用户详细信息
String sql="select *
from user u join xuexi x on u.id=x.id join yinshi y on y.hao=x.hao join youxi o on o.day=y.day"+"
where username='"+user.getUsername()+"'";
xiaofei.jsp页面有添加个人信息的按钮
<td><a href="add.jsp">添加</a></th>
点击添加,跳转到add.jsp页面,在添加完成后,重新跳转到xiaofei.jsp页面
try{
Class.forName("com.mysql.jdbc.Driver");
Connection con=DriverManager.getConnection("jdbc:mysql://localhost:3306/user","root","root");
Statement stmt=con.createStatement();
String sql="insert into xuexi(id,hao,day,book,price1) values('"+id+"','"+hao+"','"+day+"','"+name+"','"+price+"')";
int i=stmt.executeUpdate(sql);
if(i==1){
out.print("<script>alert('添加成功');</script>");
response.setHeader("refresh", "1;url=xiaofei.jsp");
}else{
out.println("<script>alert('添加失败');</script>");
response.setHeader("refresh","1;url=add.jsp");
}
con.close();
stmt.close();
}catch(Exception e){
out.println("<script>alert('失败,请重试');</script>");
response.setHeader("refresh","1;url=add.jsp");
}
此时问题出现了,跳转失败了,org.apache.jasper.JasperException: 在 [18] 行处理 [/xiaofei.jsp] 时发生异常
但是数据已经成功插入,再次登录能把新添加的信息显示出来
org.apache.jasper.JasperException: 在 [18] 行处理 [/xiaofei.jsp] 时发生异常
15: <br>
16: <%
17: User user = (User) request.getAttribute("user");
18: String username = user.getUsername();
19: System.out.println(username);
20: %>
欢迎您:
<%
out.print(user.getUsername());
%>
Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:605)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:498)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:383)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:331)
javax.servlet.http.HttpServlet.service(HttpServlet.java:764)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
根本原因。
java.lang.NullPointerException
org.apache.jsp.xiaofei_jsp._jspService(xiaofei_jsp.java:124)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:764)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:465)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:383)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:331)
javax.servlet.http.HttpServlet.service(HttpServlet.java:764)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
):注意 主要问题的全部 stack 信息可以在 server logs 里查看
该怎么办,查找好多方法还是没有用,我的是Tomacat8.5,JDK是1.8,已经导入Jstl.jar包和standard.jar包了,