login_success_area
인 div태그 안에 아래의 a태그를 추가한다. url경로는 /member/logout.do
로 했다. 아직 서버에 해당 url 메서드를 작성하지 않았기 때문에 동작은 하지 않는다.<!-- 로그인 상태 -->
<c:if test="${member != null }">
<div class="login_success_area">
<span>회원 : ${member.memberName }</span>
<span>충전금액 : <fmt:formatNumber value="${member.money }" pattern="\#,###.##"/></span>
<span>포인트 : <fmt:formatNumber value="${member.point }" pattern="#,###"/></span>
<a href="/member/logout.do">로그아웃</a>
</div>
</c:if>
.login_success_area>a{
font-size: 15px;
font-weight: 900;
display: inline-block;
margin-top: 5px;
background: #e1e5e8;
width: 82px;
height: 22px;
line-height: 22px;
border-radius: 25px;
color: #606267;
}
MemberController.java
HttpServletRequest
타입의 매개변수를 작성하였다. /* 메인페이지 로그아웃 */
@RequestMapping(value="logout.do", method = RequestMethod.GET)
public String logoutMainGET(HttpServletRequest request) throws Exception {
}
/* 메인페이지 로그아웃 */
@RequestMapping(value="logout.do", method = RequestMethod.GET)
public String logoutMainGET(HttpServletRequest request) throws Exception {
logger.info("logoutMainGET 메서드 진입");
HttpSession session = request.getSession();
}
invalidate()
메서드의 경우 세션 전체를 무효화하는 메서드이다. removeAttribute()
의 경우 특정 이름으로 네이밍 한 session 객체를 타겟팅하여 삭제하는 메서드이다.invalidate()
메서드를 사용했다. 아래와 같이 session을 제거하는 코드와 메서드 실행 후 main페이지로 이동할 수 있도록 return문을 작성하였다. /* 메인페이지 로그아웃 */
@RequestMapping(value="logout.do", method = RequestMethod.GET)
public String logoutMainGET(HttpServletRequest request) throws Exception {
logger.info("logoutMainGET 메서드 진입");
HttpSession session = request.getSession();
session.invalidate();
return "redirect:/main";
}