JavaWeb之Filter简介

Filter:

  • 作用:用于对用户请求(request)进行预处理(到达Servlet前),也可以对响应(response)进行后处理(到达客户端前)

    JavaWeb之Filter简介_第1张图片
  • 种类:

    用户授权的FIlter:检查用户请求,过滤非法请求

    日志Filter:记录用户请求

    负责解码的Filter:包括对非标准编码的请求解码

    ...

  • 步骤:

    1. 创建Filter类(实现Filter接口,实现Filter三个方法:init、destory、doFilter)

    2. @WebFIlter配置或web.xml文件中配置:指定过滤的URI、配置参数等

  • 例子:

    1. 日志Filter:过滤并记录请求

      JavaWeb之Filter简介_第2张图片
    2. Filter设置request编码字符集,避免每个JSP、Servlet都要设置,并且验证用户是否登录,若未登录则直接跳转到登录页面login.jsp

      JavaWeb之Filter简介_第3张图片

      ps:此处采用session记录登录信息,当登录成功后在session设置user属性的值,否则session的user属性为空,此时请求别的页面时都会被forward到登录页面

    3. Filter实现页面伪静态:用户访问xxx.html时,使用Filter拦截用户请求,然后将请求forward到实际的xxx.jsp页面,从而实现表面上访问静态html,实际上访问的是动态的jsp

你可能感兴趣的:(JavaWeb之Filter简介)