收藏 分享(赏)

Servlet进阶.ppt

上传人:jinchen 文档编号:6849883 上传时间:2019-04-24 格式:PPT 页数:19 大小:1.52MB
下载 相关 举报
Servlet进阶.ppt_第1页
第1页 / 共19页
Servlet进阶.ppt_第2页
第2页 / 共19页
Servlet进阶.ppt_第3页
第3页 / 共19页
Servlet进阶.ppt_第4页
第4页 / 共19页
Servlet进阶.ppt_第5页
第5页 / 共19页
点击查看更多>>
资源描述

1、JSP与Servlet开发技术与典型应用教程,第7章 Servlet进阶,7.1 Servlet过滤器 7.1.1 Servlet过滤器的原理及用途 7.1.2 Servlet过滤器的结构 7.1.3 一个使用Servlet过滤器的应用程序体验 延伸阅读:网站中如何使用过滤器链? 7.2 Servlet监听器 7.2.1 Servlet监听器的原理及用途 7.2.2 Servlet监听器的类型 7.2.3 一个使用Servlet监听器的应用程序体验,第7章 Servlet进阶,教学要求 1掌握:Servlet过滤器类的创建和配置,Servlet监听器类的创建和配置 2理解:Servlet过滤器

2、的原理和用途,Servlet监听器的原理和用途,7.1 Servlet过滤器,7.1.1Servlet过滤器的原理及用途,Servlet过滤器能够对Servlet容器的请求和响应对象进行检查和修改。 过滤器本身并不产生请求和响应对象,它只是提供过滤功能。过滤器原理如图所示:,7.1 Servlet过滤器,7.1.1Servlet过滤器的原理及用途,过滤器用途:当我们构建自己的Web应用时,有时候需要在用户请求服务器 的资源之前,做一些有针对性的操作,比如说对客户进行访问控制,对传输的 数据进行统一编码转换,过滤不雅文字等,此时就可以使用过滤器实现。例如,我们希望Web应用能针对特定的IP进行访

3、问控制,如图所示,就可使 用过滤器实现。,7.1 Servlet过滤器,7.1.1Servlet过滤器的原理及用途,Servlet过滤器具备如下的特征: 1. Servlet过滤器与指定的目标资源URL相关联,当客户端请求访问此URL时,才会触发过滤器工作。 2. Servlet过滤器可以对请求和响应对象进行检查和修改。3. 如果有需要,可以为某个URL部署多个过滤器,组成一个过滤链来执行多种检查或操作。,7.1 Servlet过滤器,7.1.2 Servlet过滤器的结构,Servlet过滤器是一个实现了javax.servlet.Filter接口的Java类,接口中包含3个方法必须实现:1

4、init(FilterConfig config):该方法负责进行过滤器的初始化操作,Servlet容器在创建了Servlet过滤器实例后就会调用这个方法。在这个方法中可以利用参数config读取web应用配置文件web.xml中的过滤器初始化参数。2doFilter(ServletRequest request, ServletResponse response, FilterChain chain):该方法负责完成实际的过滤操作,当客户端请求与过滤器关联的URL时,Servlet容器将先调用此方法进行过滤操作。3destroy():该方法在Servlet容器销毁过滤器实例前调用,可在此方法

5、中释放过滤器占用的资源。,7.1 Servlet过滤器,7.1.2 Servlet过滤器的结构,使用Servlet过滤器,应按照如下2个步骤进行: 1创建Servlet过滤器类。 2在web.xml中配置过滤器,将过滤器与URL关联起来。,7.1 Servlet过滤器,7.1.2 一个使用Servlet过滤器的应用程序体验,案例:拦截非管理员IP对admin.jsp页面的访问,7.1 Servlet过滤器,7.1.2 一个使用Servlet过滤器的应用程序体验,案例实现步骤: 1. 在MyEclipse中新建一个Java Web应用ExampleFilter,编辑admin.jsp和error

6、.jsp。 2. 按照使用Servlet过滤器的2个步骤创建和配置过滤器:(1) 创建Servlet过滤器类IPFilter(2) 在web.xml中配置过滤器,将过滤器与admin.jsp关联起来,对其起作用。,7.1 Servlet过滤器,延伸阅读:网站中如何使用过滤器链?,过滤器链:为某个资源配置多个过滤器,即形成过滤器链。 案例:网站中有suc.jsp页面,对其的访问权限要求比较高,规定必须是本机并且是通过了登陆验证的客户才可以访问,而网站中的其它页面权限要求较低,则只要是本机IP地址即可访问。 实现思路:要达到上述效果,应对suc.jsp添加2个过滤器,第1个用来过滤IP,看是否是本

7、机IP地址,第2个用来检查客户是否经过了登陆验证,只有经过了登陆验证才能请求到suc.jsp,否则就拦截客户的请求,让客户返回index.jsp进行登陆验证。,7.2 Servlet监听器,7.2.1 Servlet监听器的原理及用途,Servlet监听器也是Web应用开发中的一种重要组件,它主要用来对Web应用中的一些事件进行监听。比如客户请求状态的变化,会话状态的变化等,这些改变即为事件,Servlet监听器可以监听这些事件并能对其进行处理。,7.2 Servlet监听器,7.2.2 Servlet监听器的类型,Servlet监听器3种类型:1. ServletContext的监听器:可以

8、监听ServletContext对象的创建、销毁, 还可以对ServletContext对象上绑定属性的状态改变事件进行监听,如增加了属性、删除了属性或给属性设了新值。2. session的监听器:可以监听session的创建、销毁,session的active状态改变,session上的对象绑定状态,以及session上绑定属性的状态改变事件。 3. request的监听器:可以监听客户端请求的创建、销毁,还可以监听request上绑定属性的状态改变事件。,7.2 Servlet监听器,7.2.3 一个使用Servlet监听器的应用程序体验,案例:监控Web应用ExampleListener

9、的启、停状态,每次启动或关闭此Web应用都希望能将其记录下来,如下图所示:,7.2 Servlet监听器,7.2.3 一个使用Servlet监听器的应用程序体验,监听器的开发步骤: 1创建Servlet监听器类。 2在web.xml中配置监听器。,典型模块应用,案例 7-1转码过滤器,典型模块应用,案例 7-2过滤留言者,典型模块应用,案例 7-3监听上线人员数量,实战演练,实战 7-1 使用过滤器对网站的首页进行流量统计,当用户访问该页面时显示 当前的访问流量。要注意统计流量时的同步问题。实战 7-2 使用过滤器对响应信息中的敏感字符进行过滤。假设“鬼”字看做是敏 感字符,要求响应到客户端时将其修改为其他字符。实战 7-3 使用监听器实现服务器本机免登陆。如果是服务器本机访问网站的 首页,则显示欢迎消息,如果是远程客户机访问网站首页则转至登陆页要求远 程客户先登陆。,

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

当前位置:首页 > 生活休闲 > 社会民生

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报