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 作用域之间的区别的更多相关文章

  1. Java Web开发和Python Web开发之间的区别

    今天的文章讨论了Java Web开发和Python Web开发之间的区别.我不鼓励我们在这里从Java Web迁移到Python Web开发.我只是想谈谈我的感受.它不一定适合所有情况,仅供我们参考. ...

  2. Java和JavaScript之间的区别

    1.简介 通过优锐课核心java学习笔记中,我们可以看到,Java和JavaScript之间的区别.我们将在本文中比较Java语言和JavaScript语言.JavaScript由Netscape开发 ...

  3. App server 与 Web server之间的区别

    原文: http://www.javaworld.com/javaqa/2002-08/01-qa-0823-appvswebserver.html 简单来说,web服务器提供页面给浏览器,而app服 ...

  4. java web作用域page request session application

    转载自:http://blog.csdn.net/wyd458549392147/article/details/6944481 1.page指当前页面.只在一个jsp页面里有效 . 2.reques ...

  5. web service, wcf, wcf rest, web api之间的区别

    在.NET Framework中,有很多种技术可以创建基于http协议的服务,譬如说web service, wcf,wcf rest和web api等等.网上有很多的文章教我们如何开发.使用这几种技 ...

  6. WCF、WebAPI、WCF REST、Web Service之间的区别

    在.net平台下,有大量的技术让你创建一个HTTP服务,像Web Service,WCF,现在又出了Web API.在.net平台下,你有很多的选择来构建一个HTTP Services.我分享一下我对 ...

  7. javac.exe、 java.exe、 java虚拟机三者之间的区别与联系

    JDK中 javac:Java编译器,将Java源代码换成字节代: java:Java解释器,直接从类文件执行Java应用程序代码: 先编译  *.java文件――――>*.class文件 运行 ...

  8. Sitecore中Core,Master和Web数据库之间的区别

    Core数据库 正如名称所示,Core Database是Sitecore应用程序的主干,它可用于多种用途. 核心数据库包含所有Sitecore设置. 它包含桌面模式,内容编辑器,页面编辑器等的定义. ...

  9. python的多线程和java的多线程之间的区别

    在python中,由于Cpython解释器的全局解释器的存在,那么多线程的话在同一时刻只能有一个线程执行,意思就是python中的多线程只能并发执行, 没有办法实现真正的并行,也就是无法利用多核CPU ...

随机推荐

  1. hdu 1155 Bungee Jumping

    http://acm.hdu.edu.cn/showproblem.php?pid=1155 Bungee Jumping Time Limit: 2000/1000 MS (Java/Others) ...

  2. pureMVC学习之一

    //1var  MainWindow: TMainWindow;begin  Application.Initialize;  Application.MainFormOnTaskbar := Tru ...

  3. 在Ribbon中,中文换行位置不对怎么办

    在Ribbon代码的编写时,关于UI上面设置Button的中文字,经常会出现不想换行的地方换行的情况,比如下图: 我如果希望中国一行,然后只有一行怎么办呢. 网上流传的很多方法就是直接加空格,但是很遗 ...

  4. 建表的sql

    1. 创建用户表 create table user( id int unsigned not null primary key auto_increment comment '自增id', user ...

  5. POJ2503——Babelfish

    Description You have just moved from Waterloo to a big city. The people here speak an incomprehensib ...

  6. UI:触摸事件 与 事件的回应

    事件分类:晃动.触摸.远程控制(如遥控器.红外控制) 触摸开始时候的方法(判断单击,双击,三击事件可以写在这里) -(void)touchesBegan:(NSSet *)touches withEv ...

  7. GetSafeHwnd()函数解释[转]

    当我们想得到一个窗口对象(CWnd的派生对象)指针的句柄(HWND)时,最安全的方法是使用GetSafeHwnd()函数,通过下面的例子来看其理由: CWnd *pwnd = FindWindow(“ ...

  8. mysql修改用户密码 新增用户

    修改密码: mysql> grant all privileges on *.* to yongfu_b@'192.168.1.%' identified by 'my_password_new ...

  9. android如何实现开机自动启动Service或app

    第一步:首先创建一个广播接收者,重构其抽象方法 onReceive(Context context, Intent intent),在其中启动你想要启动的Service或app. import and ...

  10. 深入理解JavaScript-replace

    replace方法是属于String对象的,可用于替换字符串. 简单介绍: StringObject.replace(searchValue,replaceValue) StringObject:字符 ...