I am making a Struts2 application.
I am trying to logout, but I am getting java.lang.NullPointerException
My method is:
public String logout(){
Map session = ActionContext.getContext().getSession();
SessionMap sessionMap=(SessionMap)session;
log.info("session:"+session);
log.info("sessionmap:"+sessionMap);
log.info("sessionMap.get()"+sessionMap.get("USROBJECT"));
try{
if(sessionMap!=null){
sessionMap.remove("USROBJECT");
sessionMap.invalidate();
}
}
catch(Exception e){
log.info("Exception is:"+e.toString());
}
return "LOGOUT";
}
I am getting the object when I am trying to print session , sessionMap
and "USROBJECT"
object, but when I am calling remove()
, I am getting an exception.
login method:
public Map session = ActionContext.getContext().getSession();
public SessionMap sessionMap;
public void setSession(Map session) {
sessionMap=(SessionMap) session;
}
public String login(){
us = new UserSession();
us= getUserDetails();
log.info("userName is:"+us.getUserName());
log.info("password is:"+us.getPassword());
us.setLastLoginTime(loginTime);
sessionMap.put("USROBJECT", us);
return "register";
}
struts.xml
:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<constant name="struts.devMode" value="true" />
<constant name="struts.enable.DynamicMethodInvocation" value="false" />
<package name="Hello" extends="struts-default">
<action name="*LoginAction" method="{1}"
class="com.pgnext.apps.action.LoginAction">
<result name="register">/jsp/register.jsp</result>
<result name="error">/jsp/error.jsp</result>
<result name="logout">/jsp/login.jsp</result>
</action>
</package>
</struts>
17:09:31,038 INFO LoginAction:171 - going to remove USROBJECT
17:09:31,038 INFO LoginAction:183 - Exception is : java.lang.NullPointerException