选择显示字体大小

深入jsp:usebean

avabean在jsp中的应用给我们带来了很大的方便,使得我们能够把功能较单纯的代码提取出来,增加了代码重用率。 $#@60;jsp:usebean /$#@62;这个命令大家在每个jsp文件的开头一般都会用吧?下文将要介绍的是usebean命令的一些特殊用法,包括怎样为多个页面共享的bean进行初始化,以及怎样简便的把request的数据传递到bean中去。
  大家都知道bean有一个scope属性,指明bean的类型的实例建立的位置。默认的page就表示放在pagecontext对象中,可以在本页面内部使用;request表示放在servletrequest对象中,在当前request的处理期间都能够访问,这个其实和page差不多;session表示放在httpsession对象中,只要当前页面的page.session设置为true就能够访问;application表示放在servletcontext对象中,当前服务器上面属于一个application的servlet都能访问。使用不同的scope属性值就能在不同的范围内共享bean内部的数据,但是当想为bean作一些初始化工作的时候,如果不能确定哪一个页面先运行怎么办?
  解决的方法是有的。除了常见的$#@60;jsp:usebean ... /$#@62;这种创建bean的格式以外,还有下面这种方式:
  $#@60;jsp:usebean ...$#@62;代码$#@60;/jsp:usebean$#@62;中间的代码就可以用来进行初始化工作,因为这些代码只在一个bean创建的时候执行。新创建一个bean的条件是,在一个application的范围内,没有id和scope都相同的bean存在。所以,如果你有许多页面上使用同一个bean,又想在初始化的时候设置一些bean的property,你可以把初始化代码放在每一个申明中,然后系统运行的时候只有第一个被执行的页面能够执行到这些初始化代码。
  举个例子,你有一个网站有许多的入口页面,现在你想跟踪一个用户在你的网站上逗留的时间,你可以用一个scope为session的bean来记录用户首次访问的时间,在他离开的时候把总时间存到用户数据库里面。这里只看看怎样记录首次访问时间。
  我们的bean中的关键部分是这个样子:
  /** a bean to record user browsing time
  * log-in time set by the first page visited
  */
  package myapp;
  public class timerecordbean {
  private long logintime;
  private long logouttime;
  ...
  public void setlogintime(long time) {
  this.logintime = time;
  }
  ...}//end of bean class然后,在所有可能的入口页面 娑脊灿谜庑┐耄?br>  $#@60;html$#@62;$#@60;body$#@62;$#@60;%@ page import=“java.util.*”%$#@62;$#@60;%@ page session=”true”%$#@62;$#@60;% ...long visittime = date.gettime();...
  %$#@62;$#@60;jsp:usebean id=”timerec”class=”myapp.timerecordbean”
  scope=”session”$#@62;$#@60;jsp:setproperty name=”timerec”
  property=”longintime”
  value=”$#@60;%= visittime%$#@62;”/$#@62;$#@60;/jsp:usebean$#@62;...$#@60;/body$#@62;$#@60;/html$#@62;现在,不论用户从哪一个页面进入你的网站,你都会得到进入的时间。再加上对用户id的记录和用户退出时的检测就能实现你的统计了。


 


关键字 本文所属关键字

相关 与本文相关文章

分类 所有文章关键字导航

源码编程相关

Java   Asp   PHP   .Net   XML   C/C++   CGI   VB   Jsp   J2ee   J2se   J2me   EJB   Servlet   Tomcat   Resin   Struts   Weblogic   Eclipse   ANT   GUI   JMS   Web servise   IDEA   Webphere   Hibernate   Spring   Jboss   Applet   Swing   Socket   Javamail   Perl   Ajax   P2P   安全   模式   框架   测试   开源   游戏

SQL数据库相关

My-SQL   Ms-SQL   Access   DB2   Oracle   Sybase   SQLserver   索引   存储过程   加密   数据库   分页   视图  

手机无线相关

3G   Wap   CDMA   GRPS   GSM   IVR   彩信   短信   无线   增值业务

网页设计制作相关

HTML   CSS   网页配色   网页特效   Javascript   VBscript   Dreamweaver   Frontpage   JS   Web   网站设计

网站建设推广相关

建站经验   网站优化   网站排名   推广   Alexa

操作系统/服务器相关

Windows XP   Windows 2000   Windows 2003   Windows Me   Windows 9.x   Linux   UNIX   注册表   操作系统   服务器   应用服务器

图形图像多媒体相关

Photoshop   Fireworks   Flash   Coreldraw   Illustrator   Freehand   Photoimpact   多媒体   图形图像

标准 网站致力的规范

Valid CSS!

无不良内容,无不良广告,无恶意代码

Valid XHTML 1.0 Transitional

creativecommons