Servlet 过滤器应用实例三 记录客户端主机信息的Filter

来源:互联网 发布:中央网络电视台手机版 编辑:程序博客网 时间:2024/05/18 03:39
/** *  该实例演示记录客户端主机信息的Filter *  www.javatx.cn */package cn.javatx;import java.io.IOException;import javax.servlet.Filter;import javax.servlet.FilterChain;import javax.servlet.FilterConfig;import javax.servlet.ServletContext;import javax.servlet.ServletException;import javax.servlet.ServletRequest;import javax.servlet.ServletResponse;import javax.servlet.http.HttpServletRequest;/** * @author  * */public class logFilter implements Filter {private ServletContext context;/* (non-Javadoc) * @see javax.servlet.Filter#init(javax.servlet.FilterConfig) */public void init(FilterConfig arg0) throws ServletException {// TODO Auto-generated method stubcontext = arg0.getServletContext();}/* (non-Javadoc) * @see javax.servlet.Filter#doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain) */public void doFilter(ServletRequest arg0, ServletResponse arg1,FilterChain arg2) throws IOException, ServletException {// TODO Auto-generated method stubcontext.log("[" + arg0.getRemoteHost() + "] request: " +((HttpServletRequest)arg0).getRequestURI());arg2.doFilter(arg0, arg1);context.log("[" + arg0.getRemoteHost() + "] done");}/* (non-Javadoc) * @see javax.servlet.Filter#destroy() */public void destroy() {// TODO Auto-generated method stubcontext = null;}}

可以在tomcat  目录的log目录下的localhost.2006-01-02.log看到以下消息:

2006-1-2  16:25:51  org.apache.catalina.core.ApplicationContext  log
信息:  [127.0.0.1]  request:  /Filter/
2006-1-2  16:25:51  org.apache.catalina.core.ApplicationContext  log
信息:  [127.0.0.1]  done

这表明logFilter已经被server调用成功.
原创粉丝点击