티스토리 뷰



인터셉터는 주로 컨트롤러 이벤트 호출전에 가로채서 어떠한 처리를 해주기 위해 사용되는 기능


세션체크가 필요한 페이지는 XML 설정에 의해 정의해줌으로써 

각 jsp 페이지마다 로그인 체크(세션 체크) 해주는 코드를 모두 작성해줄 필요가 없습니다.




LoginCheckInterceptor.java


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
package controller;
 
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
 
import org.springframework.stereotype.Component;
import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;
 
@Component
public class LoginCheckInterceptor extends HandlerInterceptorAdapter {
 
    @Override
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)
            throws Exception {
        // TODO Auto-generated method stub
        // return super.preHandle(request, response, handler);
        
        HttpSession session = request.getSession();
        String userid = (String) session.getAttribute("userid");
        if(userid == null){
            response.sendRedirect("loginForm.do");
            return false;
        }
        return true;
    }
 
}
 
cs


dispatcher-servlet.xml


1
2
3
4
5
6
7
8
    <mvc:interceptors>
        <mvc:interceptor>
            <mvc:mapping path="/main.do" />
            <mvc:mapping path="/memberUpdateForm.do"/>
            <ref bean="loginCheckInterceptor"/>
        </mvc:interceptor>
    </mvc:interceptors>
 
cs


반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함