Java中的过滤器doFilter里的chain.doFilter()函数理解
来源:互联网 发布:百胜erp软件下载 编辑:程序博客网 时间:2024/06/05 20:28
关于chain.doFilter()函数在最近的使用中不是很理解,但是考虑到他是过滤器。过滤器顾名思义就是在执行某件事情的时候开始之前。开始进行处理的叫做过滤处理。一个方法,一个类就是充当过滤器的角色。它是在一个容器(类似于Tomcat)启动之后,打开一网站,他就会根据配置就行过滤处理。doFilter()方法就是过滤器的主要方法,init()方法就是在容器启动的时候执行的。doFilter()方法中的chain.doFilter(request,response)方法刚开始还有些不怎么理解。现在有一点明白了。
doFilter(request,response)的方法就是在你打开一个页面当满足过滤器的条件的时候,他就会继续执行你打开页面时候的操作。同时如果你使用了httpservletrequest和httpservletResponse的话,获取servletPath的值就是你要打开的文件的地址。例子如下:
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { HttpServletRequest req=(HttpServletRequest)request; HttpServletResponse resp=(HttpServletResponse)response; String servletPath= req.getServletPath(); HttpSession session=req.getSession(); String flag=(String)session.getAttribute("flag"); if(servletPath!=null&&(servletPath.equals("/03/index.jsp")||servletPath.equals("/03/login.jsp")||servletPath.equals("/loginServlet17"))){ chain.doFilter(request, response); }else{ if(flag!=null&&flag.equals("login_success")){ chain.doFilter(request, response); }else if(flag!=null&&flag.equals("login_error")){ req.setAttribute("msg", "登录失败,请重新登录"); req.setAttribute("return_uri", servletPath); RequestDispatcher rd=req.getRequestDispatcher("/03/login.jsp"); rd.forward(req, resp); }else{ req.setAttribute("msg","你尚未登录"); req.setAttribute("return_uri", servletPath); RequestDispatcher rd=request.getRequestDispatcher("/03/login.jsp"); rd.forward(req, resp); } } System.out.println(servletPath); }
0 5
- Java中的过滤器doFilter里的chain.doFilter()函数理解
- 过滤器中的chain.doFilter(request,response)
- 对chain.doFilter(request,response)的理解
- 对chain.doFilter(request,response)的理解
- 对chain.doFilter(request,response)的理解
- 对chain.doFilter(request,response)的理解
- Java filter中的chain.doFilter详解
- 过滤器的doFilter
- chain.doFilter
- 过滤器和chain.doFilter(request,response)
- 浅谈filter中的chain.doFilter(request, response)的作用
- chain.doFilter(request,response)的作用
- chain.doFilter(request, response)的简单介绍
- chain.doFilter(request,respnse)
- 【Java】Filter过滤器中,在chain.doFilter(request,response)后若有重定向或转发语句
- filter(字符编码过滤器)(chain.doFilter(request,response))
- Struts框架 过滤器doFilter
- 过滤器doFilter----支持中文...
- Aizu-0118 Property Distribution
- mysql数据库安装过程中遇见的问题及解决办法
- Git常用命令速查04 - 提交历史
- js从写alert样式
- java事件处理机制(自定义事件)
- Java中的过滤器doFilter里的chain.doFilter()函数理解
- oracle系统包——dbms job用法(oracle定时任务)
- 51nod 1069 Nim游戏 (博弈论)
- MD5加密算法的java实现
- Android中Activity四种启动模式和taskAffinity属性详解
- Http状态码对照表
- redis cluster安装
- java web上传文件保存的目录
- GUI显示系统之 SurfaceFlinger