본문 바로가기

서블릿 필터4

도메인 이전시 기존 도메인의 모든 URL을 새 도메인으로 리다이렉트하기 Servlet 을 사용하는경우 도메인 이전시에 기존 도메인의 즐겨찾기 되어 있는것과 같은 어떤 URL에서 접근하더라도 새 도메인으로 리다이렉트하는 방법을 알아봅니다. 사이트 도메인이 변경되면 기존 도메인은 새로운 도메인으로 리다이렉트 되도록 하는게 일반적입니다. 이때 영구 이전을 나타래는 301 HTTP 응답코드를 사용하는게 좋습니다. 이때 보통은 index 페이지에만 리다이렉트 처리를해서 이전 도메인만으로 들어오면 리다이렉트 되지만 사이트내의 특정 페이지들을 즐겨찾기 해두고 사용하던 곳은 페이지를 찾지 못하는 상황이 됩니다. Servlet 을 사용하는 경우 Filter 를 사용하여 어떤 URL의 요청이 들어오더라도 새 도메인으로 리다이렉트 되도록 만들어 보겠습니다. 1. 요청을 특정 URL로 리다이렉트.. 2018. 4. 21.
실행 흐름에 끼어들기(Filter,Interceptor,AOP) 3 - AOP 실행 흐르에 끼어들기 마지막으로 AOP(Aspect Oriented Programming) 관점 지향 프로그래밍 입니다. 웹프로그램에서 하나의 요청의 실행 단계를 보면 공통적인 부분들이 존재합니다. 각 요청을 처리하는 비지니스 로직은 요청 마다 다르겠지만, 요청의 끝에서 작업 로그를 기록한다던지, 데이터베이스 트랜잭션을 요청의 앞에서 시작하고, 끝에서 커밋 또는 롤백을 한다던지 하는 코드 들이 있습니다. 이런 코드들은 모든 프로그램에 반복적으로 나타나게 됩니다. AOP 에서 이런 반복적으로 나오는 부분이 아래 이미지 에서 처럼 프로그램을 횡단하는 곳에 공통적인 코드가 나타난다고 해서 횡단적 관심사(Cross-cutting concern)라고 합니다. PGM1 PGM2 PGM3 +-----+ +-----+.. 2018. 4. 2.
실행 흐름에 끼어들기(Filter,Interceptor,AOP) 2 - Interceptor Java 웹프로그래밍에서 실행 흐를에 끼어들 수 있는 방법에 대해 알아보고 있습니다. 앞의 글에서 서블릿 필터에 대해 알아 봤습니다. 이번에는 스프링 프레임웍에서 사용할 수 있는 인터셉터에 대해서 알아보겠습니다. 필터와 인터셉터는 적용 시점이 다릅니다. 필터는 스프링 프레임웍과는 무관하게 지정된 자원에 대해 동작합니다. 스프링은 Dispatcher 서블릿으로 부터 시작됨으로 필터는 스프링 컨텍스트의 바깥에 존재 하게 됩니다. 인터셉터는 스프링의 Dispatcher 서블릿이 컨트롤러를 호출할 때 전, 후에 끼어듭니다. 그러므로 스프링 컨텍스트 내부에 존재하게 됩니다. 인터셉터는 여러개를 사용할 수 있으며, 실행 순서는 에 나오는 순서 입니다. 인터셉터를 주로 사용하는 곳은 로그인 체크, 권한 체크, 프로그.. 2018. 4. 2.
실행 흐름에 끼어들기(Filter,Interceptor,AOP) 1 - Servlet Filter Java 웹 프로그래밍에서 프로그램 흐름의 앞이나 뒤에 공통적인 처리를 추가할 수 있는 방법이 있습니다. 서블릿에서 지원하는 서블릿 필터와 스프링 프레임웍을 사용하면 쓸 수 있는 인터셉터, AOP 가 있습니다. 먼저 Servlet Filter에 대해 알아 봅니다. Servlet Filter 는 Servlet Specification 2.3 부터 지원합니다. 필터가 동작하도록 지정된 자원의 앞단에서 요청 내용을 변경하거나 여러가지 체크를 수행할 수 있습니다. 또한 자원의 처리가 끝난 후 응답 내용에 대해서도 변경하는 처리를 할 수 있습니다. 1. web.xml 에서 필터를 등록합니다. /WEB-INF/web.xml 파일 입니다. firstFilter com.tistory.pentode.filter.Firs.. 2018. 4. 2.