java过滤器详解解析.docx

  1. 1、本文档共19页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
java过滤器详解解析

目标:过滤器:过滤器基于概念写一个HelloWorld总结Api及执行流程过滤器案例综合案例过滤器基本概念(3W1H: why, what, where,how)为什么需用到过滤器?项目开发中,经常会涉及到重复代码的实现!注册 Servlet 【1. 设置编码】 JSP修改 Servlet 【1. 设置编码】 JSP其他,如判断用户是否登陆,只有登陆才能有操作权限!涉及到重复判断: 获取session,取出session数据,判断是否为空,为空说明没有登陆,不能操作; 只有登陆后,才能操作!如何解决:抽取重复代码,封装每个用到重复代码的地方,手动的调用!过滤器,设计执行流程:用户访问服务器过滤器: 对Servlet请求进行拦截先进入过滤器, 过滤器处理过滤器处理完后, 在放行, 此时,请求到达Servlet/JSPServlet处理Servlet处理完后,再回到过滤器, 最后在由tomcat服务器相应用户;(过滤器就像回家的门!)过滤器,HelloWorld案例Javax.servlet.*;|-- interface Filter 及过滤器开发步骤:写一个普通java类,实现Filter接口配置过滤器过滤器执行流程OOAD 面向对象的分析与设计使用RationRose 时序图过滤器相关Api|-- interface Filter过滤器核心接口Void init(filterConfig); 初始化方法,在服务器启动时候执行Void doFilter(request,response,filterChain); 过滤器拦截的业务处理方法Void destroy(); 销毁过滤器实例时候调用|-- interface FilterConfig 获取初始化参数信息StringgetInitParameter(java.lang.String?name)EnumerationgetInitParameterNames() |-- interface FilterChain 过滤器链参数;一个个过滤器形成一个执行链;void doFilter(ServletRequest request, ServletResponse response) ; 执行下一个过滤器或放行/** * 过滤器,测试 * @author Jie.Yuan * */publicclass HelloFilter implements Filter{// 创建实例public HelloFilter(){System.out.println(1. 创建过滤器实例);}@Overridepublicvoid init(FilterConfig filterConfig) throws ServletException {System.out.println(2. 执行过滤器初始化方法);// 获取过滤器在web.xml中配置的初始化参数String encoding = filterConfig.getInitParameter(encoding);System.out.println(encoding);// 获取过滤器在web.xml中配置的初始化参数 的名称EnumerationString enums = filterConfig.getInitParameterNames();while (enums.hasMoreElements()){// 获取所有参数名称:encoding、pathString name = enums.nextElement();// 获取名称对应的值String value = filterConfig.getInitParameter(name);System.out.println(name + \t + value);}}// 过滤器业务处理方法: 在请求到达servlet之前先进入此方法处理公用的业务逻辑操作@Overridepublicvoid doFilter(ServletRequest request, ServletResponse response,FilterChain chain) throws IOException, ServletException {System.out.println(3. 执行过滤器业务处理方法);// 放行 (去到Servlet)// 如果有下一个过滤器,进入下一个过滤器,否则就执行访问servletchain.doFilter(request, response);System.out.println(5. Servlet处理完成,又回到过滤器);}@Overridepublicvoid destroy() {

文档评论(0)

此项为空 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档