
1. 새로운 interceptor 클래스 하나 생성해서 상속받기

2. 컨트롤누르고 핸들러 누르면 해당 클래스로 이동을 하는데, preHandle과 postHandle을 가져와서 재정의 할것이다.
public void saveUrl(HttpServletRequest request) {
String uri = request.getRequestURI(); // 전체경로 주소
String param = request.getQueryString(); // 파라미터를 가져온다.
if(param == null || param.equals("null") || param.equals("")) {
param = "";
}else {
param = "?" +param;
}
// 이동할 페이지
String locationUrl = uri+param;
HttpSession session = request.getSession();
if(request.getMethod().equals("GET")) { // 대문자 GET
session.setAttribute("saveUrl",locationUrl);
}
}
3. AuthInterceptor클래스 맨 밑에다가 새로운 메소드 생성.
사용자가 특정 페이지를 방문할 때 그 페이지의 URL을 세션에 저장하는 기능을 구현한다.
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)
throws Exception {
// 가상경로에 해당 메소드 접근 전에 가로채기
HttpSession session = request.getSession();
if(session.getAttribute("midx") == null) {
//로그인이 안되어있으면 이동하려고 하는 주소를 보관하고
//로그인 페이지로 보낸다.
saveUrl(request); // 이동할 경로를 저장한다.
response.sendRedirect(request.getContextPath()+"/member/memberLogin.aws");
return false;
}else {
return true;
}
4. preHandle구문 완성
