카테고리 없음
<%@ page session="false" %> 남발 하면 안된다.
푸곰주
2022. 11. 7. 18:21
에러 있는 부분을 지우고 실행하여 로그인을 시도해봤는데 내용이 바뀌지 않았다는건, 말그대로 로그인이 되지 않았을 확률이 높은것 같습니다. 이것도 위처럼 매개변수 중 null이 있기 때문인것 같습니다.
만약 jsp파일의 최상단에 <%@ page session="false" %>가 있다면 지워주세요.
//로그인 post
@RequestMapping(value = "/signin", method = RequestMethod.POST)
public String postSignin(MemberVO vo, HttpServletRequest req, RedirectAttributes rttr) throws Exception {
logger.info("post signin");
MemberVO login = service.signin(vo);
HttpSession session = req.getSession();
boolean passMatch = passEncoder.matches(vo.getUserPass(), login.getUserPass());
if (login != null && passMatch) {
session.setAttribute("member", login);
} else {
session.setAttribute("member", null);
rttr.addFlashAttribute("msg", false);
return "redirect:/member/signin";
}
return "redirect:/";
}
로그인 성공했을때 session객체에 member 을 key로 해서 view에다가 값을 넘겨주는데
<c:if test="${member == null}">
<li> <a href="/member/signin">로그인</a></li>
<li><a href="/member/signup">회원가입</a></li>
</c:if>
<c:if test="${member != null}">
<li>
${member.userName} 님 환영합니다.
</li>
<li>
<a href="/member/signout">로그아웃</a>
</li>
</c:if>
<%@ page session="false" %>
가 되어있으면 null이 되어버림
로그인효과가없어짐
정확히 어느때에 쓸지 알아둘것.