In addition to Musachy's response, I'd add that normally it's reasonable
to include a bit more information that "I get the null pointer
exception", like *where* the exception is occuring.
Dave
Security Management wrote:
Struts 2.1, every time the LoggedInInterceptor runs, I get the null pointer
exception. Any ideas:
Struts.xml:
<struts>
<include file="struts-default.xml"/>
<constant name="struts.objectFactory"
value="org.apache.struts2.spring.StrutsSpringObjectFactory" />
<package name="default" extends="struts-default">
<interceptors>
<interceptor name="loggedIn"
class="com.secmgmt.struts2.interceptors.LoggedInInterceptor"/>
<interceptor-stack name="defaultLoggedInStack">
<interceptor-ref name="createSession"/>
<interceptor-ref name="defaultStack"/>
<interceptor-ref name="loggedIn"/>
</interceptor-stack>
</interceptors>
<default-interceptor-ref name="defaultLoggedInStack" />
And so on...
Interceptor:
import com.opensymphony.xwork2.interceptor.Interceptor;
import com.opensymphony.xwork2.ActionInvocation;
import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;
import org.apache.struts2.ServletActionContext;
import java.lang.StringBuffer;
import java.util.Map;
import java.util.Iterator;
import java.util.Enumeration;
import javax.servlet.http.HttpSession;
import org.hibernate.criterion.Restrictions;
import org.hibernate.Criteria;
import org.hibernate.Hibernate;
import com.secmgmt.picture.four.database_beans.*;
import com.secmgmt.util.HibernateSpringConnector;
import org.apache.struts2.interceptor.SessionAware;
import org.apache.log4j.Logger;
import org.apache.log4j.BasicConfigurator;
// Extend ActionSupport for the getText(String) method.
public class LoggedInInterceptor extends ActionSupport implements
Interceptor, SessionAware
{
HibernateSpringConnector hsc;
Map<String, Object> session;
Logger l;
public void setSession(Map<String, Object> s)
{
this.session = s;
}
public Map<String, Object> getSession()
{
return this.session;
}
/**
* We let the Spring IOC stuff give us the HibernateSpringConnector
for the database
* connection.
*/
public void setHibernateSpringConnector(HibernateSpringConnector h)
{
this.hsc = h;
}
public HibernateSpringConnector getHibernateSpringConnector()
{
return this.hsc;
}
public void init()
{
l = Logger.getLogger(LoggedInInterceptor.class.getName());
l.warn("Logger setup");
}
public void destroy()
{
l = null;
}
public String intercept(ActionInvocation ai) throws Exception
{
if(this.getSession() == null)
{
throw new Exception("Session is null");
}
if(this.getSession().get("username") != null)
{
String res = ai.invoke();
this.getHibernateSpringConnector().closeSession();
return res;
}
else
{
return "login";
}
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscr...@struts.apache.org
For additional commands, e-mail: user-h...@struts.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscr...@struts.apache.org
For additional commands, e-mail: user-h...@struts.apache.org