JavaBean的保存范围

字体大小: 中小 标准 ->行高大小: 标准
JavaBean的保存范围
 
<jsp:useBean>存在一个scope属性,表示一个JavaBean的保存范围
保存范围一共有四种,page,request,session,application
 
用于计数操作 Count.java
 









package com.test.demo;

public class Count{

 private int  count=0;

 public Count(){

  System.out.println("一个新Count对象产生");

 }

 public int getCount(){

  return ++this.count;

 }

} 


打包编译后存放到WEB-INF/classes文件夹中
 
 
 
page 范围的JavaBean
 
定义page范围的JavaBean page_bean01.jsp
 









<%@ page language="java" contentType="text/html" pageEncoding="GBK"%>

<html>

<head>

<title>测试</title>

<jsp:useBean id="cou" scope="page" class="com.test.demo.Count"/>

</head>

<body>

<h2>第<jsp:getProperty name="cou" property="count"/>次访问</h2>

<jsp:forward page="page_bean02.jsp"/>

</body>

</html> 



跳转后的页面page_bean02.jsp
 









<%@ page language="java" contentType="text/html" pageEncoding="GBK"%>

<html>

<head>

<title>测试</title>

<jsp:useBean id="cou" scope="page" class="com.test.demo.Count"/>

</head>

<body>

<h2>第<jsp:getProperty name="cou" property="count"/>次访问</h2>

</body>

</html> 


Tomcat后台输出:一个新Count对象产生
      一个新Count对象产生
 
 
 
request 范围的JavaBean
 
如果一个JavaBean设置成了request范围,则在一次服务器跳转后,将不会重复声明JavaBean对象
 
设置request范围的JavaBean并跳转 request_bean01.jsp
 









<%@ page language="java" contentType="text/html" pageEncoding="GBK"%>

<html>

<head>

<title>测试</title>

<jsp:useBean id="cou" scope="request" class="com.test.demo.Count"/>

</head>

<body>

<h2>第<jsp:getProperty name="cou" property="count"/>次访问</h2>

<jsp:forward page="request_bean02.jsp"/>

</body>

</html> 



跳转后的页面 request_bean02.jsp
 









<%@ page language="java" contentType="text/html" pageEncoding="GBK"%>

<html>

<head>

<title>测试</title>

<jsp:useBean id="cou" scope="request" class="com.test.demo.Count"/>

</head>

<body>

<h2>第<jsp:getProperty name="cou" property="count"/>次访问</h2>

</body>

</html> 



显示:第二次访问
Tomcat后台输出:一个新Count对象产生
 
 
 
session范围的JavaBean
 
当一个用户连接到Jsp页面后,此session范围的JavaBean将会一直保留,
用户无论如何操作,都不会重新声明新的JavaBean对象
 
设置session范围的JavaBean session_bean01.jsp
 









<%@ page language="java" contentType="text/html" pageEncoding="GBK"%>

<html>

<head>

<title>测试</title>

<jsp:useBean id="cou" scope="session" class="com.test.demo.Count"/>

</head>

<body>

<h2>第<jsp:getProperty name="cou" property="count"/>次访问</h2>

</body>

</html> 


只要页面刷新,count就会一直往上计数,只有使用一个新的session才会重新声明JavaBean
 
 
 
application范围的JavaBean
 
application范围的JavaBean是所有用户共同拥有的,只要声明后,所有用户都可以直接访问
 
定义application范围的JavaBean application_bean.jsp
 









<%@ page language="java" contentType="text/html" pageEncoding="GBK"%>

<html>

<head>

<title>测试</title>

<jsp:useBean id="cou" scope="application" class="com.test.demo.Count"/>

</head>

<body>

<h2>第<jsp:getProperty name="cou" property="count"/>次访问</h2>

</body>

</html> 


除非关闭服务器,JavaBean对象才会消失
 
 

此文章由 http://www.ositren.com 收集整理 ,地址为: http://www.ositren.com/htmls/68772.html