request、session 和 application的区别

request 在当前请求中有效
 session 在当前会话中有效
 application 在一次应用程序中有效
作用域意义实现接口
requestHTTP请求内HttpServletRequest
sessionHTTP会话内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 方法进行信息传递。

 

 

  • 3
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

茶色岛^

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值