留在福州?还是去深圳打拼?(filter 过滤器)

来源:互联网 发布:js添加点击事件请求url 编辑:程序博客网 时间:2024/04/19 17:09

 第一篇博客。

   一、 过滤器只有在请配置路径的时候才会被执行 比如 配置的路径是:

<filter-mapping>
  <filter-name>LoginFilter</filter-name>
  <url-pattern>/admin/*</url-pattern>
  </filter-mapping>

只有访问到 admin 包下面的路径才会触发过滤器

  二、实现过滤器接口 默认实现三个方法 init   doFilter  destory 

1. init 可以接收从 web.xml 配置的参数 

<filter-name>LoginFilter</filter-name>
  <filter-class>com.huzh.MyFilter</filter-class>
  <init-param>
  <param-name>dispatcherURL</param-name>
  <param-value>/index.jsp</param-value>
  </init-param>

也可以通过 InputStream Is = getClass().getResourceAsStream("/loginFilter.properties"); Properties pro = new Properties(); pro.load(Is); 从文件中获取参数 ; 并记得关闭数据流。

2. doFilter 中 request response  设置 编码格式 request.setCharacterEncoding("UTF-8");

     HttpServletRequest req = (HttpServletRequest) request;HttpServletResponse rsp = (HttpServletResponse) response;
     HttpSession session = req.getSession();  强转为http对象

3. 若成功则 filterChain.doFilter(request, response); 否则 设置跳转路径:

RequestDispatcher reqDispatcher=req.getRequestDispatcher(“要跳转的路径”); reqDispatcher.forward(request, response);

0 0