Linux安全网 - Linux操作系统_Linux 命令_Linux教程_Linux黑客

会员投稿 投稿指南 本期推荐:
搜索:
您的位置: Linux安全网 > Linux编程 > » 正文

(三十四):JavaBean的保存范围 (JSP学习第十天)

来源: 未知 分享至:

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.cnblogs.com/techstan/)博客


Tags:
分享至:
最新图文资讯
1 2 3 4 5 6
验证码:点击我更换图片 理智评论文明上网,拒绝恶意谩骂 用户名:
关于我们 - 联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 发展历史