백그라운드 세션 Id에서 항상 변경되는 문제 해결
3643 단어 백엔드
문제.
**: 전면 및 후면 프로젝트를 할 때 사용자가 로그인한 후 Session에 사용자 관련 정보를 저장합니다. 그러나 로그인이 완료된 후 프런트에서 다른 인터페이스를 방문했을 때 Session에 저장된 값을 얻지 못했습니다.
**
솔루션
**: 이전 코드에서 Session의 값을 가져온 코드
String userId = (String)request.getSession().getAttribute("userId");
문제는 바로 이 Request에서 나온다.getSession (), 이 방법은 매번 새로운 Session을 new에 표시하기 때문에 Session Id가 매번 바뀌어 Session에 저장된 값을 찾을 수 없습니다.
수정된 코드:
//
request.getSession().setAttribute("userId","xxxx");
//
HttpSession session = request.getSession(false);
if(null != session){
String userId = (String)session.getAttribute("userId");
}
//
WebUtils.setSessionAttribute(request, "userId", "xxxx");
//
String userId = (String)WebUtils.getSessionAttribute(request, "userId");