1、request對象:
request對象代表了客戶端的請求信息,主要用於接受通過HTTP協議傳送到服務器的數據。(包括頭信息、系統信息、請求方式以及請求參數等)。request對 象的作用域為一次請求。
當Request對象獲取客戶提交的漢字字符時,會出現亂碼問題,必須進行特殊處理。首先,將獲取的字符串用ISO-8859-1進行編碼,並將編碼存發島一個字節數組中,然后再將這個數組轉化為字符串對象如下
Request常用的方法:getParameter(String strTextName) 獲取表單提交的信息.
getRermoteAddr() 獲取客戶的IP地址。String strIP=request.getRemoteAddr();
request.getParameter()方法之前設定,可解決中文亂碼問題getRequestDispatcher()轉發。
request.getRequestDispatcher()是請求轉發,前后頁面共享一個request ; response.sendRedirect()是重新定向,前后頁面不是一個request。
2、response對象
response 代表的是對客戶端的響應,主要是將JSP容器處理過的對象傳回到客戶端。response對象也具有作用域,它只在JSP頁面內有效。
在某些情況下,當響應客戶時,需要將客戶重新引導至另一個頁面,可以使用Response的sendRedirect(URL)方法實現客戶的重定向。
例如response.sendRedirect(index.jsp);
3、session對象
Session對象是一個JSP內置對象,它在第一個JSP頁面被裝載時自動創建,完成會話期管理。從一個客戶打開瀏覽器並連接到服務器開始,到客戶關閉瀏覽器離開這個服務器結束,被稱為一個會話。當一個客戶訪問一個服務器時,可能會在這個服務器的幾個頁面之間切換,服務器應當通過某種辦法知道這是一個客戶,就需要Session對象。
當一個客戶首次訪問服務器上的一個JSP頁面時,JSP引擎產生一個Session對象,同時分配一個String類型的ID號,JSP引擎同時將這換個ID號發送到客戶端,存放在Cookie中,這樣Session對象,直到客戶關閉瀏覽器后,服務器端該客戶的Session對象才取消,並且和客戶的會話對應關系消失。當客戶重新打開瀏覽器再連接到該服務器時,服務器為該客戶再創建一個新的Session對象。
session 對象是由服務器自動創建的與用戶請求相關的對象。服務器為每個用戶都生成一個session對象,用於保存該用戶的信息,跟蹤用戶的操作狀態。
session對象內部使用Map類來保存數據,因此保存數據的格式為 “Key/value”。 session對象的value可以使復雜的對象類型,而不僅僅局限於字符串類型。
public void setAttribute(String key,Object obj):將參數Object指定的對象obj添加到Session對象中,並為添加的對象指定一個索引關鍵字。 public Object getAttribute(String key):獲取Session對象中含有關鍵字的對象。
1、application對象
application 對象可將信息保存在服務器中,直到服務器關閉,否則application對象中保存的信息會在整個應用中都有效。與session對象相比,application對象生命周期更長,類似於系統的“全局變量”。
服務器啟動后就產生了這個Application對象,當客戶再所訪問的網站的各個頁面之間瀏覽時,這個Application對象都是同一個,直到服務器關閉。但是與Session對象不同的時,所有客戶的Application對象都時同一個,即所有客戶共享這個內置的Application對象。
setAttribute(String key,Object obj):將參數Object指定的對象obj添加到Application對象中,並為添加的對象指定一個索引關鍵字。 getAttribute(String key):獲取Application對象中含有關鍵字的對象。
2、out 對象
out 對象用於在Web瀏覽器內輸出信息,並且管理應用服務器上的輸出緩沖區。在使用 out 對象輸出數據時,可以對數據緩沖區進行操作,及時清除緩沖區中的殘余數據,為其他的輸出讓出緩沖空間。待數據輸出完畢后,要及時關閉輸出流。
Out對象時一個輸出流,用來向客戶端輸出數據。Out對象用於各種數據的輸出。其常用方法如下。
out.print():輸出各種類型數據。 out.newLine():輸出一個換行符。
3、cookie 對象
Cookie是Web服務器保存在用戶硬盤上的一段文本。Cookie允許一個Web站點在用戶電腦上保存信息並且隨后再取回它。舉例來說,一個Web站點可能會為每一個訪問者產生一個唯一的ID,然后以Cookie文件的形式保存在每個用戶的機器上。
創建一個Cookie對象 調用Cookie對象的構造函數就可以創建Cookie對象。Cookie對象的構造函數有兩個字符串參數:Cookie名字和Cookie值。
例如:Cookie c = new Cookie(username",john"); 將Cookie對象傳送到客戶端。
JSP中,如果要將封裝好的Cookie對象傳送到客戶端,可使用Response對象的addCookie()方法。
例如:response.addCookie(c),讀取保存到客戶端的Cookie。
使用Request對象的getCookie()方法,執行時將所有客戶端傳來的Cookie對象以數組的形式排列,如果要取出符合需要的Cookie對象,就需要循環比較數組內每個對象的關鍵字。設置Cookie對象的有效時間,用Cookie對象的setMaxAge()方法便可以設置Cookie對象的有效時間,
例如:
Cookie c = newCookie(username","john");c.setMaxAge(3600);
Cookie對象的典型應用時用來統計網站的訪問人數。由於代理服務器、緩存等的使用,唯一能幫助網站精確統計來訪人數的方法就是為每個訪問者建立一個唯一ID。使用Cookie,網站可以完成以下工作:
測定多少人訪問過。測定訪問者有多少是新用戶(即第一次來訪),多少是老用戶。
測定一個用戶多久訪問一次網站。當一個用戶第一次訪問時,網站在數據庫中建立一個新的ID,並把ID通過Cookie傳送給用戶。用戶再次來訪時,網站把該用戶ID對應的計數器加1,得到用戶的來訪次數。
4.連接JDBC步驟:
1.加載JDBC驅動
2.與數據庫建立連接
3.發送SQL語句
4.處理返回結果