




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
专题八过滤器—Filter第一页,共23页。案例一过滤器—Filter第二页,共23页。教学目标1.1Filter简介1.2Filter的运作方式1.3Filter的定义与映射1.4FilterAPI介绍第三页,共23页。工作任务在Eclipse3.2IDE+Tomcat6.0环境中,编写一个登录的例子,编写两个过滤器,FilterDemo1过滤器用来对字符编码进行过滤,FilterDemo2过滤器用来对页面权限的过滤。第四页,共23页。新建项目和开发目录新建一个名为Login的TomcatPorject项目在Login项目的目录中:创建一个Hello的文件夹,其包括登录页面—hello.jsp创建一个End的文件夹,其包括:登录成功页、密码错误页和用户名错误页在WEB-INF/src中创建demo.filter和demo.servlet两个包在WEB-INF中创建web.xml配置文件第五页,共23页。编写登录页面编写Hello文件夹中的登录页面(hello.jsp):<formname="loginform"method="post" action="../HelloServlet.do"> <tdcolspan="2">用户名: <inputtype="text"name="username"></td> <tdcolspan="2">密码: <inputtype="password"name="password"></td> <inputtype="submit"name="Submit"value="提交"> <inputtype="reset"name="Submit2"value="重置"></form>第六页,共23页。编写字符编码过滤器1新建和编写FilterDemo1类导入需要的类和接口importjava.io.IOException;importjavax.servlet.Filter;importjavax.servlet.FilterChain;importjavax.servlet.FilterConfig;importjavax.servlet.ServletException;importjavax.servlet.ServletRequest;importjavax.servlet.ServletResponse;importjavax.servlet.http.HttpServletRequest;第七页,共23页。编写字符编码过滤器2继承Filter接口Init()方法中设置字符编码filterConfig=filterconfig;targetEncoding=filterconfig. getInitParameter("encoding");第八页,共23页。编写字符编码过滤器3doFilter()方法中设置请求的字符编码setFilterConfig()设置过滤器配置环境destroy()销毁过滤器HttpServletRequesthttpservletrequest= (HttpServletRequest)request;httpservletrequest.setCharacterEncoding(targetEncoding);filterchain.doFilter(request,response);第九页,共23页。编写验证权限过滤器新建和编写FilterDemo2类继承Filter接口编写doFilter()方法username=(String)session.getAttribute("username");if(username!=null&&username.equals("handson")){
chain.doFilter(request,response);}else{ httpRequest.getRequestDispatcher("/Hello/hello.jsp"). forward(httpRequest,httpResponse);}第十页,共23页。编写HelloServlet类继承HttpServlet类编写doGet()方法编写doPost()方法if(username!=""&&username.equals("handson")){ if(pwd!=""&&pwd.equals("handson")){ session.setAttribute("username",username); response.sendRedirect("./End/success.html"); }else{ response.sendRedirect("./End/error.html"); }}else{ response.sendRedirect("./End/faild.html");}第十一页,共23页。配置过滤器1配置FilterDemo1过滤器<filter> <filter-name>FilterDemo1</filter-name> <filter-class>demo.filter.FilterDemo1</filter-class> <init-param> <param-name>encoding</param-name> <param-value>GB2312</param-value> </init-param></filter><filter-mapping> <filter-name>FilterDemo1</filter-name>
<url-pattern>/*</url-pattern></filter-mapping>第十二页,共23页。配置过滤器2配置FilterDemo2过滤器<filter> <filter-name>FilterDemo2</filter-name> <filter-class>demo.filter.FilterDemo2</filter-class></filter><filter-mapping> <filter-name>FilterDemo2</filter-name> <url-pattern>/End/*</url-pattern></filter-mapping>第十三页,共23页。配置Servlet配置HelloServlet类<servlet> <servlet-name>HelloServlet</servlet-name> <servlet-class>demo.servlet.HelloServlet</servlet-class></servlet><servlet-mapping> <servlet-name>HelloServlet</servlet-name> <url-pattern>/HelloServlet.do</url-pattern></servlet-mapping>第十四页,共23页。创建页面创建success.html页面创建error.html页面创建faild.html页面第十五页,共23页。总结Filter的运作方式Filter的定义与映射FilterAPI介绍第十六页,共23页。过滤器简介Filter是在Servlet2.3和JSP1.2才新增加进来的功能。过滤器可附加到一个或多个servlet或JSP页面上,并且可以检查进入这些资源的请求信息。过滤器可以做到:以常规的方式调用资源(即,调用servlet或JSP页面)利用修改过的请求信息调用资源调用资源,但在发送响应到客户机前对其进行修改阻止该资源调用,代之以转到其他的资源,返回一个特定的状态代码或生成替换输出第十七页,共23页。过滤器的运作方式拦截从客户端发来的请求,对请求进行相应处理,根据配置,发送到下一个过滤器在下一个过滤器中,进行进一步的处理,发送到下一个过滤器如此循环,直到传递到Servlet、页面或者发送响应到客户端第十八页,共23页。Filter接口1一个执行过滤器的Java类必须实现javax.servlet.Filter接口。接口中含有三个过滤器必须执行的方法:init():容器所调用的初始化方法。它保证了在第一次调用doFilter()前由容器调用。能获取在web.xml文件中指定的初始化参数。该方法接受一个FilterConfig类型的对象作为输入第十九页,共23页。Filter接口2doFilter():完成过滤行为的方法。过滤器拥有单个用于处理请求和响应的方法doFilter()。这个方法接受三个输入参数:一个ServletRequest、一个ServletResponse和一个FilterChain对象。引入的FilterChain对象提供了后续过滤器所要调用的信息destroy():方法执行任何清理操作,这些操作需要在自动垃圾收集之前进行第二十页,共23页。Filter的定义与映射1所有配置包含在<filter>和</filter>中元素名必需/可选描述filter-name必需给过滤器分配一个选定的名字display-name可选过滤器别名description可选描述过滤器功能,及其它注释filter-class必需指定过滤器实现类的完全限定名init-param可选定义可利用FilterConfig的getInitParameter方法读取的初始化参数。单个过滤器元素可包含多个init-param元素第二十一页,共23页。Filter的定义与映射2过滤器配置
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 元宇宙虚拟物品鉴定与交易服务协议
- 同传租赁合同违约金及赔偿补充协议
- 艺术衍生品开发与市场推广合作协议
- 生物实验室生物安全教育与责任协议
- 直播带货主播专业孵化与经纪管理合同
- 2025至2031年中国湿法移膜革市场现状分析及前景预测报告
- 2025至2030年白桃罐头项目投资价值分析报告
- 2025至2030年中国过滤白呢市场分析及竞争策略研究报告
- 2025至2030年中国涤棉磨毛衫行业投资前景及策略咨询报告
- 2025至2030年中国三刃形钎头市场分析及竞争策略研究报告
- 韵达加盟合同协议
- 职代会知识培训课件
- 2025-2030中国药物递送系统行业市场深度分析及发展前景与投资研究报告
- 泰康集团入职测评题库及答案
- 第四章 问题解决策略:特殊化 课件 2024-2025学年北师大版七年级数学下册
- 2025-2030全球及中国普拉提和瑜伽馆行业市场现状供需分析及市场深度研究发展前景及规划可行性分析研究报告
- 预防AI换脸诈骗
- 针对项目实施的重点、难点的分析和解决方案
- 2025年甘肃省定西市渭源县中考数学第一次模拟试题(原卷版+解析版)
- 中国竹笛演奏知到课后答案智慧树章节测试答案2025年春四川音乐学院
- 古诗词诵读《鹊桥仙(纤云弄巧)》课件(共37张) 2024-2025学年统编版高中语文必修上册
评论
0/150
提交评论