일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 주식 청약 일정
- java
- 맥
- 주식
- 주식 청약
- Stock
- MYSQL
- 공모주 청약
- php
- linux
- 오라클
- Eclipse
- 공모주
- 6월 공모주 청약 일정
- 공모주 청약 일정
- Stock ipo
- 제이쿼리
- SQL
- Oracle
- 코드이그나이터
- JavaScript
- css
- html
- 7월 공모주 청약 일정
- 자바스크립트
- IPO
- 자바
- codeigniter
- jquery
- 리눅스
- Today
- Total
개발자의 끄적끄적
[java] 전자정부 프레임워크 Interceptor[인터셉터] 설정 하기 [펌] 본문
[java] 전자정부 프레임워크 Interceptor[인터셉터] 설정 하기 [펌]
웹개발을 하다보면 많은 페이지마다 반복되어야 하는 것들이 있다
예를들어 페이지를 이동할때마다 권한 검사를 한다던가 로그를 기록해야 한다던가 하는 것들
또한 URL을 요청해 컨트롤러가 구동되기 전 혹은 구동된 후에 실행시키고 싶은 것들도 있다
그런 인터셉터 기능을 설정하는 방법을 알아 보자
1. dispatcher-servlet.xml 설정
1 2 3 4 5 6 7 |
<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping"> <property name="interceptors"> <list> <ref bean="localeChangeInterceptor" /> </list> </property> </bean> |
cs |
이렇게 생겨먹은 부분이 있는데 이 List 사이에
<ref bean="localeChangeInterceptor" /> 얘는 건들이지 말고 그 밑에
<ref bean="id값" />을 넣어 준다
그리고 아래와 같은 코드를 추가 시켜 준다
1 2 3 4 5 6 7 8 |
<bean id="위에 추가한 id값" class="인터셉터 기능을 수행할 패키지경로.클래스명"> <!-- 인증 체크가 필요 없는 URL 리스트 --> <property name="urls"> <list> 제외시킬 url 목록 </list> </property> </bean> |
cs |
다음은 실행시킬 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 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 |
package 패키지 경로;
import java.util.List;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse;
import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;
/** * @패키지명 : 블로그용 * @파일명 : PlatformInterceptor.java * @작성일 : 2016. 5. 23. * @작성자 : "In Chee su" * @설명 : 인터셉트 */ public class 클래스명 extends HandlerInterceptorAdapter {
// 인증 체크가 필요 없는 URL 리스트
List<String> urls;
public void setUrls(List urls) { this.urls = urls; }
/* (non-Javadoc) * @see org.springframework.web.servlet.handler.HandlerInterceptorAdapter#preHandle(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, java.lang.Object) */ @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { // 기능을 수행하고 Controller를 실행 하려면
// return true;
// 특정 체크에서 일치하지 않는다면
// response.sendRedirect("특정 에러 페이지로 보낸다");
// return false;
// 인증 체크가 필요 없는 URL 체크
for(int i=0; i < urls.size(); i++){
if (request.getRequestURI().matches(urls.get(i))) { System.out.println("== 인증 체크가 필요 없는 URL ============================"); System.out.println("== URL : "+ urls.get(i) +" ============================"); System.out.println("== return true ============================"); System.out.println("== 인터셉터 종료 ============================"); return true; }
// 첫페이지가 로그인 페이지일 경우
// 첫페이지 jsession때문에 request.getRequestURI().indexOf("/login/login.do") != -1 사용
if(request.getRequestURI().indexOf(urls.get(i)) != -1){
return true;
}
}
// 세션이 있는지 체크
// 세션에 로그인한 정보가 있는지 체크
return true; }
}
|
cs |
치는 개발자의 야매 가이드]
출처: https://yamea-guide.tistory.com/entry/전자정부-프레임워크-Interceptor인터셉터-설정-하기 [기타치는 개발자의 야매 가이드]
'개발 > java & jsp' 카테고리의 다른 글
[java] Map 반복(Iteration)시키는 3가지 방법 [펌] (0) | 2020.04.10 |
---|---|
[Spring, Log] 로그가 안보일때, 쿼리가 안나타날때 로그 출력하는 방법[펌] (0) | 2020.04.09 |
[java] 전자정부프레임워크 validation 사용법 (0) | 2020.04.08 |
[SPRING] log4j2.xml 설정 (feat. level) (0) | 2020.04.08 |
[JSTL] 현재 날짜, 날짜 계산 (0) | 2020.04.08 |