同一个java类:
public class LoginAction extends BaseAction implements HttpSessionListener{
private LoginService loginService;
setLoginService()...
getLoginService()...
public String execute() throws Exception{
usdo=loginService.checkUser().... 这个loginService有值能调用checkUser(),一切正常
}
public void sessionDestroyed(HttpSessionEvent event) {
loginService.updateIsFirstLogin()....这个loginService=null然后报空指针异常;
}
}
弄不清为啥会出现这种逻辑,哪出问题,望大家指点!!!
报错:
java.lang.NullPointerException
at fmss.action.LoginAction.sessionDestroyed(LoginAction.java:743)
at org.apache.catalina.session.StandardSession.expire(StandardSession.java:806)
at org.apache.catalina.session.StandardSession.isValid(StandardSession.java:656)
at org.apache.catalina.session.ManagerBase.processExpires(ManagerBase.java:532)
at org.apache.catalina.session.ManagerBase.backgroundProcess(ManagerBase.java:517)
at org.apache.catalina.core.ContainerBase.backgroundProcess(ContainerBase.java:1352)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1530)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1540)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1540)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1519)
at java.lang.Thread.run(Unknown Source)
这个既然第一个loginService已经能获得值了,也就是说Spring注入已经成功了吧!
但为什么sessionDestroyed里的方法会为空呢?