- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
jsp程序设计入门沈泽刚、秦玉平主编的javaweb第二版第08章Servlet高级应用选编
第 8 章 ;;本章内容;本章内容;8.1 Web监听器;8.1 Web监听器;8.1.1 监听ServletContext事件;1.处理ServletContextEvent事件;1.处理ServletContextEvent事件;2.处理ServletContextAttributeEvent事件;2.处理ServletContextAttributeEvent事件;2.处理ServletContextAttributeEvent事件;;下面的listenerTest.jsp页面是对监听器的测试,这里使用了监听器对象创建的数据源对象。
程序8.2 listenerTest.jsp
在该页面中首先通过隐含对象application的getAttribute()得到数据源对象,然后创建ResultSet对象访问数据库。
;8.1.2 监听请求事件 ;1. 处理ServletRequestEvent事件;1. 处理ServletRequestEvent事件;2. 处理ServletRequestAttributeEvent事件;在上述方法中传递的参数为ServletRequestAttributeEvent类的对象,该类定义了下面两个方法。
public String getName():返回在请求对象上添加、删除或替换的属性名。
public Object getValue():返回在请求对象上添加、删除或替换的属性值。
注意??当替换属性时,该方法返回的是替换之前的属性值。;下面的MyRequestListener监听器类监听对某个页面的请求并记录自应用程序启动以来被访问的次数。
程序8.3 MyRequestListener.java
下面是一个测试JSP页面:
程序8.4 onlineCount.jsp;8.1.3 监听会话事件;1. 处理HttpSessionEvent事件;2. 处理会话属性事件;HttpSessionBindingEvent类中定义了下面三个方法。
public HttpSession getSession():返回发生改变的会话对象。
public String getName():返回绑定到会话对象或从会话对象解除绑定的属性名。
public Object getValue():返回在会话对象上添加、删除或替换的属性值。;下面定义的监听器类实现了HttpSessionListener接口,它用来监视当前所有会话对象。当一个会话对象创建时,将其添加到一个ArrayList对象中并将其设置为ServletContext作用域的属性以便其他资源可以访问。当销毁一个会话对象时,从ArrayList中删除会话。
程序8.5 MySessionListener.java
程序8.6 sessionDisplay.jsp;3. 处理会话属性绑定事件;下面定义的User类实现了HttpSessionBindingListener接口。当将该类的一个对象绑定到会话对象上时,容器将调用valueBound(),当从会话对象上删除该类的对象时,容器将调用valueUnbound(),这里向日志文件写入有关信息。
程序8.7 User.java
程序从HttpSessionBindingEvent对象中检索会话对象,从会话对象中得到ServletContext对象并使用log()登录消息。;下面是一个Servlet,它接受登录用户的用户名和口令,然后创建一个User对象并将其绑定到会话对象上。
程序8.8 LoginServlet.java
; 8.1.4 事件监听器的注册 ;在web.xml文件中并没有指定哪个监听器类处理哪个事件,这是因为当容器需要处理某种事件时,它能够找到有关的类和方法。容器实例化指定的类并检查类实现的全部接口。对每个相关的接口,它都向各自的监听器列表中添加一个实例。容器按照DD文件中指定的类的顺序将事件传递给监听器。这些类必须存放在WEB-INF\classes目录中或者与其他Servlet类一起打包在JAR文件中。
提示:可以在一个类中实现多个监听器接口。这样,在部署描述文件中就只需要一个listener元素。容器就仅创建该类的一个实例并把所有的事件都发送给该实例。;8.2 Web过滤器;8.2.1 什么是过滤器;8.2.1 什么是过滤器;1. 过滤器是如何工作的;2. 过滤器的用途;8.2.2 过滤器API;1. Filter接口;doFilter()是实现过滤的方法。如果客户请求的资源与该过滤器关联,容器将调用该方法,格式如下:
public void doFilter(ServletRequest request,
您可能关注的文档
- java项目最全配置jdkeclipsetomcatspring选编.docx
- JBPM-WI-GC-04供配电系统管理作业指导书(2016版)选编.doc
- JG-5电火花检测仪检测电压调节参值选编.doc
- JDXYQ外交关系的突破选编.ppt
- JDG管施工及验收规程选编.doc
- JG26001型高压加热器检修技术标准选编.doc
- Jh9201D电话分析仪选编.doc
- JDE系统的设备管理模式选编.ppt
- Jenkins集成Jmeter进行Web自动化性能测试选编.docx
- JIANGSUBuisnessGuide选编.doc
- 实施指南(2025)《DL_T712-2010 发电厂凝汽器及辅机冷却器管选材指南实施效果评估》.pptx
- 实施指南(2025)《GB_T1613-2008工业硝酸钡》.pptx
- 实施指南(2025)《GB_T22638.1-2016铝箔试验方法第1部分_厚度的测定》.pptx
- 实施指南(2025)《GB_T21527-2008轨道交通扣件系统弹性垫板》.pptx
- 实施指南(2025)《GB_T28878.6-2016空间科学实验转动部件规范第6部分:性能测试》.pptx
- 实施指南(2025)《GB_T985.3-2008铝及铝合金气体保护焊的推荐坡口》.pptx
- 实施指南(2025)《DL_T306.6-2010 1000kV 变电站图册解读》.pptx
- 实施指南(2025)《DL_T309-2010 1000kV交流系统电力设备现场试验实施导则》.pptx
- 实施指南(2025)《CB_T 4463-2016深海潜水器用复合材料轻外壳规范》.pptx
- 实施指南(2025)《DL_T 1612-2016发电机定子绕组手包绝缘施加直流电压测量方法及评定导则》.pptx
最近下载
- 《产品几何技术规范(GPS)+几何公差+检测与验证GBT+1958-2017》全文详细解读.pptx
- 16D303-2:常用风机控制电路图.pdf VIP
- 排版设计岗位招聘笔试题(某大型央企)题库精析.docx VIP
- 统编版五年级语文上册《第三单元主题阅读—民间故事》同步练习题及答案.docx VIP
- 2025年中国半乳甘露聚糖项目创业计划书.docx
- (word)公务员村官事业单位考试公文改错题及答案.doc VIP
- 检测结果解释与报告程序.doc VIP
- (29)--第五章中耕机械农业机械学农业机械学.ppt VIP
- FANUC工业机器人系统集成与应用 第5章 机器人外部轴控制.ppt VIP
- 更新版GSP单体药店质量管理制度及岗位职责及操作规程.doc VIP
文档评论(0)