javaとJSPでコーディングしているのですが、
リクエストスコープにインスタンスを保存して取り出そうとするとNullPointerで落ちます。
request.setAttribute()で保存しているのですが
何が原因かわかりません。
ご教授願います。
■FormSampleServlet.java
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("UTF-8");
String name = request.getParameter("name"); String gender = request.getParameter("gender"); System.out.println(name + gender); Human human = new Human(name, gender); System.out.println(human.getName()); System.out.println(human.getSex()); request.setAttribute("human", human); //←ここで保存 final Human humanObj = (Human)request.getAttribute("human"); if (humanObj != null) { System.out.println("OK"); } else { System.out.println("NG"); } response.sendRedirect("/Example/redirect.jsp");
■redirect.jsp
<%@page import="bean.Human"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%
final Human humanObj = (Human)request.getAttribute("human"); //←ここで落ちる
%>
■エラーログ
例外
org.apache.jasper.JasperException: java.lang.NullPointerException
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:555)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:476)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:396)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:340)
javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
原因
java.lang.NullPointerException
org.apache.jsp.redirect_jsp._jspService(redirect_jsp.java:108)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:438)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:396)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:340)
javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。