java web spring一直调用sessionCreated方法
原因:调用了request.getSession().isNew(),导致程序一直死循环崩溃。
解决,不再此位置调用这个函数。
public class MySessionListener implements HttpSessionListener, ServletRequestListener{
异常日志:
Session event listener threw exception
java.lang.StackOverflowError
java.lang.NullPointerException
at net.jeeshop.core.listener.MySessionListener.sessionCreated(MySessionListener.java:24)
at net.jeeshop.core.listener.MySessionListener.sessionCreated(MySessionListener.java:24)
at org.apache.catalina.session.StandardSession.tellNew(StandardSession.java:396)
at org.apache.catalina.session.StandardSession.setId(StandardSession.java:368)
at org.apache.catalina.session.StandardSession.setId(StandardSession.java:349)
at org.apache.catalina.session.ManagerBase.createSession(ManagerBase.java:665)
at org.apache.catalina.connector.Request.doGetSession(Request.java:2998)
at org.apache.catalina.connector.Request.getSession(Request.java:2350)
at net.jeeshop.core.listener.MySessionListener.sessionCreated(MySessionListener.java:24)
at org.apache.catalina.session.StandardSession.tellNew(StandardSession.java:396)
at org.apache.catalina.session.StandardSession.setId(StandardSession.java:368)
at org.apache.catalina.session.StandardSession.setId(StandardSession.java:349)
at org.apache.catalina.session.ManagerBase.createSession(ManagerBase.java:665)
at org.apache.catalina.connector.Request.doGetSession(Request.java:2998)
at org.apache.catalina.connector.Request.getSession(Request.java:2350)
本文探讨了一个Java Web应用中使用Spring框架时出现的Session监听器死循环问题。该问题源于在监听器中调用了request.getSession().isNew()方法,导致程序进入无限循环并最终崩溃。文中给出了具体的异常日志,并提供了简单的解决方案——移除该方法调用。
393

被折叠的 条评论
为什么被折叠?



