-
request、session 和 application的区别
| request | 在当前请求中有效 |
| session | 在当前会话中有效 |
| application | 在所有应用程序中有效 |
| 作用域 | 意义 | 实现接口 |
| request | HTTP请求内 | HttpServletRequest |
| session | HTTP会话内 | HttpSession |
| application | 服务器生命周期内 | ServletContext |
request
1.Web交互的最基本单位为HTTP请求,每个用户从进入网站到离开网站这段过程称为一个HTTP会话,一个服务器的运行过程中会有多个用户访问
2.一个HTTP请求的处理可能需要多个Servlet合作,几个Servlet之间可以通过HttpServletRequest接口的两个方法传递信息,方法如下
void setAttribute(String name, Object value) 将对象 value 以 name为名称保存到request作用域中
Object getAttribute(String name)从request作用域中取得指定名字的信息
这两种方法一般成对出现。都是在服务器端内部执行的,客户端不知道服务器端是否执行过。
3.doGet()、doPost()函数的第一个参数就是 HttpServletRequest对象, 使用这个对象的 setAttribute 即可传递信息。
session(会话作用域)
1.对象内数据的存活范围是当前浏览器页面的时间。只要浏览器窗口未关闭,session对象就一直存在。
2.Object session.getAttribute(“name”) 从session中获取信息
session.setAttribute(String name, Object value)向session中保存信息
HttpServletRequest.getSession()方法可以获得HttpSession对象
session HttpServletRequest.getSession()获取当前请求所在的session的对象
3.浏览器发出第一个HTTP请求即可认为会话开始,如果一定的时间内客户端没有反应,则认为会话结束。 Tomcat的默认值为120分钟,但这个值也可以通过HttpSession 的 setMaxInactiveInterval 方法来设置。
application(服务器启动到关闭的整段时间)
1.只要服务器没有关闭,application对象中的数据就一直存在,
2.Object getAttribute(String name) 从application中获取信息
void setAttribute(String name, Object value)向application作用域中设置信息
3.application作用域上的信息传递通过ServetContext实现
可以看到,每个作用域除了实现接口不同、意义不同之外,它们的使用方法和作用都是相同的, 都是通过 getAttribute 和 setAttribute 方法进行信息传递。
-
相关阅读:
vite+vue+cesium
SSH远程登录网络设备
代码整洁之道-读书笔记之对象和数据结构
5步绘制软件开发流程图
淘宝商品详情接口,商品属性接口,商品信息查询,商品详细信息接口,h5详情,淘宝APP详情
「Redis数据结构」动态字符串(SDS)
掌握这五点,客户重复下单率高达90%
rust打包编译为mac或者linux可执行文件,发送到别的电脑不能运行
数据库产生“死锁”
逍遥自在学C语言 | 指针陷阱-空指针与野指针
-
原文地址:https://blog.csdn.net/weixin_62275996/article/details/126168297