javaweb中的request,session,application对象,其基本做用是充当“共享区”的角色,即数据的传递存放区,但其共享的范围不尽相同,其名称表明着共享的范围。java
为了说明其范围的不一样,先上一张图:web
一、当Tomcat启动时会为其中的每个应用建立一个application对象(类名:ServletContext),且每一个应用有惟一的该对象存在。session
二、当《客户端1》作《app1应用》的访问时,会为其创造一个request对象,在一次请求过程当中“如jsp1--->jspx”,request对象为同一个。当《客户端1》访问jsp2或再次访问jsp1都会有新的request对象产生,原有的request会被gc掉。app
三、当《客户端1》对《app1应用》是第一次的访问,会有一个session对象的产生,此后《客户端1》对《app1应用》的全部的访问均使用同一个session对象。当《客户端2》对《app1》访问,也会有新的sessoin对象产生,可是其不一样于《客户端1》的session。jsp
四、三个对象都有统一的方法:设置数据时,使用.setAttribute("key",value);取数据时,使用.getAttribute("key");ide