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,会带来资源上的消耗。

jsp的四种范围的更多相关文章

  1. jsp中四种传递参数的方法

    jsp中四种传递参数的方法如下: 1.form表单 2.request.setAttribute();和request.getAttribute(); 3.超链接:<a herf="i ...

  2. 牛客网Java刷题知识点之什么是JSP、JSP有哪些优点、JSP的9大内置对象、JSP的四大域对象、JSP的四种范围

    不多说,直接上干货! https://www.nowcoder.com/ta/review-java/review?tpId=31&tqId=21175&query=&asc= ...

  3. JSP中四种属性保存范围(1)

    一.四种属性范围 在JSP中提供了四种属性保存范围 page:在一个页面内保存属性,跳转之后无效request:在一次服务请求范围内,服务器跳转后依然有效session:-在一次会话范围内,无论何种跳 ...

  4. (转)JSP中四种传递参数的方法:

    1.form表单 2.request.setAttribute();和request.getAttribute(); 3.超链接:<a herf="index.jsp"?a= ...

  5. JSP中四种属性保存范围(2)

    1.session <%@ page language="java" contentType="text/html" pageEncoding=" ...

  6. JSP中四种传递参数中文乱码问题

    查看来源:http://blog.csdn.net/hackerain/article/details/6776083

  7. jsp九大内置对象、四种作用域、跳转方式

    jsp有四种属性范围: page -> 页面级别,显然只有在一个页面内可用. request -> 请求级别 服务器跳转,一次请求之后消失. session -> 会话级别 客户端跳 ...

  8. JSP九大内置对象和四种属性范围解读

    林炳文Evankaka原创作品.转载请注明出处http://blog.csdn.net/evankaka 摘要:本文首先主要解说了JSP中四种属性范围的概念.用法与实例. 然后在这个基础之上又引入了九 ...

  9. jsp的两种跳转方式和区别

    1.forward跳转: 服务器端跳转,地址栏不改变: 执行到跳转语句后马上无条件跳转,之后的代码不再执行(跳转之前一定要释放全部资源): request设置的属性在跳转后的页面仍可以使用: 使用&l ...

随机推荐

  1. hive: join 遇到问题

    在表连接时遇到一个问题: insert overwrite table BF_EVT_CRD_CRT_TRAD2 select BF_EVT_CRD_CRT_TRAD.*, jjkdjk.CUST_N ...

  2. 追溯 React Hot Loader 的实现

    文:萝卜(沪江金融前端开发工程师) 本文原创,转载请注明作者及出处 如果你使用 React ,你可以在各个工程里面看到 Dan Abramov 的身影.他于 2015 年加入 facebook,是 R ...

  3. Linux CentOS7下安装python3

    在CentOS7下,默认安装的就是python2.7,我现在来教大家如何安装python3: 1.首先安装python3.6可能使用的依赖 # yum -y install openssl-devel ...

  4. Shell脚本编程学习入门 01

    从程序员的角度来看, Shell本身是一种用C语言编写的程序,从用户的角度来看,Shell是用户与Linux操作系统沟通的桥梁.用户既可以输入命令执行,又可以利用 Shell脚本编程,完成更加复杂的操 ...

  5. FusionCharts 2D帕累托图

    1.了解帕累托图的特性以及和其他图的共性 2.设计帕累托图页面中引入图的类型以及怎么引入到页面 Pareto2D.html: <!DOCTYPE HTML PUBLIC "-//W3C ...

  6. 【html5】html学习笔记1

    html5语法规则 1.标签要小写 2.省略标签 如 <tr> <td> <tr><td> 3.属性不加” 如 <div  id=div1> ...

  7. 如何利用JavaScript遍历JSON数组

    1.设计源码 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www. ...

  8. python datetime 与 time模块

    time模块 tmie.strptime :将时间字符串转化为时间类型 格式:time.strptime(string[string[, format]) 结果可以利用利用time.tm_year 返 ...

  9. Linux安装jdk1.8和配置环境变量

    每次感觉配这个都很简单,但每次都要查一下,毕竟配错一点 后面都比较麻烦,记录一下,方便以后查看. linux 下安装jdk和windows下的安装是一样的,之前在windows安装的时候是先下载压缩包 ...

  10. Bzoj2134:单选错位

    题面 Bzoj Sol 第\(i\)道题选对的概率就是\(\frac{min(a[i-1], a[i])}{a[i]*a[i-1]}\) # include <bits/stdc++.h> ...