JavaEE08Filter过滤器.ppt_第1页
JavaEE08Filter过滤器.ppt_第2页
JavaEE08Filter过滤器.ppt_第3页
JavaEE08Filter过滤器.ppt_第4页
JavaEE08Filter过滤器.ppt_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

JavaEE第8章 Filter过滤器,Filter,Filter是对HTTP请求和响应的头(Header)和体(Body)进行特殊操作的Web组件. Filter本身不生成Web响应,只对Web的请求和响应做过滤处理。,Filter的主要用途,对HTTP请求作分析,对输入流进行预处理。 阻止请求或响应的进行。 根据需求改动请求头的信息和数据体。 根据需求改动响应的头(Header)和体(Body)数据。 与其他Web资源进行协作,过滤器的主要应用案例,安全保护。 日志记录。 字符编码转换。 图像转换。,过滤器的编程,实现javax.servlet.Filter接口。 实现public void doFilter(ServletRequest request, ServletResponse response,FilterChain chain)方法。 在doFilter()方法中编写过滤代码。,Filter例子代码,public class CharEncodingFilter implements Filter private FilterConfig config=null; private String contentType=null; private String code=null; public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException HttpServletRequest request=(HttpServletRequest)req; if(request.getContentType().equals(contentType) request.setCharacterEncoding(code); chain.doFilter(req, res); ,Filter的doFilter()方法,此方法在每次过滤被激活时被调用。 此方法代码完成过滤器的操作功能。 如果是HTTP请求,需要强转为HttpServletRequest和HttpServletResponse. 过滤器的请求和响应对象会被传递到被过滤的JSP或Servlet。 可以通过对request对象操作,在Servlet之前修改请求对象的信息。 通过response对象操作,在Servlet响应之前修改响应信息。,Filter的init()方法,在初始化方法init中可以取得FilterConfig对象,通过此对象可以取得过滤器配置的初始参数,打开到外部资源的连接等,完成过滤器的初始化任务。 public void init(FilterConfig config) throws ServletException 该方法传入FilterConfig类型对象,可以得到FilterConfig实例,供过滤器中其他方法使用,通过FilterConfig对象可以得到过滤器配置的初始化参数。,Filter的destory()方法,在destroy()方法中编写资源清理工作,如关闭数据库连接,关闭I/O流对象,清除ServletContext等共享对象中保存的无用属性等。该方法在Web容器销毁过滤器之前被自动调用,昭示过滤器生命周期的终结。,Filter配置:声明过滤器,功能:指示Web容器过滤器的存在。 位置:/WEB-INF/web.xml 声明语法: LoginCheck 包名.类名 ,Filter配置:过滤器映射,功能:设置过滤地址 位置:/WEB-INF/web.xml文件 语法: 过滤器名 过滤地址 ,过滤器过滤地址格式,绝对地址 /admin/main.do 匹配地址 /admin/* 匹配地址 *.do,安全过滤的例子,/验证用户是否登录。 public void doFilter(ServletRequest request,.) HttpServletRequest req=(HttpServletRequest)request; HttpSession session=req.getSession(); String userId=(String)session.getAttribute(“userId”); if(userId=null) res.sendRedirect(“/web0

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论