zoukankan      html  css  js  c++  java
  • JavaBean-- 保存 范围

    1. page:当前页

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

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

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

    定义一个count.java放在WEB-INFOclasses里

    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,可以直接指定

  • 相关阅读:
    组合模式(Composition)
    [ASP.NET MVC 3 系列] ASP.NET MVC 3 Beta新特性以及.Net开源的趋势最新译文
    [ASP.NET MVC2 系列] Action Filters以及自定义OutputCache ActionFilterAttribute事件发生次序
    [原创]CLR GC垃圾收集过程模拟(用C#来显示垃圾收集过程的视觉效果)
    [ASP.NET MVC 专题] ViewEngine的发展以及应用
    [ASP.NET MVC 专题] 如何为Route构造相关的自定义Configuration
    效率最高的Excel数据导入(c#调用SSIS Package将数据库数据导入到Excel文件中【附源代码下载】)
    ASP.NET页面生命周期的整体把握
    效率最高的Excel数据导入续SSIS Package包制作图解全过程
    Flex父子窗口传值
  • 原文地址:https://www.cnblogs.com/wujixing/p/4954019.html
Copyright © 2011-2022 走看看