• JSP传值2


    session内置对象:

    SESSION ID=B564A2D318ECDF70EB94C6DE2080E951

     

     

    客户端的session 其实是标记了你的请求来自哪个浏览器

    问题1:永远都一样吗?

        答:重启了浏览器,你的session id就改变了,

    结果会导致,再无法取回原来在服务端保存的数据。

     

    问题2:假设客户端的session id不变(浏览器不重启),

    那么服务器会一直保存这个session的数据吗?

        答:服务端(tomcat)如果20分钟,没有人动,

    那么这个session就自动销毁。

     

    Session的应用场景:一般而言,就是用于记录你的登录信息

     

    SESSION ID=73A4F52FED80DE48C0C207519DCE6190

     

     

    对于application在整个项目中,变量是有且只有1个,所有客户端都共享同一个application对象。

    人类社会,就是要解决资源的分配问题

    那些应用场景是资源共享呢?

    例如:

    1、  抢火车票

    2、  抽奖

    3、  统计点击次数

     

     

     

    练习:

    t1.jsp  创新一个新的session

    t2.jsp  取出来显示

    t3.jsp  取出来后,自增1,然后再重新赋值session

     

     

    t1

    <%session.setAttribute("abc", 0);%>

     

    t2

    <%

    int i = (Integer)session.getAttribute("abc");

    out.println("i的值:"+i);

    %>

     ${abc}

     

    t3

    <%

    int i = (Integer)session.getAttribute("abc");

    //把取出来的值,自增1

    i = i + 1;

    //把运算后新的值,重新赋值给session

    session.setAttribute("abc", i);

    out.println("i的值:"+i);

    %>

     

     

    Application

    a1.jsp

    <%

    application.setAttribute("abc", 0);

    %>

    a2.jsp

    <%

    int i = (Integer)application.getAttribute("abc");

    i++;

    application.setAttribute("abc", i);

    %>

    ${abc}

     

    Session属性和application的异同

    1、 session和application、request 在配置属性,代码一样的

    2、  session对每一个用户(浏览器)是单独的,而application的所有用户(浏览器)是共享的一个的。从使用角度来讲,共享同1个变量会出现资源争夺的冲突。(绝大部分时候都不用application的)

    3、  session服务器默认只保存20分钟(可以修改),而application会一直存在,直到tomcat关闭。

  • 相关阅读:
    win10下Anaconda3在虚拟环境python_version=3.5.3 中配置pyspark
    在Pycharm上编写WordCount程序
    ASP.NET Core读取AppSettings
    如何高逼格读取Web.config中的AppSettings
    C# 防止同时调用=========使用读写锁三行代码简单解决多线程并发的问题
    C#double转化成字符串 保留小数位数, 不以科学计数法的形式出现。
    Sql Server 里的向上取整、向下取整、四舍五入取整的实例!
    ECMAscript5 新增数组内函数
    js 严格模式
    js中数组去重
  • 原文地址:https://www.cnblogs.com/wudashuai/p/9149458.html
Copyright © 2020-2023  润新知