session.setAttribute
和request.setAttribute
之间有什么区别?
答案 0 :(得分:9)
范围, session属性仅在请求
中生成所有会话和请求属性答案 1 :(得分:2)
差异在于范围。请求范围的属性仅在处理当前请求时可见。会话属性在来自同一用户的多个请求之间是持久的。会话支持机制可能不同(最普遍的是基于cookie),但它们都保证会话attrigbute持久性,直到用户的会话保持不变。
答案 2 :(得分:1)
请求属性仅在request
对象生存期内可用。
filters, servlet, jsp, include, forward
使用相同的请求对象。
请求完成后,请求对象将被销毁。
在会话结束或浏览器关闭之前,会话属性可用。因此,差异在于范围。
例如,像 page1-> page2-> page3-> page4 这样的流程。 session.setAttribute
会在所有页面中提供密钥。但是如果我们在第2页中使用request.setAttribute
,那么只有page3可以获得第2页中设置的键值。
request.setAttribute()
可以帮助你摆脱隐藏的领域。