새소식

반응형
Java/Spring

Spring Filter

  • -
반응형

Spring Filter란

HTTP 요청과 응답을 변경할 수 잇는 재사용 가능한 코드이다.

요청과 응답에 대해서 최초/최종 단계의 위치에 존재하며 이를 통하여 요청, 응답의 데이터를 변경하거나,

Spring에 의해서 데이터가 변환되기 전 순수한 요청 데이터를 확인할 수 있다.

 

아래의 이미지를 보면 클라이언트의 모든 요청을 처리하는 DispatcherServlet으로 가기 전 Filter가 적용된다.

 

* 이미지 참조 : http://wiki.simuruk.com/index.php/spring_%EA%B5%AC%EC%A1%B0_%EC%84%A4%EB%AA%85

 

CharacterEncodingFilter

스프링 웹 요청과 응답에 대한 인코딩 처리 필터

CharacterEncodingFilter 클래스는 Servlet 표준 스팩인 javax.servlet.Filter 인터페이스를 구현한 클래스이기 때문에

기존의 Servlet, JSP에서 사용하던 필터와 똑같이 사용 가능하다.

 

web.xml에 필터를 설정할 경우 아래와 같은 코드로 적용시킨다.

<filter></filter> 태그 안에 필터 Class에 CharacterEncodingFilter 설정한다.

그리고 설정한 <filter></filter> 태그를 어느 요청경로에 대해 필터를 적용할것인지 범위설정을 한다.

<filter>
    <filter-name>encoding</filter-name>
    <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
    <init-param>
        <param-name>encoding</param-name>
        <param-value>UTF-8</param-value>
    </init-param>
</filter>
<filter-mapping>
    <filter-name>encoding</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>

 

 

HttpsFilter

http와 https 통신때 세션이 끊기지 않도록 하기 위해 세션을 복사해두는 필터

 

<filter>
    <filter-name>https</filter-name>
    <filter-class>HttpsFilter 패키지 경로.클래스명</filter-class>
</filter>
<filter-mapping>
    <filter-name>https</filter-name>
    <url-pattern>*.do</url-pattern>
</filter-mapping>

 

springSecurityFilterChain

SpringSecurity 설정을 위해 사용하는 필터

Spring Security는 Spring 기반의 어플리케이션 보안(인증과 권한, 인가 등)을 담당하는 스프링 하위 프레임워크이다.

 

<filter>
    <filter-name>springSecurityFilterChain</filter-name>
    <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
</filter>
<filter-mapping>
    <filter-name>springSecurityFilterChain</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>

 

반응형

'Java > Spring' 카테고리의 다른 글

Dynamic Web Project - Tiles Template 추가  (0) 2022.04.27
View Resolver(뷰 리졸버)  (0) 2022.04.27
Dynamic Web Project 만들기 1 - 프로젝트 생성  (0) 2022.04.26
메이븐(Maven)과 그래들(Gradle)  (0) 2022.04.25
Thymeleaf 와 JSP  (0) 2022.04.08
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.