2015년 9월 29일 화요일

서블릿 필터 어노테이션(Servlet Filter Annotation) 사용법,WebFilter,WebInitParam

서블릿 필터 어노테이션(Servlet Filter Annotation) 사용법,WebFilter,WebInitParam

서블릿 필터는 사용자의 요청을 JSP, Servlet등이 실행되기 전, 후에 가로챌 수 있는 기능이죠,
아래 예제를 참고하세요.
import javax.servlet.Filter;
import javax.servlet.annotation.WebFilter;
import javax.servlet.annotation.WebInitParam;

@WebFilter(filterName = "onjFilter",
urlPatterns = {"/*"},
initParams = {
    @WebInitParam(name = "addr", value = "seoul")})
public class OnjFilter implements Filter {
    public void init(FilterConfig config) throws ServletException 
    {
         this.fc = config;
    }
    public void doFilter(ServletRequest req, 
                          ServletResponse res, 
                 FilterChain chain) throws ServletException, IOException {
               HttpServletRequest httpReq = (HttpServletRequest) req;
               String ip = httpReq.getRemoteHost();
               System.out.println("IP Address is " + ip);
               chain.doFilter(req, res);
    }
     public void destroy() {// TODO Auto-generated method stub}
}


물론 위 처럼 어노테이션을 사용하지 않고 web.xml에서 아래와 같이 설정을 해도 가능하다.
<filter>
   <filter-name>onjFilter</filter-name>
   <filter-class>filter.OnjFilter</filter-class>
</filter>
<filter-mapping>
   <filter-name>onjFilter</filter-name>
   <url-pattern>*.jsp</url-pattern>
</filter-mapping> 

댓글 없음:

댓글 쓰기