pageContext,Request,Session,servletContext,类变量,局部变量六个范围的区别:
1) Request: 保存的键值仅在同一个request范围中可以取回来。它的范围比Session和servletContext小,缺点是;因范围小无法取,比如访问了两次,第二次无法 取回第一次的,就只能想办法,比如用Session。优点:和Session和servletContext相比,用完就仍,省服务器内存。
2) Session: 与每一个用户浏览器相对应。从Session第一次创建直到关闭,数据都一直保存在服务器内存,所以客户可以一直访问,不用每次都去数据库抓取,提高了性 能。缺点:每个客户的session不能像servletContext那样共享,可能造成大量重复数据;另外session技术建立在cookie和 url重写的基础上。为了让服务器能识别每一个用户浏览器,在来往过程中,需带上Session ID的信息,这样会用掉一点点网络带宽。当有很多用户访问服务器时,这是一笔不小的开销。
3)servletContext: 你的web应用从启动到关闭,这个对象一直有效。所有范围中,它最大。保存的数据可以被所有用户所有servlet访问。(servletContext和servlet的类变量的区别就是:servlet的类变量只能被本身这个servlet访问,不能被其它servlet访问。)优点:少访问数据库。缺点:不像Session一样私密。
更多请见:http://www.mark-to-win.com/tutorial/jsp_3_SixScopeDifference.html