Spring Boot : Interceptor 에서 forward 처리하기
in Java on Java, Spring Boot
Spring Boot / Thymeleaf 로 개발하고 있는데 Interceptor 에서 늘 하던 방식으로
request.getRequestDispatcher("xxxx").forward(request, response);
요렇게 forward 를 할려니까 잘 안 돼서 이것저것 찾아보았다. 쫌 꾸질꾸질 한 것 같기도 하지만 처음 보던 방식이라 한번 정리해 보았다.
소스
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.stereotype.Component;
import org.springframework.web.servlet.HandlerInterceptor;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.ModelAndViewDefiningException;
@Component
public class AuthCheckInterceptor implements HandlerInterceptor {
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)
throws ModelAndViewDefiningException {
if (request.getSession().getAttribute("login_user") == null) {
ModelAndView mav = new ModelAndView("user/login");
mav.addObject("message", "추가 에트리뷰트");
throw new ModelAndViewDefiningException(mav);
}
return true;
}
}