JavaEE08Filter过滤器

JavaEE08Filter过滤器

ID:40847304

大小:334.50 KB

页数:14页

时间:2019-08-08

JavaEE08Filter过滤器_第1页
JavaEE08Filter过滤器_第2页
JavaEE08Filter过滤器_第3页
JavaEE08Filter过滤器_第4页
JavaEE08Filter过滤器_第5页
资源描述:

《JavaEE08Filter过滤器》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、JavaEE第8章Filter过滤器FilterFilter是对HTTP请求和响应的头(Header)和体(Body)进行特殊操作的Web组件.Filter本身不生成Web响应,只对Web的请求和响应做过滤处理。Filter的主要用途对HTTP请求作分析,对输入流进行预处理。阻止请求或响应的进行。根据需求改动请求头的信息和数据体。根据需求改动响应的头(Header)和体(Body)数据。与其他Web资源进行协作过滤器的主要应用案例安全保护。日志记录。字符编码转换。图像转换。过滤器的编程实现javax.servlet.Filter接口。实现publicvoiddo

2、Filter(ServletRequestrequest,ServletResponseresponse,FilterChainchain)方法。在doFilter()方法中编写过滤代码。Filter例子代码publicclassCharEncodingFilterimplementsFilter{privateFilterConfigconfig=null;privateStringcontentType=null;privateStringcode=null;publicvoiddoFilter(ServletRequestreq,ServletRespon

3、seres,FilterChainchain)throwsIOException,ServletException{HttpServletRequestrequest=(HttpServletRequest)req;if(request.getContentType().equals(contentType)){request.setCharacterEncoding(code);}chain.doFilter(req,res);}}Filter的doFilter()方法此方法在每次过滤被激活时被调用。此方法代码完成过滤器的操作功能。如果是HTTP请求,需要强转

4、为HttpServletRequest和HttpServletResponse.过滤器的请求和响应对象会被传递到被过滤的JSP或Servlet。可以通过对request对象操作,在Servlet之前修改请求对象的信息。通过response对象操作,在Servlet响应之前修改响应信息。Filter的init()方法在初始化方法init中可以取得FilterConfig对象,通过此对象可以取得过滤器配置的初始参数,打开到外部资源的连接等,完成过滤器的初始化任务。publicvoidinit(FilterConfigconfig)throwsServletExcep

5、tion{}该方法传入FilterConfig类型对象,可以得到FilterConfig实例,供过滤器中其他方法使用,通过FilterConfig对象可以得到过滤器配置的初始化参数。Filter的destory()方法在destroy()方法中编写资源清理工作,如关闭数据库连接,关闭I/O流对象,清除ServletContext等共享对象中保存的无用属性等。该方法在Web容器销毁过滤器之前被自动调用,昭示过滤器生命周期的终结。Filter配置:声明过滤器功能:指示Web容器过滤器的存在。位置:/WEB-INF/web.xml声明语法:

6、r-name>LoginCheck包名.类名Filter配置:过滤器映射功能:设置过滤地址位置:/WEB-INF/web.xml文件语法:过滤器名过滤地址过滤器过滤地址格式绝对地址/admin/main.do匹配地址/admin/*匹配地址*.do安全过滤的例子//验证用户是否登录。pub

7、licvoiddoFilter(ServletRequestrequest,….){HttpServletRequestreq=(HttpServletRequest)request;HttpSessionsession=req.getSession();StringuserId=(String)session.getAttribute(“userId”);if(userId==null){res.sendRedirect(“/web01/login.jsp);}else{chain.doFilter(request,response);}}过滤器对象的生命周期

8、创建阶段(2)初始化阶段

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。