springframework 예제를 쳐보던 중에 언제나 web.xml에 쳐오던 CharacterEncodingFilter에 대해 더 알게 됬다..
내가 보아왔던 그녀석인데, 뜯어보면 경로매핑과 파라미터 설정이 되어있다.
<filter>
<filter-name>encodingFilter</filter-name>
<filter-class>chap19.Util.CharaterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>encodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
public class CharaterEncodingFilter implements Filter {
private String encoding;
public CharaterEncodingFilter() {
// TODO Auto-generated constructor stub
}
public void destroy() {
// TODO Auto-generated method stub
}
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
request.setCharacterEncoding("utf-8");
// pass the request along the filter chain
chain.doFilter(request, response);
}
public void init(FilterConfig fConfig) throws ServletException {
encoding = fConfig.getInitParameter("encoding");
if(encoding == null) {
encoding ="UTF-8";
}
}
}
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
의 <init-param> 이란, fConfig(FilterConfiguration)에 정의해놓은 Parameter로 encoding= UTF-8 을 주겠다는 것 같다.
그렇기에 필터구현은 getInitParameter로 가져오게 되어 encoding변수에 대입시켜 언제나 같은 요청에 setCharacterEncoding을 가지게 해준다.
'JSP & Servlet' 카테고리의 다른 글
태그파일을 이용한 커스텀태그 구현 (0) | 2020.07.20 |
---|---|
ContextListener (0) | 2020.07.17 |
Servlet 수행 후 Filter를 거쳐서 응답보내기 (0) | 2020.07.17 |
Filter 에서 요청, 응답 값 조작하기. Wrapper 클래스 (0) | 2020.07.17 |
Filter.1 (0) | 2020.07.17 |