JavaWeb中的四个域对象

1.简述:JavaWeb中的对象有四个:PageContext对象(page域),HttpServletRequest对象(request域),HttpSession对象(session域),ServletContext(application)对象。

2.四个域范围大小排名:application域 > session域 > request域 > page域

3.四个域的生命周期:

【1】page域(jsp有效):jsp执行,生命周期开始,jsp执行完毕,生命周期结束。

【2】request域(一次请求):用户发一个请求的时候,生命周期开始,服务器返回响应后,生命周期结束。

【3】session域(一次会话):用户打开游览器访问,开始创建session对象,生命周期开始,session超时,生命结束,或者游览器被关闭,生命周期结束(整个游览器关闭)。

【4】application域(整个Web应用):web应用开始加载的时候开始创建,生命周期开始,web应用关闭或者服务器关闭(前提是web应用已经部署在该服务器上)的时候,生命周期结束。

4.补充:

{【1】}Httpsession对象创建的过程:

HttpSession对象的创建是通过request.getSession()方法来创建的。客户端浏览器在请求服务端资源时,如果在请求中没有jsessionid,getSession()方法将会为这个客户端浏览器创建一个新的HttpSession对象,并为这个HttpSession对象生成一个jsessionid,在响应中通过状态Cookie写回给客户端浏览器,如果在请求中包含了jsessionid,getSession()方法则根据这个ID返回与这个客户端浏览器对应的HttpSession对象。
getSession()方法还有一个重载方法getSession(true|false)。当参数为true时与getSession()方法作用相同。当参数为false时则只去根据jsessionid查找是否有与这个客户端浏览器对应的eHttpSession,如果有则返回,如果没有jsessionid则不会创建新的HttpSession对象。

{【2】}Cookie和HttpSession对象的区别:

Cookie数据存放在客户的浏览器或系统的文件中,而HttpSession中的数据存放在服务器中。
Cookie不安全,而HttSession是安全的。
单个Cookie保存的数据不能超过4K,很多浏览器都限制一个域名保存Cookie的数量。而HttpSession没有容量以及数量的限制。
HttpSession的使用建议
HttpSession对象是保存在服务端的,所以安全性较高。我们可以在HttpSession对象中存储数据,但是由于HttpSession对象的生命周期不固定,所以不建议存放业务数据。一般情况下我们只是存放用户登录信息。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值