728x90
interceptor

package com.demo.interceptor;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.web.servlet.HandlerInterceptor;
import com.demo.domain.LoginUser;
import com.demo.service.MenuService;
public class MenuInterceptor implements HandlerInterceptor{
//@AutoWired ๋ ํ๋ ์ฃผ์
๋ฐฉ๋ฒ์
private MenuService menuService;
@Resource(name = "sessionUser")
private LoginUser sessionUser;
// ์ข ๋ ๊ถ์ฅํ๋ ๋ฐฉ๋ฒ์ด๊ธดํจ
//์์ฑ์ ์ฃผ์
() ์๋ฌด๊ฒ๋ ์์ ์ด๋ ์คํ๋ง ํ๋ ์ ์ํฌ์์ ์๋์ผ๋ก ์
๋ ฅ๋จ
public MenuInterceptor(MenuService menuService) {
this.menuService = menuService;
}
//prehandle override
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)
throws Exception {
// ์ธํฐ์
ํฐ๋ ์์ฒญ์ ๋จผ์ ์คํ๋์ด ์์
์ ํ๊ณ ๋ง์ฝ ๋ฆฌํด์ด false๊ฐ ๋๋ฉด ์์ฒญ์ ์ทจ์ํ๋ค.
request.setAttribute("topMenuList", menuService.getMenuList());//๋ฉ๋ด๋ฆฌ์คํธ๋ฅผ topmenulist์ ๋ด์์ค
request.setAttribute("sessionUser", sessionUser);
return true;
}
}
menu.jsp
<ul class="navbar-nav ml-auto">
<c:choose>
<c:when test="${sessionUser.userlogin ==true}">
<li class="nav-item"><a href="${root}/user/modify"
class="nav-link">์ ๋ณด์์ </a></li>
<li class="nav-item"><a href="${root}/user/logout"
class="nav-link">๋ก๊ทธ์์</a></li>
</c:when>
<c:otherwise>
<li class="nav-item"><a href="${root}/user/login"
class="nav-link">๋ก๊ทธ์ธ</a></li>
<li class="nav-item"><a href="${root}/user/join"
class="nav-link">ํ์๊ฐ์
</a></li>
</c:otherwise>
</c:choose>
</ul>
ํ ์คํธ
๋ก๊ทธ์ธ ํ๋ฉด ์ ๋ณด์์ , ๋ก๊ทธ์์๋ง ๋ณด์

๋ก๊ทธ์์
@GetMapping("/logout")
public String logout() {
sessionUser.setUserlogin(false);
return "user/logout";
}
์ธ์ ์ ๋ก๊ทธ์ธ์ด ๋์ด์์ผ๋ฉด true์ธ๋ฐ,
๋ก๊ทธ์์ ์ false๋ก ๋ณ๊ฒฝ
728x90