JAVA WEB 作用域之间的区别
JAVA WEB 作用域
1、page属性范围(pageContext)
a、在一个页面设置的属性,跳转到其他页面就无法访问了(包括重定向和)。
示例:pageScopeDemo01.jsp
<%@ page import="java.util.*" language="java" contentType="text/html; c harset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http:// www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>page属性范围(pageContext)</title>
</head>
<body>
<%
//此时设置的属性只能够在本页中取得
pageContext.setAttribute("name","英雄联盟");//设置属性
pageContext.setAttribute("date",new Date()); //设置属性
//注意:这里设置的两个属性的名字分别为name和date,这两个是字符串类型的数据,但对应的属性值英雄联盟和new Date这个两个值却不是字符串类型,而是两个Object类型的数据 。
%>
<%
//取得设置的属性
String refName = (String)pageContext.getAttribute("name");
//由于取得的值为Object类型,因此必须使用String强制向下转型,转换成String类型
Date refDate = (Date)pageContext.getAttribute("date");
%>
<h1>姓名:<%=refName%></h1>
<h1>⽇日期:<%=refDate%></h1>
</body>
</html>
b、这里说一下,如果需要检验的,使⽤用jsp:forward标签进行服务器器端跳转。
示例:<jsp:forward page="地址.jsp" />
c、这里的跳转页面,包括重定向(客户端的URL发生改变)和转发(服务器端的URL不发生改变,进行服务器器端跳转)。
2、request属性范围
a、request属性范围表示在一次服务器跳转中有效,只要是服务器跳转(转发或派发),则设置的 request属性可以一直传递下去。
3、session属性范围
a、session设置的属性不管如何跳转,都可以取得的。当然,session只针对一个用户
b、在第一个页面上设置的属性,跳转(服务器跳转/客户端跳转)到其他页面之后,其他的页面依然可以取得第一个页面上设置的属性。
c、这里不管是客户端跳转还是服务器端跳转都可以访问第一个页面设置的session属性,条件是只限制于当前用户。如果,此时新开了一个浏览器,则无法访问session的属性值。
4、application属性范围
a、application属性范围是在服务器上设置的一个属性,所以一旦设置之后任何用户 都可以浏览到此属性。
b、如果把Tomcat服务器先关闭后再重新启动,打开浏览器窗口运行,直接去获取 application属性设置的值,是无法获取的。
笔者:香草玥儿
2016-10-19 17:17:02
JAVA WEB 作用域之间的区别的更多相关文章
- Java Web开发和Python Web开发之间的区别
今天的文章讨论了Java Web开发和Python Web开发之间的区别.我不鼓励我们在这里从Java Web迁移到Python Web开发.我只是想谈谈我的感受.它不一定适合所有情况,仅供我们参考. ...
- Java和JavaScript之间的区别
1.简介 通过优锐课核心java学习笔记中,我们可以看到,Java和JavaScript之间的区别.我们将在本文中比较Java语言和JavaScript语言.JavaScript由Netscape开发 ...
- App server 与 Web server之间的区别
原文: http://www.javaworld.com/javaqa/2002-08/01-qa-0823-appvswebserver.html 简单来说,web服务器提供页面给浏览器,而app服 ...
- java web作用域page request session application
转载自:http://blog.csdn.net/wyd458549392147/article/details/6944481 1.page指当前页面.只在一个jsp页面里有效 . 2.reques ...
- web service, wcf, wcf rest, web api之间的区别
在.NET Framework中,有很多种技术可以创建基于http协议的服务,譬如说web service, wcf,wcf rest和web api等等.网上有很多的文章教我们如何开发.使用这几种技 ...
- WCF、WebAPI、WCF REST、Web Service之间的区别
在.net平台下,有大量的技术让你创建一个HTTP服务,像Web Service,WCF,现在又出了Web API.在.net平台下,你有很多的选择来构建一个HTTP Services.我分享一下我对 ...
- javac.exe、 java.exe、 java虚拟机三者之间的区别与联系
JDK中 javac:Java编译器,将Java源代码换成字节代: java:Java解释器,直接从类文件执行Java应用程序代码: 先编译 *.java文件――――>*.class文件 运行 ...
- Sitecore中Core,Master和Web数据库之间的区别
Core数据库 正如名称所示,Core Database是Sitecore应用程序的主干,它可用于多种用途. 核心数据库包含所有Sitecore设置. 它包含桌面模式,内容编辑器,页面编辑器等的定义. ...
- python的多线程和java的多线程之间的区别
在python中,由于Cpython解释器的全局解释器的存在,那么多线程的话在同一时刻只能有一个线程执行,意思就是python中的多线程只能并发执行, 没有办法实现真正的并行,也就是无法利用多核CPU ...
随机推荐
- Flex布局如何让子类在超出边界时隐藏掉
在flex4中,因为必须添加<s:Scroller>标签才能出现滚动条,如果一个容器例如Panel没有添加滚动条,那么添加到Panel中的child的位置如果超出了Panel的边界,那么这 ...
- Leetcode226:Invert Binary Tree
Invert a binary tree. 4 / \ 2 7 / \ / \ 1 3 6 9 to 4 / \ 7 2 / \ / \ 9 6 3 1 /** * Definition for a ...
- C#泛型在unity3D中的运用...
泛型是什么? 这是摘自百度百科中对泛型的介绍: 泛型是c#2.0的一个新增加的特性,它为使用c#语言编写面向对象程序增加了极大的效力和灵活性.不会强行对值类型进行装箱和拆箱,或对引用类型进行向下强制类 ...
- CountDownLatch和CyclicBarrier的区别
[CountDownLatch.CyclicBarrier和Semaphore]http://www.cnblogs.com/dolphin0520/p/3920397.html [CountDo ...
- js 中使用工厂方法和构造器方法
1 直接创建对象 <!DOCTYPE html> <html> <head lang="en"> <meta charset=" ...
- 全代码实现ios-3
决定做ios开发的时候,看了很多本关于ios开发的书籍,其中有国内的人写的,也有根据外国的书翻译过来的. 很可惜,这些书里的例子没办法照搬过来,因为Xcode更新换代太快了,而这些书本的内容更新的速度 ...
- eclipse提示servlet不存在 的解决办法
在以前的版本中,Tomcat的common/lib目录下有一个名为servlet-api.jar的包,把它拷贝至你的java安装目录下jre/lib/ext下就可以了. 如果是:tomcat6就在To ...
- C++程序员的javascript教程
本文主要目的是向c++程序员阐述javascript的编程思想,以及编程中的误区. 变量声明: 1.变量声明的解析早于代码运行.JavaScript引擎的工作方式是,先解析代码,获取所有被声明的变 ...
- PostgreSQL中的AnyArray例子
http://www.joeconway.com/presentations/function_basics.pdf CREATE FUNCTION myappend(anyarray, anyele ...
- div 中如何加各种边框(转)
边框风格属性(border-style) 这个属性用来设定上下左右边框的风格,它的值如下: none (没有边框,无论边框宽度设为多大) dotted (点线式边框) dashed (破折线式边框) ...