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