程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> JSP編程 >> 關於JSP >> JSP內置對象之------response、session、application

JSP內置對象之------response、session、application

編輯:關於JSP

JSP內置對象之------response、session、application



1. 重定向和轉發
response.sendRedirect("地址");
a. 頁面地址顯示最終頁面
b. 不可向後傳遞參數
c. 跳到外部站點


request.getRequestDispatcher("地址").forward(request, response);
a. 頁面地址顯示請求頁面
b. 可以向後傳遞參數
c. 不可以跳到外部站點


通俗的來說兩者的區別就是:


重定向:發出兩次請求,不能夠共享前一次請求中封裝的參數信息
轉發: 發一次請求


2、HTTP是無狀態的, 只要是兩次請求,則無法保持狀態.
當客戶向服務器端發出請求(request),然後服務器返回響應(response),連接關閉。在服務器端不會保存連接的相關信息,下一次客戶再發出請


求,服務器無法判斷這一次的連接和上一次的連接是否屬於同一個客戶,所以上述的 重定向 在一次請求發出後,第二次無法再獲取到響應中的參數。
但是,當我們在浏覽網站的時候,(例如:逛淘寶)登錄成功之後,隨意浏覽該網站的其他頁面,信息還能夠得以保存。這是怎麼辦到的呢?
解決方案:
1. 客戶端: Cookie
2. 服務器端:
request (不能解決)
session
application


3、cookie
cookie對象不屬於jsp內置對象,通常用於在浏覽器端保存會話過程中的一些參數,如下面要介紹的 sessionId
它是web服務器保存在用戶硬盤上數據,保存路徑為:C:\Documents and Settings\登錄用戶名\Cookies ,信息片段以“名”/“值” 對( name--


value)的方式存取
cookie對象的寫入要結合 response 對象來實現,主要步驟:
a、創建 cookie對象
b、設定屬性( 一般為 有效期) 以 秒 為單位
c、通過response寫入客戶端
<%
Cookie c=new Cookie("username","emily_RR");
c.setMaxAge(60*60);
response.addCookie(c);
%>




4、session
工作原理:
(1)、客戶首次訪問服務器的一個頁面時,服務器就會為客戶分配一個session對象,該對象對應一個唯一的 sessionId ,將該sessionId 發送到客


戶端,並寫入到 cookie中,使得客戶端和服務器端對應
(2)、當客戶繼續訪問服務器上的其他資源時,session不會被重新分配。直到session被銷毀
(3)、session被銷毀後,重新向服務器發送請求時,session對象也會重新分配


這就好比你去圖書館借書,管理員一定需要你出示借書證,如果沒有,會讓你辦理一張,然後發給你,憑借這個證,你可以在這個借書證的有效時間內


借書,一旦圖書證銷毀( 丟失、或者是到期),當你又去圖書館借書的時候,又會重新給你辦理一張。


session 的常用方法: session.setAttribute("uname",“emily_RR”);
session.getAttribute("uname");
session.removeAttribute("uname");
session.invalidate(); 銷毀 session
5、session銷毀的時機:
a、 關閉浏覽器一段時間後. 會話有持續時間
b、 session.invalidate();
session.removeAttribute("");
c、 關閉服務器.


6、application對象
提供全局信息,不同的客戶可以共享,但是session對象是與客戶根據編號一一對應的,而且session對象是客戶第一次訪問服務器上的jsp頁面時被創


建的,application則是在 服務器被啟動的時候建立的,知道服務器被關閉,application對象才被取消。
我們發現在一些網站上可以顯示:您是本站第xxxx位訪問者,這個就是用application提供的計數器

 

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved