본문 바로가기
✨ Back-end/Spring-Legacy

[Spring-Legacy] XML로 Interceptor 인터셉터 사용하기

by 환풍 2023. 9. 14.
728x90

 

interseptor.jsp

로그인 버튼을 누르면, 컨트롤러에 있는 loginInterChk로 이동할 것이다.

 

컨트롤러

컨트롤러로 오게되면 콘솔창에 loginInterProcess Controller 를 출력하고, 페이지 이동을 한다.

 

인터셉터 컨트롤러

컴포넌트의 value를 inter로 지정해주고, 이를 다른곳에서 참조하게 되면 인터셉터가 실행되는 것이다.

servlet-context.xml

1. xml에서 인터셉터를 등록해주고,

2. mapping 시키는 곳에 path를 적용시킬 컨트롤러 주소,

3. bean을 인터셉터 value 값을 대입.

 

해당 페이지에서 LOGIN을 눌르면, 콘솔창에 preHandle, postHandle, afterCompletion 모두 나오는 걸 볼 수 있다.


인터셉터 컨트롤러

id가 Admin이면 false를 반환하여 컨트롤러, postHandle, afterCompletion을 타지 않는다.

 

이렇게 되면 컨트롤러까지 타지 않고, 인터셉터에서 preHandle만 실행되고 종료되는 것이다.

 

또한 postHandle에서 BLUE와 1234로 입력해야 로그인이 후 페이지 이동하는 것을 지정해줄 수 있다.

만약 하나라도 다른 값을 입력하면, 페이지가 리다이렉트 즉, 현재 페이지가 새로고침되게 막아줄 수 있다.

반응형

댓글