1 JSP中的請求與響應1.1 請求與響應的基本概念
請求:當使用者在瀏覽器中輸入 URL並提交或提交表單時,一個請求即被建立並送到伺服器上。
響應:當伺服器接收到使用者的請求時,會根據使用者的具體請求做相應的處理操作,並將操作結果返回給使用者。
1.2 request對象的常用方法
- object getAttribute(String name) 返回指定屬性的屬性值
- Enumeration getAttributeNames() 返回所有可用屬性名稱的枚舉
- String getCharacterEncoding() 返回字元編碼方式
- int getContentLength() 返回請求體的長度(以位元組數)
- String getContentType() 得到請求體的MIME類型
- ServletInputStream getInputStream() 得到請求體中一行的二進位流
- String getParameter(String name) 返回name指定參數的參數值
- Enumeration getParameterNames() 返回可用參數名的枚舉
- String[] getParameterValues(String name) 返回包含參數name的所有值的數組
- String getProtocol() 返回請求用的協議類型及版本號碼
- String getScheme() 返回請求用的計劃名,如:http.https及ftp等
- String getServerName() 返回接受請求的伺服器主機名稱
- int getServerPort() 返回伺服器接受此請求所用的連接埠號碼
- BufferedReader getReader() 返回解碼過了的請求體
- String getRemoteAddr() 返回傳送此請求的用戶端IP地址
- String getRemoteHost() 返回傳送此請求的用戶端主機名稱
- void setAttribute(String key,Object obj) 設定屬性的屬性值
- String getRealPath(String path) 返回一虛擬路徑的真實路徑
- void setCharacterEncoding(String charset) 指定請求的編碼
1.3 response對象的常用方法
- String getCharacterEncoding() 返迴響應用的是何種字元編碼
- ServletOutputStream getOutputStream() 返迴響應的一個二進位輸出資料流
- PrintWriter getWriter() 返回可以向用戶端輸出字元的一個對象
- void setContentLength(int len) 設定回應標頭長度
- void setContentType(String type) 設定響應的MIME類型
- sendRedirect(java.lang.String location) 重新定向用戶端的請求
2 Cookie
Cookie是指某些網站為了辨別使用者身份、進行session跟蹤而儲存在使用者本地終端上的資料(通常經過加密)。
2.1 Cookie的使用
Cookie c= new Cookie("name","value");
其中,name為建立的Cookie名稱,將來讀取這個Cookie時使用;value為Cookie對象的值。
Cookie cookies[] = request.getCookies();
得到的是一個Cookie數組,使用for迴圈遍曆:
for(int i=0;i<cookies.length;i++)System.out.println(cookies[i].getValue());
將cookie放入到HTTP響應前序,可以使用HttpServletResponse的addCookie方法
response.addCookie(c);
刪除Cookie時,只需要將Cookie的最大時效設定為0
for(int i=0;i<cookies.length;i++){cookies[i].setMaxAge(0);response.addCookie(cookies[i])}
3 會話HttpSession3.1 會話的常用方法
- Object getAttribute(String name) 根據name擷取設定的屬性值。
- void setAttribute(String name,Object value) 設定session對象屬性值
- void removeAttribute(String name) 刪除session對象的name屬性
- Enumeration getAttributeName() 返回捆綁到當前會話的所有屬性名稱
- long getCreationTime() 返回表示會話建立的一個長整型值
- long getLastAccessedTime() 最後訪問日期和時間的一個長整型值
- String getId() 返回會話ID
- int getMaxInactiveInterval() 返回會話存活的最大秒數。
- void setMasInactiveInterval(int seconds) 設定最大的存留時間
交流探討到我的新浪微博:http://weibo.com/tianrui1990