文档详情

Web页面的过滤与监听.ppt

发布:2017-09-27约字共24页下载文档
文本预览下载声明
第八章 Web页面的过滤与监听 能力目标 了解Filter基本概念和适用场合 掌握使用Filter的基本步骤 会定义和使用Filter 掌握全局对象监听器的使用和应用 掌握会话对象监听器的使用和应用 态度目标 学习能力 责任感 问题解决能力 主动性 本章知识点 Filter基本概念和适用场合 使用Filter的基本步骤 定义和使用Filter Listener基础 全局对象监听器的使用和应用 会话对象监听器的使用和应用 任务引入 美国Loucs公司希望开发的客户投保系统,由多种权限,如客户权限、操作员权限、财务人员权限及管理人员权限,客户除能看到自身的投保信息,应不能看到公司的投保利润所得,所以要求系统能够对权限进行严格处理。 本章节的过滤器可以很方便在对于所有已经登录的客户进行页面及的权限控制,达到系统的要求。 8.1 Filter 8.1.1 Filter 主要用途: 当客户端请求某个网页(HTML/JSP/Servlet)之前,让过滤器先对其进行适当的“过滤”;或者当服务器端对客户端的请求做出响应之前,让过滤器先对其进行适当的“过滤”; 在从一个页面跳转(forward)到其他页面的时候; 在包含(include)其他的内容的时候; 在发生错误的时候。 8.1.1 Filter 在实际的应用中,可以使用过滤器来完成以下任务: 访问特定资源(HTML、JSP 页、Servlet)时的身份认证; 应用程序级的访问资源的审核和记录; 应用程序范围内对资源的加密访问,它建立在定制的加密方案基础上; 对被访问资源的及时转换, 包括从 Servlet 和 JSP 的动态输出等。 8.1.2 使用Filter 1. 创建一个类,实现Filter接口,并且实现其中的方法: init()方法是它的初始化方法,在Filter被装载的时候被自动调用; doFilter()方法是Filter类的核心方法,我们希望过滤器完成的功能,都应该放到这个方法中; destroy()方法是当Filter销毁的时候调用的方法; 8.1.2 使用Filter 2.将过滤的任务放到doFilter()方法中,这个方法有三个参数:ServletRequest、ServletResponse和FilterChain,其中ServletRequest和ServletResponse为传递给方法的请求和响应参数,而FilterChain是用来把请求和响应传递给下一个Filter或者其他JSP/Servlet等资源; 8.1.2 使用Filter 3.在doFilter()中调用FilterChain的doFilter()方法,它只有两个参数:ServletRequest和ServletResponse,通常只要将Filter的doFilter()方法的前两个当作它的参数就可以了; 4.在web.xml注册这个Filter,以及它将过滤的页面。 案例8-1 FirstFilter.java      web.xml 8.1.3 用Filter处理权限 案例 需求: 在实际应用中,通常是需要对网站全部或部分网页进行权限控制。 步骤: 将所有需要进行权限控制的内容都放在“auth”目录中。 案例8-2过滤器的实现 案例8-3登录页面 8.1.4 相关注意点 1.在Web中若配置了多个过滤器时,Web服务器将会根据web.xml中定义的filter顺序进行过滤。 2.一个过滤器也可以对多个资源进行过滤,只需要配置多个filter-mapping即可。 8.2 Listener 8.2.1 ServletContextListener 当Servlet Context刚被创建准备接受第一个请求的时候,或者Servlet Context即将关闭的时候,都会通知ServletContext Listener 。 ServletContextListener用于监听Servlet Context的变化,它有两个方法: servletContextInitialized(ServletCon
显示全部
相似文档