javaWeb-过滤器

过滤器讲解:

全称:Servlet过滤器   Servlet就是Servlet    Servlet过滤器就是Servlet过滤器

 翻译:Filter

功能:

客户端发请求给服务端。 服务端回响应给客户端   进行代码的处理。

用处: 最常见的编码过滤器   登录校验过滤器   等等

如何实现:一般放在filter包下

如何创建一个Filter

  1. 创建一个类
  2. 实现Filter接口 注意是Servlet下的Filter接口
  3. 重写该接口下的所有方法分别是init(初始化) destory(消亡)  doFilter(过滤的相关代码)
  4. 添加注解 @WebFilter("/Xxx")   Xxx表示我要过滤哪些请求或响应  一般来说都写/*  表示过滤所有请求
  5. 写相关代码。
  6. 根据条件进行放行。通过方法内部提供的参数:filterChain 进行放行

客串知识点:

过滤器又称拦截器   如果过滤器中没有写  “放行”  相关代码  项目将显示一个空白页面。

所以正确的写法:  如果过滤成功就放行。  如果过滤失败就跳转到指定页面

客串知识点2:

一个项目中可以存在多个过滤器   那么就存在一个过滤器的优先级问题

优先级的原则 也很简单:根据类名的首字母

客串知识点3:

过滤器内部提供的request和response 是ServletRequest   ServletResponse

但是Servlet提供的request和response 是HttpServletRequest  HttpServletResponse

然后HttpServletRequest的request和HttpServletResponse的response的功能 是远多于:ServletRequest和ServletResponse的request和response

所以如果该过滤器只需要实现低级功能 就无须转换。

如果该过滤器需要实现高级功能就需要在方法的内部进行强转

HttpServletRequest req = (HttpServletRequest)servletRequest;

你可能感兴趣的:(java)