网站大量收购闲置独家精品文档,联系QQ:2885784924

第19章JSP其他常用技术.doc

  1. 1、本文档共15页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第19章JSP其他常用技术

第1章 JSPJSP 1.2是根据最新版本Servlet 2.3》规范制定的而1.4.2已完全能利servlet的全部新增功能,如经过改进的监听器、过滤器、国际化转换器等。JSP中灵活地监听session对象的创建、销毁以及session所携带数据的创建、变化和销毁,如何监听会话的属性等。过滤器是一种组件,可以解释对Servlet、JSP页面或静态页面的请求以及发送给客户端之前的应答。这样应用于所有请求的任务将很容易集中在一起。本章最后详细探讨了开发JSP网站应该遵循的规则。 19.1 监听 在JSP编程中,经常需要应用程序对特定事件作出一定的反应。如某个应用程序可以对访问某网站的人数做出反应,当访问人数超过一定限度时,将会拒绝新用户登录网站。这种应用程序实际上就是一种监听程序,也可以说成是一个监听器。 监听器就是一种组件类型,它是在Servlet 2.3规范中引入的。在Servlet 2.3之前,进JSP编程时,只能在Session中添加或者删除对象时处理Session Attribute绑定事件。但是当Servlet 2.3规范中引入监听器以后,可以在JSP中灵活地监听session对象,可以监听session对象的创建和销毁,可以监听session所携带数据的创建、变化和销毁,还可以为Servlet环境和Session生命周期事件以及激活和钝化事件创建监听器。而且使用Session监听器可以监听所有会话的属性,而不需要在每个不同的session中单独设置Session监听器对象。 例19-1 如何说明一个具体的会话对象监听器(HttpSessionListener接口),它可以实时监听WEB程序中的活动会话的数量。(即实时统计当前有多少个在线用户)。文件名为exa19_1.jsp,运行结果见图19-1,其源码如下。 %@ page contentType=text/html; charset=GB2312% %@ page import=java.io.*,Bean.* language=java% HTML HEADTITLE监听在线用户数量/TITLE/HEAD BODY % int count=Bean.SessionCount.getCount(); out.println(当前用户数目为: +count+ 个); % /BODY /HTML 其中监听类SessionCount的定义如下。 package? Bean; import?javax.servlet.*; import?javax.servlet.http.*; public?class?SessionCount?implements?HttpSessionListener { private?static?int?count=0; ????public?void?sessionCreated(HttpSessionEvent?se) ????{ ????????count++; ????????System.out.println(“session创建:”+new?java.util.Date()); } ????public?void?sessionDestroyed(HttpSessionEvent?se) ????{ ???????count--; ???????System.out.println(“session销毁:”+new?java.util.Date()); } ????public?static?int?getCount() ????{ ???????return(count); ?????} } 接下来可以在WEB-INF/web.xml中声明这个监听类,代码如下: listener listener-class Bean.SessionCount /listener-class /listener 显然在exa19_1.jsp程序中并没有创建任何的Session对象,但是当重新启动Tomcat服务器,并在浏览器地址栏中输入http://localhost:8080/chpt19/exa19_1.jsp运行时,不难发现监听器已经开始工作。 图19-1 exa19_1.jsp运行结果 19.2 过滤 在开始本节之前,有必要说明JSP与Servlet之间的关系。简单说Java Servlet是一些Java组件构成的。这些组件能够动态扩展Web服务器的功能。整个的Java的服务器端编程就是基于Servlet的。SUN公司推出的Java Server Page(JSP)就是以Java Servlet为基础的。所有的JSP文件都要事先转变成一个Servlet,即一

文档评论(0)

kaiss + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档