为了账号安全,请及时绑定邮箱和手机立即绑定

获取到的sessionId 和request 为 null

protected Session retrieveSession(SessionKey sessionKey) throws UnknownSessionException {
        Serializable sessionId = getSessionId(sessionKey);
        if(sessionId == null) {
            System.out.println("sessionId 为 null ");
        }
        ServletRequest request = null;
        if(sessionKey instanceof WebSessionKey) {
            
            request = ((WebSessionKey) sessionKey).getServletRequest();
        }
        
        if(request == null) {
            System.out.println("request 为 null");
        }

        if(request != null && sessionId != null) {
            Session session = (Session)request.getAttribute(sessionId.toString());
            if(session != null) {//在request中取
                System.out.println("从request中取...");
                return session;
            }
        }
        
        Session session = super.retrieveSession(sessionKey);//从redis中取
        if(request != null && sessionId != null) 
            request.setAttribute(sessionId.toString(), session);
        
        return session;
    }

因为sessionId 和request 为 null ,所以也就用不了request 去存取 session 。不知道什么原因?有人帮忙解决一下吗?

正在回答

1 回答

苦了我一天,找到问题所在了!!

public class CustomSessionManager extends DefaultWebSessionManager

自定义的 CustomSessionManager 要继承 DefaultWebSessionManager ,而不是 DefaultSessionManager ,难怪获得的 sessionId 和 request 为 null,给后来者一个告诫,不要像我一样了。

4 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

获取到的sessionId 和request 为 null

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信