讀取多次session,求解答
不知道是哪里有邏輯錯誤,我的代碼:啟動tomcat到登錄頁面的時候會讀取好多次session,并且把我oracle數據庫中的三條用戶數據都保存到redis里面去了,求大神指點
為了找錯誤 我在控制臺輸出的一些信息如下:
RedisSessionDao的doCreate中輸出create?session
CustomSessionManager中輸出很多。??创a吧 @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