• jsp的四种范围


    jsp有四种范围,可以说是四种对象,这四种对象对应不同的作用范围,所以我们说jsp中的四种范围,这四种范围作用域由大到小分别是page>request>session>application


    利用这四个对象最常用的就是传值,在一个地方设置值,在另一个地方获取值,之前在一篇文章中写到了传值


    这四种范围除了page用pageContext来设置和获取,其他都可以用本对象名来设置和获取


    page:pageContext.setAttribute("key","value")设置变量,pageContext.getAttribute("key","value")获取变量

    request:request.setAttribute("key","value")设置变量,request.getAttribute("key","value")获取变量

    session:session.setAttribute("key","value")设置变量,session.getAttribute("key","value")获取变量

    application:application.setAttribute("key","value")设置变量,application.getAttribute("key","value")获取变量


    page:

    page代表的是当前页面,所以他的范围只是当前页面,在jsp经过编译后的java代码文件中有这么一句,也就是说在jsp页面中this代表的就是page当前页面,一个jsp中有

    一个page,所以不能通过page在不同页面中传值

    request:

    request的范围是一次请求,在不同的页面之间可以用request来传值,条件是不可以用重定向,必须要用转发,转发和重定向的区别是:转发在服务器端进行不和用户

    的客户端发生交互,在服务器的两个页面之间执行转发,用户的浏览器上的网址不发生改变,而重定向是服务器返回给客户端的浏览器,通过浏览器再向服务器发送一次请求,

    等于和客户端发生了一次交互,浏览器上的网址发生改变。重定向和转发对应的是分贝对应的是两次请求和一次请求。通过<jsp:forward page= "……jsp"/>实现两个页面之间的

    转发。

    session:

    session 代表的范围是一次会话,用户初次访问的时候,产生一次会话,当时间超时或者关闭当前会话的时候(关闭当前浏览器,再打开一个浏览器),session失

    效,在当前会话期间,所有的页面之间是共享的。

    application:

    application 作用域最大,可以理解为一个全局变量,创建之后,只要服务器开启就一直有效,直到服务器关闭。在所有的页面之间共享,即使是再次打开浏览器。

    所以在程序中不宜创建过多的application,会带来资源上的消耗。


  • 相关阅读:
    进程间通信(一):竞争条件与相互排斥方案
    (素材源代码) 猫猫学iOS 之UIDynamic重力、弹性碰撞吸附等现象牛逼Demo
    <html>
    模运算的规则
    ubuntu16.04重置root密码
    rancheros在vm主机部署
    基于centos7.6离线部署开k3s
    centos7.6在线yum安装docker-ce
    centos在线安装ffmpeg
    tar.bz2解压异常
  • 原文地址:https://www.cnblogs.com/duzhentong/p/7816535.html
Copyright © 2020-2023  润新知