request.getSession().setAttribute 和 request.setAttribute 的区别?

banditgao 2007-09-21 10:32:01
request.getSession().setAttribute

request.setAttribute 的区别?

我看了一个bbs的程序,struts中的action里放的都是request.getSession().setAttribute ,然后在forward到的页输出属性,但是为什么他不写request.setAttribute 呢?二者什么区别呢?在什么情况下使用?
...全文
2165 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
cpring 2008-11-16
  • 打赏
  • 举报
回复
长见识了。。呵呵
ienkd123 2007-12-24
  • 打赏
  • 举报
回复
[i]dsasgas[u][/[/i]u]
banditgao 2007-09-24
  • 打赏
  • 举报
回复
呵呵 谢谢 我看错了 这个问题没必要问的 我把它当成新的东西了 没注意看呢
menhal 2007-09-21
  • 打赏
  • 举报
回复
第一个是保存在session里
第二个是保存在request里
Lisliefor 2007-09-21
  • 打赏
  • 举报
回复
了解一下Jsp里面的内置对象,Google Please !
request、response、page、session、application、out、exception、pageContent、config。

page对象在当前页面有效。
session在一次会话期内有效,例如:访问一个论坛,登陆后,你的用户名等信息被保存到session中,在session过期之前或你关闭这个网页前,用户名信息都可以通过request.getSession().getAttribute()方式获得。
request在当次的请求的url之间有效,例如,你请求某个servlet,那么你提交的信息,可以使用request.getAttribute()方式获得,而当你再次跳转后,这些信息将不存在。
application在服务器开启后,一直保持有效状态,直到服务器关闭。
angelinsky 2007-09-21
  • 打赏
  • 举报
回复
request.setattrbute()顾名思义只能在一个request内有效,如果重定向回客户端,将取不到值。request.getsession.setattribute()则可以通过jsessionid得到自己的session,进而取回其中的值,即使重定向回客户端也无所谓.
jaysea 2007-09-21
  • 打赏
  • 举报
回复
要保存session呀。。
for_cyan 2007-09-21
  • 打赏
  • 举报
回复
在B/S应用中有三种作用域
1.application
2.session(会话)
3.request(请求)
众所周知,http协议是无状态的,由服务器来管理会话状态,就有了这三种域,按需求放置变量
一般session比较浪费资源,request则是保存一次请求的
mgli129 2007-09-21
  • 打赏
  • 举报
回复
可能是想判断session过期的情况

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧