Servlet-三大域物件
阿新 • • 發佈:2019-02-11
1. request
request是表示一個請求,只要發出一個請求就會建立一個request,它的作用域:僅在當前請求中有效。
用處:常用於伺服器間同一請求不同頁面之間的引數傳遞,常應用於表單的控制元件值傳遞。
2. session
伺服器會為每個會話建立一個session物件,所以session中的資料可供當前會話中所有servlet共享。
會話:使用者開啟瀏覽器會話開始,直到關閉瀏覽器會話才會結束。一次會話期間只會建立一個session物件。
用處:常用於web開發中的登陸驗證介面(當用戶登入成功後瀏覽器分配其一個session鍵值對)。
獲得session物件方法:
備註: session是伺服器端物件,儲存在伺服器端。並且伺服器可以將建立session後產生的sessionid通過一個cookie返回給客戶端,以便下次驗證。(session底層依賴於cookie)
3. Application(ServletContext)
作用範圍:所有的使用者都可以取得此資訊,此資訊在整個伺服器上被保留。Application屬性範圍值,只要設定一次,則所有的網頁視窗都可以取得資料。ServletContext在伺服器啟動時建立,在伺服器關閉時銷燬,一個JavaWeb應用只建立一個ServletContext物件。
獲取Application物件方法(Servlet中):
request是表示一個請求,只要發出一個請求就會建立一個request,它的作用域:僅在當前請求中有效。
用處:常用於伺服器間同一請求不同頁面之間的引數傳遞,常應用於表單的控制元件值傳遞。
常用方法:
request.setAttribute();
request.getAttribute();
request.removeAttribute();
request.getParameter().
2. session
伺服器會為每個會話建立一個session物件,所以session中的資料可供當前會話中所有servlet共享。
會話:使用者開啟瀏覽器會話開始,直到關閉瀏覽器會話才會結束。一次會話期間只會建立一個session物件。
用處:常用於web開發中的登陸驗證介面(當用戶登入成功後瀏覽器分配其一個session鍵值對)。
方法:
session.setAttribute();
session.getAttribute();
session.removeAttribute();
獲得session物件方法:
- 在Servlet中:HttpSession session = request.getSession();
- 由於session屬於jsp九大內建物件之一,是可以直接使用的。例如:<%session.serAttribute("name","admin")%>。
備註: session是伺服器端物件,儲存在伺服器端。並且伺服器可以將建立session後產生的sessionid通過一個cookie返回給客戶端,以便下次驗證。(session底層依賴於cookie)
3. Application(ServletContext)
作用範圍:所有的使用者都可以取得此資訊,此資訊在整個伺服器上被保留。Application屬性範圍值,只要設定一次,則所有的網頁視窗都可以取得資料。ServletContext在伺服器啟動時建立,在伺服器關閉時銷燬,一個JavaWeb應用只建立一個ServletContext物件。
獲取Application物件方法(Servlet中):
ServletContext xc = this.getServletContext(); xc.setAttribute("name", "sw"); //設定一個值進去 ServletContext xc1 = this.getServletContext(); xc1.getAttribute("name"); //獲取鍵值對