request
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"); //獲取鍵值對