У меня есть приложение в java 1.6, и я хочу обновить его до java 1.8, но проблема в том, что при переносе некоторой переменной из jsp в сервлет получается null . хорошо работает с Java 1.6.
JSP код:
Random rdm=new Random();
int rl=rdm.nextInt();
String hash1 = Integer.toHexString(rl);
String capstr=hash1.substring(0,4);
session.setAttribute("key",capstr);
и это мой код сервлета:
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
public class StrutsUploadAndSaveAction extends org.apache.struts.action.Action {
private final static String SUCCESS = "success";
private final static String FAILURE = "failure";
@Override
public ActionForward execute(
ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response) throws Exception{
StrutsUploadAndSaveForm myForm = (StrutsUploadAndSaveForm)form;
String Name = myForm.getUid();
String Password = myForm.getHash();
HttpSession session = request.getSession(true);
session.setAttribute("Name",myForm.getUid());
session.setAttribute("Password",myForm.getHash());
String key=(String)session.getAttribute("key");
System.out.println("login page Action captcha Keys"+key);
String user = request.getParameter("number");
System.out.println(" login page Action captcha User"+user);
if(key.compareTo(user)==0)
{
return mapping.findForward("success");
}
else{
return mapping.findForward("failure");
}}}
и ошибка:
тип Отчет об исключении
сообщение java.lang.NullPointerException
description Сервер обнаружил внутреннюю ошибку, которая не позволила ему выполнить этот запрос.
исключение
javax.servlet.ServletException: java.lang.NullPointerException
org.apache.struts.action.RequestProcessor.processException (RequestProcessor.java:520)
org.apache.struts.action.RequestProcessor.processActionPerform (RequestProcessor.java:427)
org.apache.struts.action.RequestProcessor.process (RequestProcessor.java:228)
org.apache.struts.action.ActionServlet.process (ActionServlet.java:1913)
org.apache.struts.action.ActionServlet.doPost (ActionServlet.java:462)
javax.servlet.http.HttpServlet.service (HttpServlet.java:647)
javax.servlet.http.HttpServlet.service (HttpServlet.java:728)
org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter (MonitorFilter.java:393) * * тысяча двадцать-одна
первопричина
java.lang.NullPointerException
roseindia.net.StrutsUploadAndSaveAction.execute (StrutsUploadAndSaveAction.java:68)
org.apache.struts.action.RequestProcessor.processActionPerform (RequestProcessor.java:425)
org.apache.struts.action.RequestProcessor.process (RequestProcessor.java:228)
org.apache.struts.action.ActionServlet.process (ActionServlet.java:1913)
org.apache.struts.action.ActionServlet.doPost (ActionServlet.java:462)
javax.servlet.http.HttpServlet.service (HttpServlet.java:647)
javax.servlet.http.HttpServlet.service (HttpServlet.java:728)