request.setAttribute和request.getSession().setAttribute用起来有什么区别

来源:百度知道 编辑:UC知道 时间:2024/06/30 13:54:59
我指的不是作用范围,我指的是一般两个都可以用的时候,是怎么取舍的?那个用的比较多,有什么该注意的地方!

request.setAttribute一次传参数,速度快,缺点是参数只能取一次。
request.getSession().setAttribute保存参数,将参数放入后主要不清,就一直在,随时可以取来用。缺点是比较占用资源。
两个各有好处,根据实际情况使用。

第一个将变量放入request 也就是他的生存范围一个请求那么长
它适合用于但其应用的,比如菜单id

第二个是放入session,他的生命长度比第一个要长。
他适合长期应用的比如用户登陆信息

补充一点:
你这是servlet中的代码吧。
第二种,系统开销大,占用更多的内存。

request指一次请求,完了就死亡了
session指的是一次会话:也就是说只要1、浏览器不关,2、session不被人为的死亡,session就跟着走,比如说你登录邮箱后,你的用户名一直跟你走,session的应用 在购物车例子上是个很好的表现~!

第一个生命周期是request级别的
第二个生命周期是session级别的