如何选择这四个值要视具体情况,但要明白其原理:
page:pageContext.set(get)Attribute();
request:request.set(get)Attribute();
session:session.set(get)Attribute()在session生命周期中有效
application:servletContext.set(get)Attribute():在整个应用的生命周期中有效

解决方案 »

  1.   

    page        -- 在本页面中有效
    request     -- 在本次请求中有效
    session     -- 在本次会话中有效
    application -- 在整个应用中有效
      

  2.   

    page:凡是可用到pageContext对象的地方,都能通过get、set Attribute()来使用获修改这个bean,比如自定义标记的handle class中;request:这个scope使得bean只存在于请求过程中,顺便说一下:有的时候要把本servlet或者jsp的request对象传递给其它servlet、jsp,此时要给request添加parameter是不行的,但你又想给它加入别的内容,就要用到setAttribute;session:session存活其间有效,当你要在别的页面里用到这个bean时,可以直接session.getAttribute("bean的id")来获取它,这种方式使用bean,主要是为了保存客户信息,比如购物车、登录信息等等。application:在应用程序的生命周期中有效,也就是只要你不删除它、不关闭服务器,那么它会一直存在,作聊天室程序时,用它来保存、实时更新全部用户的聊天信息。以上四种域,都可以使用removeAttribute("beam的id")删除javabean。