首先申明本测试用例非本人原创,启发来源于互联网上某篇文摘,下面切入正题:)。先看测试代码,很简单,一个Java文件和一个JSP文件。
Test.java
package test;
import java.util.Date;
import java.text.SimpleDateFormat;
public class Test {
Date d=new Date();
public Test() {
//super();
System.out.println("在构造方法中");
// TODO Auto-generated constructor stub
}
public String getDateTime(){
System.out.println("在实例方法中");
SimpleDateFormat format=new SimpleDateFormat("yyyy-MM-dd-hh-mm-ss");
String now=format.format(d);
return now;
}
}
index.jsp
<%@page language="java" contentType="text/html;charset=gb2312"%>
<jsp:useBean id="tobby" class="test.Test" scope="page"/>
<%= tobby.getDateTime()%>
OK,下面开始我们的测试
1.page/request
在scope为page或者request的时候,我每一次刷新页面或者新开一个页面,页面上总是显示的最新的时间,并且在“构造方法中”“在实例方法中”总是成对出现,这说明了当scope为page或者request的时候,每次装载页面都会重新调用构造方法生成该bean的一个实例,这就导致了页面上的时间每次都是变化的。(因为在调用构造方法的时候,会执行Date d=new Date(),从而生成一个新的时间)
2.session
ok,我现在把scope改为session,再来刷新页面或者新开一个页面进入,看会出现什么情况。这时会看到任凭你如何刷新页面时间都不变了,但是如果新开一个页面进入时间就和前一个页面不同了,但之后再怎么刷新也不会变了。另外,在刚进入页面时,会同时出现
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有