1. page:当前页

2. request:一次服务器跳转范围中

3. session:一次用户操作范围,重新打开浏览器失效

4. application:整个服务器保存,服务器关闭才失效

定义一个count.java放在WEB-INFO\classes里

package cn.mldn.lxh.demo ;
public class Count {
private int count = 0 ;
public Count(){
System.out.println("=========== 一个新的Count对象产生 ===========") ;
}
public int getCount(){
return ++ this.count ;
}
}

定义一个page保存范围的jsp文件:

<%@ page contentType="text/html" pageEncoding="GBK"%>
<html>
<head><title>www.mldnjava.cn,MLDN高端Java培训</title></head>
<jsp:useBean id="cou" scope="page" class="cn.mldn.lxh.demo.Count"/>
<body>
<h3>第<jsp:getProperty name="cou" property="count"/>次访问!</h3>
<jsp:forward page="page_bean02.jsp"/>
</body>
</html>

跳转到02:

<%@ page contentType="text/html" pageEncoding="GBK"%>
<html>
<head><title>www.mldnjava.cn,MLDN高端Java培训</title></head>
<jsp:useBean id="cou" scope="page" class="cn.mldn.lxh.demo.Count"/>
<body>
<h3>第<jsp:getProperty name="cou" property="count"/>次访问!</h3>
</body>
</html>

服务器端显示“一个新的Count对象产生”次数:2

显示访问次数:1.

因为两个文件每次都新建对象,所以count也从0开始++

想在服务器跳转时也有效的话,就用request:

01:

<%@ page contentType="text/html" pageEncoding="GBK"%>
<html>
<head><title>www.mldnjava.cn,MLDN高端Java培训</title></head>
<jsp:useBean id="cou" scope="request" class="cn.mldn.lxh.demo.Count"/>
<body>
<h3>第<jsp:getProperty name="cou" property="count"/>次访问!</h3>
<jsp:forward page="request_bean02.jsp"/>
</body>
</html>

02:

<%@ page contentType="text/html" pageEncoding="GBK"%>
<html>
<head><title>www.mldnjava.cn,MLDN高端Java培训</title></head>
<jsp:useBean id="cou" scope="request" class="cn.mldn.lxh.demo.Count"/>
<body>
<h3>第<jsp:getProperty name="cou" property="count"/>次访问!</h3>
</body>
</html>

服务器端显示“一个新的Count对象产生”次数:1,都是01新建对象,02直接使用

访问次数:2,因为01新建,保存到02,所以count+1

session方式:

<%@ page contentType="text/html" pageEncoding="GBK"%>
<html>
<head><title>www.mldnjava.cn,MLDN高端Java培训</title></head>
<jsp:useBean id="cou" scope="session" class="cn.mldn.lxh.demo.Count"/>
<body>
<h3>第<jsp:getProperty name="cou" property="count"/>次访问!</h3>
</body>
</html>

服务器端显示“一个新的Count对象产生”次数:1,刷新后再不创建,因为session保存,除非打开新的浏览器

访问次数:1,2,3++

打开新的浏览器的时候:

服务器端显示“一个新的Count对象产生”次数:1

访问次数:+1

application方式:

<%@ page contentType="text/html" pageEncoding="GBK"%>
<html>
<head><title>www.mldnjava.cn,MLDN高端Java培训</title></head>
<jsp:useBean id="cou" scope="application" class="cn.mldn.lxh.demo.Count"/>
<body>
<h3>第<jsp:getProperty name="cou" property="count"/>次访问!</h3>
</body>
</html>

服务器端显示“一个新的Count对象产生”次数:只要不打开新的浏览器,就不新建。

访问次数:6,7,8... 从session结果开始+1

总结:

和jsp4中范围一样,区别:page范围不用pageContext,可以直接指定

JavaBean-- 保存 范围的更多相关文章

  1. servlet与Javabean之间的区别

    在JSP中调用JAVA类和使用JavaBean有什么区别? 可以像使用一般的类一样使用JavaBean,Bean只是一种特殊的类.特殊在可以通过<jsp:useBean/>调用JavaBe ...

  2. Jqgrid入门-结合Struts2+json实现数据展示(五)

    DEMO用的是ssh框架实现的,具体怎么搭建的就不多做说明了.分页表格的数据操作难点就是数据展现.至于增删改直接用hibernate原生的方法实现即可.         初步分析:表格要实现分页,那么 ...

  3. Servlet和JAVA BEAN 分析探讨

    在JSP中调用JAVA类和使用JavaBean有什么区别? 可以像使用一般的类一样使用JavaBean,Bean只是一种特殊的类.特殊在可以通过<jsp:useBean   />调用Jav ...

  4. Javaweb学习笔记--分层设计

    在早期的JavaWeb应用中,JSP文件负责处理业务逻辑,控制网页流程并创建HTML页面,JSP文件是一个独立的,能自主完成所有任务的模块, 这带来了一系列问题:HTML代码和Java程序代码强耦合在 ...

  5. JSP Servlet SQL 三者之间数据传递

    前言: 最近一直在做WEB开发,现总结一下这一段时间的体会和感触. 切记,web开发重点在于前台数据交互,页面美化而不要太沉溺于底层数据. 浏览器时代来到,向我们召唤出更炫.更简洁.更方便.更大气的网 ...

  6. Android高级_第三方框架Xutils

    xutils的功能主要包括有四个部分:(1)布局视图关联:(2)图片下载与缓存:(3)网络请求:(4)数据库: 1. 使用xutils进行视图注入: (1)在控件声明上方添加@ViewInject() ...

  7. 9.MVC模式 -- 改造源代码

    一.MVC设计模式 软件可以认为有 Model View Controller 来组成 MVC设计模式 要求这三部分 应该尽量独立 互不干扰 使程序结构清晰  便于开发和维护 二.JAVAEE经典三层 ...

  8. JSP、servlet、SQL三者之间的数据传递

    JSP.servlet.SQL三者之间的数据传递 博客分类: web开发 JSPservletSQL数据库连接池web开发  前言: 最近一直在做WEB开发,现总结一下这一段时间的体会和感触. 切记, ...

  9. 从asp.net到jsp:3分钟看透Jsp&Servlet

    零:JSP是谁? 话说故事的开头是这样的:JSP全名为Java Server Pages,其根本是一个简化的Servlet设计:后来的详细事情有请各位自便.美女→找→谷哥 or 帅哥→找→度娘 插播: ...

  10. 6.游戏特别离不开脚本(3)-JS脚本操作java(2)(直接解析JS公式,并非完整JS文件或者函数)

    在游戏中可以考虑数据由javabean保存,逻辑方法由JS提供. public class Bean4JS { private int id; private String name; private ...

随机推荐

  1. 模板singleton模式的C++实现

    模板singleton模式的C++实现 近期回过头整理了一下singleton模式,看了别人写的关于singleton的介绍.发现这个singleton模式虽然简单,但要写一个稳定/线程安全/泛型的模 ...

  2. java URL编程

    一.URL编程技术 URL是统一资源定位器的缩写,它是指向互联网“资源”的指针.URL表示了Internet上某个资源的地址.URL支持http,file,ftp等 多种协议.通过URL标识,可以直接 ...

  3. 滚动条加粗和panel,gridControl结合用

    private void FrmLotterycs_Load(object sender, EventArgs e) { t = 0; UserJuanquanTB = O.get_UserJuanq ...

  4. Python - 字母算术谜题

    如: SEND + MORE == MONEY  9567  + 1085  == 10652 字母和数字一一对应 首字母不为0 解法: import re from itertools import ...

  5. C语言_函数【转】

    引用地址:http://baike.baidu.com/link?url=U9h6MccLYX2w5uyVOqIFd3eps5gR2FZA10jYRLRnc66Ff_F5ZrmXGKA12DT-_2x ...

  6. C语言-字符串文本串联

    要形成包含多个行的字符串,可以串联两个字符串. 为此,请键入正斜杠,然后按 return 键. 反斜杠导致编译器忽略以下换行符. 例如,字符串     "Long strings can b ...

  7. nginx源码学习资源

    http://www.cnblogs.com/yjf512/archive/2012/06/13/2548515.html nginx源码学习是一个痛苦又快乐的过程,下面列出了一些nginx的学习资源 ...

  8. MFC中组合框CComboBox的使用

    假如添加三行数据,其中当选择前两行时,提示自定义提示框信息,选择第三行时,提示当前字符串的内容,实现如下: void Cuse_demo_dllDlg::OnCbnSelchangeCombo1(){ ...

  9. php 项目简单分类

    项目分为:客户需求和自行研发. 商城项目:------------------------商城分类:单商家:商家就是网站所有者.如京东.凡客.          多商家:如淘宝 网站所有者不是卖家.  ...

  10. sql关键字过滤C#方法

    /// <summary> ///SQL注入过滤 /// </summary> /// <param name="InText">要过滤的字符串 ...