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();
}
[참조]