하나! Filter 인터페이스를 구현
둘! Life Cycle은 init(FilterConfig filterConfig), doFilter(), destroy()로 이루어진다.
FilterConfig는 지정한 필터의 초기화 파라미터를 읽어올 때 사용한다.
doFilter(ServletRequest request,ServletResponse response, FilterChain chain)
FilterChain은 체인에 있는 다음 필터에 변경한 요청과 응답을 건네줄 수 있다.
셋! 작성된 Filter를 사용하기 위해서는 <filter> & <filter-mapping>를 사용하여 Web.xml에 등록하여야 한다.
Web.xml |
<filter> <filter-name>jspFilter</filter-name> <filter-class>jsp.filter.JspFilter</filter-class> </filter> <!-- 언제 필터가 실행되는지 설정 --> <filter-mapping> <filter-name>jspFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> |
JspFilter.java |
package jsp.filter;
import java.io.IOException;
import javax.servlet.Filter; import javax.servlet.FilterChain; import javax.servlet.FilterConfig; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse;
public class JspFilter implements Filter{ private FilterConfig conf; public void init(FilterConfig config){ this.conf=config; } public void destroy(){} public void doFilter(ServletRequest request,ServletResponse response, FilterChain chain) throws ServletException, IOException{
//사전작업 System.out.println("사전작업"); long t1=System.currentTimeMillis(); chain.doFilter(request, response);//다음 일을 할 곳으로 수행이 넘어감 System.out.println("사후작업"); long t2=System.currentTimeMillis(); System.out.println("실행시 걸린 시간 : "+ (t2-t1)); //사후작업
} } |
이제 어떠한 웹페이지가 열리던지 아래와 같은 메시지가 시스템상에출력된다.
사전작업 사후작업 실행시 걸린 시간 : 923 |
이제 필터를 통해 웹페이지들의 출력언어 설정을 해보자.
Web.xml |
<filter> <filter-name>jspFilter</filter-name> <filter-class>jsp.filter.JspFilter</filter-class> <init-param> <param-name>endocing</param-name> <param-value>euc-kr</param-value> </init-param> </filter> <!-- 언제 필터가 실행되는지 설정 --> <filter-mapping> <filter-name>jspFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> |
JspFilter.java |
String encoding=conf.getInitParameter("encoding"); request.setCharacterEncoding(encoding); |
'Java' 카테고리의 다른 글
Spring_message Project (0) | 2010.06.16 |
---|---|
Spring 중간 점검 실습 (0) | 2010.06.15 |
Spring 초간단 실습 (0) | 2010.06.15 |
Struts 1 설치 및 간단한 실습 (0) | 2010.06.14 |
File Upload API (0) | 2010.06.13 |
Spring에서 자주 사용되어지는 API 묶음 (0) | 2010.06.13 |
간단한 Spring Project 실습하기 (0) | 2010.06.13 |
Spring 설치 및 이클립스와의 연동 (1) | 2010.06.13 |
Tomcat 설치 및 간단한 환경설정 (0) | 2010.04.22 |
0401 Report Source (0) | 2010.04.01 |