JavaEE08Filter过滤器.ppt

上传人:小飞机 文档编号:6509296 上传时间:2023-11-07 格式:PPT 页数:14 大小:329.49KB
返回 下载 相关 举报
JavaEE08Filter过滤器.ppt_第1页
第1页 / 共14页
JavaEE08Filter过滤器.ppt_第2页
第2页 / 共14页
JavaEE08Filter过滤器.ppt_第3页
第3页 / 共14页
JavaEE08Filter过滤器.ppt_第4页
第4页 / 共14页
JavaEE08Filter过滤器.ppt_第5页
第5页 / 共14页
点击查看更多>>
资源描述

《JavaEE08Filter过滤器.ppt》由会员分享,可在线阅读,更多相关《JavaEE08Filter过滤器.ppt(14页珍藏版)》请在三一办公上搜索。

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

2、est,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

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

4、.过滤器的请求和响应对象会被传递到被过滤的JSP或Servlet。可以通过对request对象操作,在Servlet之前修改请求对象的信息。通过response对象操作,在Servlet响应之前修改响应信息。,Filter的init()方法,在初始化方法init中可以取得FilterConfig对象,通过此对象可以取得过滤器配置的初始参数,打开到外部资源的连接等,完成过滤器的初始化任务。public void init(FilterConfig config)throws ServletException 该方法传入FilterConfig类型对象,可以得到FilterConfig实例,供过滤

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

6、滤器过滤地址格式,绝对地址/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(“/web01/login.jsp);else chain.doFilter(request,response);,过滤器对象的生命周期,创建阶段(2)初始化阶段(3)过滤服务阶段(4)销毁阶段,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号