Spring

[Spring] STS Filter 설정

안녕고래 2023. 10. 9. 20:36

톰캣을 구동하면 한글이 깨진것을 알 수 있다.

web.xml 에 아래 추가 한다.

	<!-- spring 한글처리 필터 적용 -->
	<filter>
		<filter-name>encodingFilter</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>
		<init-param>
			<param-name>forceEncoding</param-name>
			<param-value>true</param-value>
		</init-param>
	</filter>
	<filter-mapping>
		<filter-name>encodingFilter</filter-name>
		<url-pattern>/*</url-pattern>
	</filter-mapping>

url-pattern 에 /* 이므로 모든 요청에 대해서 처리한다.(이미지 등 요청도 포함)

 

이제 한글이 잘 나온다.

간단하게 filter에 대해서 정리

 

적용시점 : Spring Context 외부

적용 방식 : Web Application(web.xml)

역할 : 인코딩, 보안 등 전역적인 처리

 

  • Dispatcher Servlet 전/후 ServletRequest/ServletResponse 객체 변경 및 조작 수행 가능
  • WAS 내의 ApplicationContext에서 등록된 필터가 실행
  • WAS 구동 시 FilterMap이라는 배열에 등록되고, 실행 시 Filter chain을 구성하여 순차적으로 실행
  • Spring Context 외부에 존재하여 Spring과 무관한 자원에 대해 동작 

 

 

init(): 필터 인스턴스 초기화
doFilter(): 전/후 처리
destroy(): 필터 인스턴스 종료

 

public interface Filter {
	public void init(FilterConfig filterConfig) throws ServletException;
    public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException;
    public void destroy();
}

 

 

 

 

[참조]

https://velog.io/@_koiil/Filter-Interceptor-AOP