请教session问题:session.setAttribute(XXX);
和request.getSession().setAttribute(XXX);
有什么区别?

解决方案 »

  1.   

    再补充一个:session中的isNew()方法  在实际开发中 有哪些时候会用到?
      

  2.   

    貌似没区别,session.setAttribute(XXX); 如果你的session是HttpSession
    对象的话,request.getSession().setAttribute(XXX);的request是HttpServletRequest对象
    就没区别
    isNew()没用过,呵呵
      

  3.   

    session是Jsp中的内置对象,在Jsp页面中直接用就可以,
    request.getSession()是指通过request获取会话,
    至于二者之间的区别没感觉有多打差别啊!
      

  4.   

    session.setAttribute(XXX); 
    把一个对象存入session中保存HttpSession session = request.getSession();
     首先 request.getSession() 会先判断 是否有一个session对象
    如果没有就创建一个session
      

  5.   

    request.getSession().setAttribute(XXX); 
    是你把你的值放到session里面,在整个访问期间,除了退出来或者把浏览器关了,你的那个值一直在页面中,你可以在你的系统的任何地方获取到你set进去的那个值;
    而request.setAttribute(XXX); 只是你发一次请求就只可以获取一次,
    session的生命周期比Request要长
      

  6.   

    servlet 中的话Session好像要声明
    jsp中可能不用吧
      

  7.   

    没有区别 都是存在session里 在jsp里面有内置session引用 
      

  8.   

    isNew()  是这样的,session就是一个全局变量,web服务程序只要打开,session就会存在,当你第一次访问时,session会自动为你分配一个session   ID,所以session为新建立的,当你刷新页面时,这个session   ID一直存在,不会消失,除非你关闭所有你要访问的相关的web站点,或则关闭session,这个session   ID才会消失    是来判断session ID 是否改变  详情google
      

  9.   

    isNew()  是这样的,session就是一个全局变量,web服务程序只要打开,session就会存在,当你第一次访问时,session会自动为你分配一个session  ID,所以session为新建立的,当你刷新页面时,这个session  ID一直存在,不会消失,除非你关闭所有你要访问的相关的web站点,或则关闭session,这个session  ID才会消失    是来判断session ID 是否改变  详情google 一般用于统计访问量