截取浏览器的请求(发布/获取)

时间:2014-04-13 19:33:16

标签: java tomcat

我正在寻找一种编写程序的方法,它应该拦截所有浏览器的帖子并获取请求。 该程序应过滤这些请求并搜索一些资源。我想跟踪对这些资源的访问。 它应该是一种父母控制。 我有:

  • apache tomcad;
  • 的java。

P.S。对不起我的英语,我知道这不完美=)

感谢。

备注:该程序应该是桌面苹果化。

1 个答案:

答案 0 :(得分:1)

尝试使用Filter。这里有一个关于它的简短描述。

  

过滤器是对资源请求(servlet或静态内容)或资源响应(或两者)执行过滤任务的对象。

已为此设计确定的示例包括:

  • 身份验证过滤器
  • 记录和审核过滤器
  • 图片转换过滤器
  • 数据压缩过滤器
  • 加密过滤器
  • 令牌过滤器
  • 触发资源访问事件的过滤器
  • XSL / T过滤器
  • Mime型链滤器

示例代码:

的web.xml:

<filter>
    <filter-name>MyFilter</filter-name>
    <filter-class>com.x.y.z.servlet.MyFilter</filter-class>
</filter>

<filter-mapping>
    <filter-name>MyFilter</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>

MyFilter.java:

public class MyFilter implements Filter {


    @Override
    public void init(FilterConfig filterConfig) throws ServletException {

        // read init-parameter from web.xml
    }


    @Override
    public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse,
            FilterChain filterChain) throws ServletException, IOException {
        HttpServletRequest httpServletRequest = (HttpServletRequest) servletRequest;
        String uri = httpServletRequest.getRequestURI();


        // do what you want to do based on uri

        // call below method to propagate it to next servet/jsp/filter in the chain
        // filterChain.doFilter(servletRequest, servletResponse);

    }    

    @Override
    public void destroy() {

    }
}