Java基础回顾Application(一)
Java Web 中application(应用级) session(会话级) request(请求级)
在JavaWeb 中实现数据共享往往通过定义属性的方法来实现,而什么是属性呢?它类似于Hashmap中的键值对,有属性名和属性值作为设置属性方法的参数,而在其他的地方通过属性名去获取属性的值。
而定义定义不同级别的值,数据共享的范围是有区别的,接下来我就详细的介绍下我对application(应用级) session(会话级) request(请求级)这三种级别的认知。
首先是application(应用级):应用级所作用的范围是最大的,它利用到的类是ServletContext,在一个web被创建时,会自动初始化一个ServletContext对象,我们可以通过getServletContext()方法去获取这个对象,通过setAttribute(参数名, 参数值)方法来进行属性的设置,因为这是一个应用级对象所以你只要在当前的应用中都可以通过获取应用的ServletContext对象然后再通过getAttribute(属性名),去获取到该属性的值从而实现数据的共享。
接下来说说session(会话级) :会话级作用的范围仅此于应用级,那么什么是会话级呢?所谓的会话级,就是创建一个页面后执行的跳转、重定向、整合等都可以是一个回话,只要你不关闭浏览器页面,就是一次会话。 它通过HttpSession类来实现一次会话中的数据共享。类似于ServletContext,首先通过request.getSession()方法去获取一个HttpSession对象,然后采用setAttribute(参数名, 参数值)方法来进行属性的设置,在会话其它部分再通过getAttribute(属性名),去获取到该属性的值从而实现数据的共享。
最后是request(请求级):请求级作用的范围是最小的,它仅作用于一次请求,也就是说客户端向服务器发送一次请求的过程中,这也就意味着重定向是无法访问到request(请求级)的属性的,要想在一次请求中获取请求级属性值,同时还想到另一个Servlet只能选择跳转RequestDispatcher rd = request.getRequestDispatcher("RS2");
rd.forward(request, response);和整合rd.include(request, response);,至于属性的设置和获取用到的是request.setAttribute("name", name)和request.getAttribute("name")方法。
Java基础回顾Application(一)的更多相关文章
- Java基础回顾Application(二)
application对象 1 什么是application对象 ? (1) 当Web服务器启动时,Web服务器会自动创建一个application对象.application对象一旦创建,它将一直存 ...
- 四、Android学习第四天——JAVA基础回顾(转)
(转自:http://wenku.baidu.com/view/af39b3164431b90d6c85c72f.html) 四.Android学习第四天——JAVA基础回顾 这才学习Android的 ...
- 【Spring学习】【Java基础回顾-数据类型】
Java基础回顾过程中,之前对于Java相关基础知识都是从这个人的博客看一些,那边的内容看一下,觉得不够系统化,决定用xmind脑图的形式,将Java基础知识回顾的作为一个系列,当前正在做的会包含: ...
- Java基础回顾_第二部分_Java流程控制
Java基础回顾_第二部分 Java流程控制 Scanner对象(扫描器,捕获输入) import java.util.Scanner; public class Demo01 { public st ...
- Java基础回顾_第一部分
Java基础回顾 基本数据类型 数值类型 什么是字节? 位(bit):是计算机中数据的最小单位 字节(byte):是计算机中数据处理的基本单位,习惯上用大写字母B来表示 1 B = 8 bit 字符: ...
- 1、java基础回顾与加强
一. 基础回顾 1 集合 1.1 集合的类型与各自的特性 ---|Collection: 单列集合 ---|List: 有存储顺序, 可重复 ---|ArrayList: 数组实现, ...
- Java基础回顾
学习基础背景:Acmer.有C/C++基础 以[Java语言程序设计(基础篇)]第10版为参考(感谢YJJ的推荐),列出部分知识点,注意思考背后的原因和好处坏处. [14-16章——关于可视化编程的章 ...
- java基础回顾(2)
java中只有两种类型:基础类型.引用类型 8中基本类型:byte short int long float double char boolean,其中byte类型取值范围[-2^7~2^7-1] ...
- java基础回顾之IO
Java的IO 是Java运用重要部分之一,涉及到的内容也比较多,容易混淆,一段时间不用,可能就会遗忘,要时常回顾记忆一下: (图片来源于网络) Java 流在处理上分为字符流和字节流. 字符流处理的 ...
随机推荐
- Alpha冲刺-(9/10)
Part.1 开篇 队名:彳艮彳亍团队 组长博客:戳我进入 作业博客:班级博客本次作业的链接 Part.2 成员汇报 组员1(组长)柯奇豪 过去两天完成了哪些任务 进一步优化代码,结合自己负责的部分修 ...
- Python 有序字典(OrderedDict)与 普通字典(dict)
Python 的基础数据类型中的字典类型分为:无序字典 与 有序字典 两种类型 1.无序字典(普通字典): my_dict = dict()my_dict["name"] = &q ...
- Android核心技术Intent和数据存储篇
女孩:上海站到了? 男孩:嗯呢?走向世界~ 女孩:Intent核心技术和数据存储技术? 男孩:对,今日就讲这个~ Intent是各个组件之间用来进行通信的,Intent的翻译为"意图&quo ...
- 《http权威指南》读书笔记1
概述 最近对http很感兴趣,于是开始看<http权威指南>.别人都说这本书有点老了,而且内容太多.我个人觉得这本书写的太好了,非常长知识,让你知道关于http的很多概念,不仅告诉你怎么做 ...
- Appium发送中文或其他语言的问题
1. 需要在配置信息中增加'unicodeKeyboard' = “True”字段,如下: def driver_weixin(platformVersion="6.0.1",de ...
- 使用MultipartFile上传文件
转载地址:https://www.cnblogs.com/lunaticcoder/p/9813483.html(具体的看这个这个大佬的博客) 依赖包: <!-- 上传文件依赖组件 --> ...
- Spring Boot实现热部署
在Spring Boot实现代码热部署是一件很简单的事情,代码的修改可以自动部署并重新热启动项目. 引用devtools依赖 <dependency> <groupId>org ...
- hdu 6127---Hard challenge(思维)
题目链接 Problem Description There are n points on the plane, and the ith points has a value vali, and i ...
- cannot download, /home/azhukov/go is a GOROOT, not a GOPATH
问题详情: go环境安装好后,运行go代码也没有问题 下载govendor包的时候提示: cannot download, /home/azhukov/go is a GOROOT, not a GO ...
- 对nginx中location的认识
关于一些对location认识的误区 1.location的匹配顺序是“先匹配正则,在匹配普通”. location的匹配顺序其实是“先匹配普通,在匹配正则”.造成误解的原因是:正则匹配会覆盖普通匹配 ...