request.getSession.setAttribute().....

request.getSession().setAttribute("xxx", "xxx"); request.setAttribute(); request.getSession().setAttribute()的意思是获得当前会话的session,然后再setAttribute到session里 面去,有效范围是session而不是request.而request.setAttribute()是setAttribute到request中去,有效范 围是requestsession对象是jsp的内置对象,是由容器自动创建的,如果你用的是tomcat,就由tomcat来给你创 建,如果用的是weblogic就由weblogic给你创建。容器内部是如何创建的我不大清楚,我估计是这样的,支持 servlet规范的容器(也就是服务器)里有一个实现了HttpSession接口的一个类,容器启动时使用单例模式(这里也 许不对)来实例化这个类。再把这个类的实例赋值给session。用别人的文章“解释一下当前会话的session”的意思 服务端不能主动连接客户端,只能被动等待并答复客户端请求。客户端连接服务端,发出一个HTTP Request,服务端 处理请求,并且返回一个HTTP Response给客户端,本次HTTP Request-Response Cycle结束。我们看到,HTTP协 议本身并不能支持服务端保存客户端的状态信息。于是,Web Server中引入了session的概念,用来保存客户端的状 态信息。这里用一个形象的比喻来解释session的工作方式。假设Web Server是一个商场的存包处,HTTP Request 是一个顾客,第一次来到存包处,管理员把顾客的物品存放在某一个柜子里面(这个柜子就相当于Session),然后把 一个号码牌交给这个顾客,作为取包凭证(这个号码牌就是Session ID)。顾客(HTTP Request)下一次来的时 候,就要把号码牌(Session ID)交给存包处(Web Server)的管理员。管理员根据号码牌(Session ID)找到相 应的柜子(Session),根据顾客(HTTP Request)的请求,Web Server可以取出、更换、添加柜子(Session) 中的物品,Web Server也可以让顾客(HTTP Request)的号码牌和号码牌对应的柜子(Session)失效。顾客 (HTTP Request)的忘性很大,管理员在顾客回去的时候(HTTP Response)都要重新提醒顾客记住自己的号码牌 (Session ID)。这样,顾客(HTTP Request)下次来的时候,就又带着号码牌回来了。Session ID实际上是在客 户端和服务端之间通过HTTP Request和HTTP Response传来传去的。号码牌(Session ID)必须包含在HTTP Request里面。关于HTTP Request的具体格式,请参见HTTP协议(http://www.w3.org/Protocols/)。这里 只做一个简单的介绍。

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
request.getSession().setAttribute()是用来在session对象中设置属性值的方法。通过这个方法,可以将参数存储在session中,并且可以在多个页面上使用。\[3\]这个方法可以通过sessionID得到自己的session,并且即使重定向客户端也不会丢失。\[3\]在引用\[2\]中的例子中,通过request.getSession().setAttribute("name", str)将一个名为"name"的属性赋值为"huxiwen"。然后通过request.getSession().getAttribute("name")可以获取到这个属性的值。\[2\]所以,通过request.getSession().setAttribute()方法可以给session对象设置属性值。 #### 引用[.reference_title] - *1* *2* [对request.getSession().setAttributerequest.getSession().getAttribute()的理解](https://blog.csdn.net/weixin_42200027/article/details/80482716)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [request.setAttribute()和request.getSession().setAttribute()解释](https://blog.csdn.net/sinat_15274667/article/details/51585538)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值