공부/그룹 스터디

[5회차 02] 로그아웃

junani0v0 2024. 5. 5. 22:20

로그 아웃

main.jsp

그리고 LoginController에서 setViewName을 main으로 하였으니 views폴더 안에 main.jsp를 생성해 줍니다

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%
session = request.getSession();
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<script type="text/javascript">
function doLogout() {
    window.location.href = '/05/logout.do';
}
</script>
</head>
<body>
    memberId = <%= session.getAttribute("memberId") %>

    <input type="button" value="logout" onClick="javascript:doLogout()"> 
</body>
</html>

그러고 위 코드처럼 로그인하면 memberId값이 나오게 해주고 로그인 버튼을 만들어줍니다
로그아웃을 누르면 logout.do로 갑니다
그러면 이제 LoginController에 logout.do를 만들러 가야겠죠?

LoginController

위에 말한 logout.do를 맵핑해주고 로그아웃을 했으면 세션값을 없애도록 추가해줍니다

@RequestMapping("/logout.do")
public ModelAndView logout(HttpServletRequest request) {
    ModelAndView mv = new ModelAndView();
    mv.setViewName("login");
    //세션 무효화
    request.getSession().invalidate();
    return mv;
}