javaweb过滤器

来源:互联网 发布:淘宝优惠券加返利软件 编辑:程序博客网 时间:2024/06/05 21:56

web过滤器过滤源就是请求路径

定义 : 过滤器是一个服务器端的组件,她可以截取用户端的请求和响应信息,并对这些信息过滤(过滤器只过滤不处理)


过滤源-->过滤规则-->过滤结果


工作原理


生命周期




Servlet2.5 过滤器过滤源方式分类:REQUEST, FORWARD , INCLUDE , ERROR  Serlvet3.0还支持ASYNC异步处理

web.xml中不指明,默认为REUQEST

<span style="font-size:12px;"><filter>  <filter-name>allFilter</filter-name>  <filter-class>com.my.filter.AllFilter</filter-class>  <init-param>  <param-name>author</param-name>  <param-value>leo</param-value>  </init-param>  </filter>    <filter-mapping>  <filter-name>allFilter</filter-name>  <url-pattern>/*</url-pattern>  <dispatcher>REQUEST</dispatcher>  </filter-mapping></span>

web.xml配置错误页

<error-page>  <error-code>404</error-code>  <location>/index.html</location>  </error-page>





多个过滤器如何处理同一个请求

假设有两个过滤器同时工作,过滤同一请求,下面是输出信息






验证用户登录

public void doFilter(ServletRequest req, ServletResponse resp,FilterChain filterChain) throws IOException, ServletException {                req.setCharacterEncoding("UTF-8");                          //字符过滤器或则读取Filter初始化参数,设置编码类型                HttpServletRequest request = (HttpServletRequest)req;HttpSession session = request.getSession();if(session.getAttribute(arg0)!=null){filterChain.doFilter(req, resp);}}




0 0
原创粉丝点击