读取多次session,求解答
不知道是哪里有逻辑错误,我的代码:启动tomcat到登录页面的时候会读取好多次session,并且把我oracle数据库中的三条用户数据都保存到redis里面去了,求大神指点
为了找错误 我在控制台输出的一些信息如下:
RedisSessionDao的doCreate中输出create session
CustomSessionManager中输出很多。。看代码吧 @Override protected Session retrieveSession(SessionKey sessionKey) throws UnknownSessionException { Serializable sessionId = getSessionId(sessionKey); ServletRequest request = null; if (sessionKey instanceof WebSessionKey) { request = ((WebSessionKey) sessionKey).getServletRequest(); } //从request中取 if (request != null && sessionId != null) { System.out.println("从request中取Session"); Session session = (Session) request.getAttribute(sessionId.toString()); if (session != null) { return session; } } //request中取不到再到redis数据库中取 Session session = super.retrieveSession(sessionKey); System.out.println("从redis数据库中取出Session"); if (request != null && sessionId != null) { System.out.println("将从redis数据库中取出的Session保存到request中"); request.setAttribute(sessionId.toString(), session); } return session; }
数据库中的用户数据:
启动tomcat后redis中就有数据了,我猜是数据库中读取过去的
重点来了!结果。。输出了这么多,我完全乱了。。。
从redis数据库中取出Session
create session
从request中取Session
read session
从redis数据库中取出Session
将从redis数据库中取出的Session保存到request中
从request中取Session
read session
从redis数据库中取出Session
将从redis数据库中取出的Session保存到request中
从request中取Session
从request中取Session
从request中取Session
从request中取Session
从request中取Session
从request中取Session
从request中取Session
从request中取Session
从request中取Session
从request中取Session
从request中取Session
从redis数据库中取出Session
create session
从request中取Session
read session
从redis数据库中取出Session
将从redis数据库中取出的Session保存到request中
从request中取Session
read session
从redis数据库中取出Session
将从redis数据库中取出的Session保存到request中
从request中取Session
从request中取Session
从request中取Session
从request中取Session
从request中取Session
从request中取Session
从request中取Session
从request中取Session
从request中取Session
从request中取Session
从request中取Session
18-Jan-2019 01:19:19.838 信息 [http-nio-9090-exec-3] org.apache.tomcat.util.http.parser.Cookie.logInvalidHeader A cookie header was received [1547527730,1547532629,1547638884; JSESSIONID=83d3b4e6-313e-4f57-b345-2aae19e7eee6] that contained an invalid cookie. That cookie will be ignored.Note: further occurrences of this error will be logged at DEBUG level.
从request中取Session
read session
create session
从request中取Session
read session
从redis数据库中取出Session
将从redis数据库中取出的Session保存到request中
从request中取Session
read session
从redis数据库中取出Session
将从redis数据库中取出的Session保存到request中
从request中取Session
从request中取Session
从request中取Session
从request中取Session
从request中取Session
从request中取Session
从request中取Session
从request中取Session
从request中取Session
从request中取Session
从request中取Session