Ich versuche, Wert aus der Sitzung, aber schlägt fehl. Ein Wert in Session wurde erfolgreich in der JSP-Seite festgelegt, kann aber nicht in der Java-Klasse abgerufen werden. zu lösen Bitte helfen:Setzen Sie den Sitzungswert in JSP und Abrufen in Java-Klasse mit response.sendRedirect
Unten finden Sie Codeausschnitt:
Interceptor Eintrag in Servlet-context.xml Datei:
<interceptor>
<mapping path="/**" />
<exclude-mapping path="/tabservice/pdfCreation/**"/>
<beans:bean class="com.mastek.ems.filter.ExecuteTimeInterceptor"></beans:bean>
</interceptor>
der Sitzungswert in jsp Seite Set: index.jsp
Versuchen Sie, den Wert in Interceptor zu erhalten: ExecuteTimeInterceptor:
System.out.println("Session Object:"+request.getSession(false)); // Prints null
System.out.println("Session ObjectID1:"+request.getSession(false).getId()); // Throws NullPointerException
long startTime = System.currentTimeMillis();
if(request.getSession(false) != null){
System.out.println("inside if : Ssn Data:"+request.getSession(false).getAttribute("user"));
if(request.getSession(false).getAttribute("user") != null){
request.setAttribute("startTime", startTime);
System.out.println("Start Time::with Valid Session:1:"+(new SimpleDateFormat("dd/MM/YYYY:hh:mm:ss:SSSS")).format(new Date(System.currentTimeMillis())));
return true;
}
} else{
System.out.println("Start Time::with Invalid Session::"+(new SimpleDateFormat("dd/MM/YYYY:hh:mm:ss:SSSS")).format(new Date(System.currentTimeMillis())));
}
request.setAttribute("startTime", startTime);
Utility.setResponseError(response, "sessiontimedout");
return false;
schwer zu erraten, aber ich nehme an, dass eine Seite die Abfangjäger ausgelöst, bevor die Sitzung erstellt wurde. Sie sollten 'request.getRequestURL()' im Interceptor anzeigen, wenn die Sitzung null ist. –