我在学习用struts开发web,看到一个例子,里面分别有这样的语句:
session.setAttribute(....);
request.setAttribute(....);
我不知道request和session之间的区别是什么。谢谢

解决方案 »

  1.   

    谢谢vgvg的回复,但是我想知道得更多一些
      

  2.   

    你每按一个网页上的一个链接就是一个新的request,当服务器返回给浏览器一个response时,request就结束了,此时保存在request中的对象就不存在了,但是当你用一个浏览器连到服务器上时application-server会新开一个session给你,当连接超时或浏览器关闭时session才销毁。所以说作用的范围是不一样,session也就可以跟踪用户的状态。不知各位老大我解释得对不对
      

  3.   

    session相当于是一个客户端的全局变量;
    比如A机与服务器第一次访问时设置session.setAttribute("aaa")="ComputerA".则在A机访问继续访问的任意一个页面都可以取的session.getAttribute("aaa")的值是ComputerA;request是某一次访问的局域变量;
    生命周期只是一次请求。
      

  4.   

    非常谢谢各位的回复。根据诸位上面的解释,我能不能得出这样的结论?
    一个论坛为例,是不是应该将用户login时的信息放到session当中,直至用户退出,或关闭浏览器;而将用户参与的论坛问题信息放到request当中,不知道我的这样的判断是不是有问题?谢谢了
      

  5.   

    login应该放到session里,其它页面间传递的信息应该放到request里。