일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Resources
- 에디터
- 자바
- Selector
- JavaScript
- 회원가입
- CSS
- 청주
- 아이콘
- 영성
- androidstudio
- 글쓰기
- 인텐트
- 웹개발
- Android
- TinyMCE
- java 8
- 프로그래밍
- 제이쿼리
- #청주주님의교회
- 게시판
- 안드로이드
- 생명주기
- jQuery
- Spring
- Java
- Activity
- 안드로이드 AVD
- 주님의교회
- Intent
- Today
- Total
공부하는 블로그
Spring Interceptor(인터셉터) 본문
사용목적
1. 요청 경로마다 접근 제어를 다르게 해야 할 때 사용한다.
2. 특정 URL을 요청할 때마다 접근 내역을 기록하고 싶을 때 사용한다.
3. 로그인 체크를 해야할 때 사용한다.
boolean preHandle(HttpServletRequest request, HttpServletResponse reponse, Object handler) throws Exception;
2. 컨트롤러(핸들러) 실행 직후
void postHandle(HttpServletRequest request, HttpServletResponse reponse, Object handler, ModelAndView modelAndView) throws Exception;
3. 뷰를 실행한 이후(응답 직전)
void afterCompletion(HttpServletRequest request, HttpServletResponse reponse, Object handler, Exception ex) throws Exception;
곳에서 주로 사용함
예를 들어 게시판의 글쓰기 화면을 이동후, 한참동안 아무런 동작은 안하게 되면 세션이 제거되어 보통 기록해야 할 아이디 또는 이름같은 세션에 들어가있는 정보들이 증발하게된다.
이럴경우 글쓰기를 하게 되면 테이블에는 일반 데이터들은 들어가있거나 혹은 아이디/이름 컬럼을 not null로 생성하였다면 오류발생이 일어날것이다.
가끔 세션이 증발하여 null값이 아닌 공백이 들어갈경우도 있어서 문제가 발생한다.
이럴때는 세션체크를 한 후 세션이 제거된 상태일경우에는 게시물을 등록할 수 없게 해야 한다.
또는 마이페이지의 메뉴 혹은 브라우저에 남아있는 url로 접근을 할 경우에도 세션이 존재하지
않으면 페이지 접근을 막아야 한다.
src/main/java 밑에 common.interceptors 폴더를 생성한다.
LoginCheckInterceptor.java 파일 생성
isLogin 값이 거짓일결우 /user/login 으로
??
applicationContext에 등록
1. 동적자원의 사용
2. 로그인체크
'Develop > Spring' 카테고리의 다른 글
Spring 파일업로드 (0) | 2017.09.14 |
---|---|
Spring error-page (0) | 2017.09.14 |
Static File (CSS,JS,IMG) 설정 (0) | 2017.09.13 |
SLF4J와 Logback을 이용한 로그 남기기 (0) | 2017.09.13 |
Spring 기본 설정 정리 (0) | 2017.09.06 |