session.setAttribute
和有什么区别request.setAttribute
?
问问题
20107 次
3 回答
11
范围,会话属性存在于所有会话中,请求属性仅在一个请求中
于 2013-06-06T20:22:15.453 回答
3
区别在于范围。请求范围属性仅在处理当前请求时可见。会话属性在来自同一用户的多个请求之间是持久的。会话支持机制可能不同(最普遍的是基于 cookie),但它们都保证会话属性持久性,直到用户的会话保持不变。
于 2013-06-06T20:23:32.623 回答
1
请求属性仅在request
对象生命周期内可用。
filters, servlet, jsp, include, forward
使用相同的请求对象。一旦请求完成,请求对象就会被销毁。
而会话属性在会话结束或浏览器关闭之前都可用。因此,区别在于范围。
例如,像page1->page2->page3->page4这样的流程。session.setAttribute
将使密钥在所有页面中可用。但是如果我们request.setAttribute
在page2中使用,那么只有page3才能得到page2中设置的key值。
request.setAttribute()
可以帮助您摆脱隐藏的字段。
于 2016-08-29T05:33:55.990 回答