概念: JSP內置對象是Web容器創建的一組對象,不使用new關鍵字創建,就可以直接使用。 常用的JSP內置對象: out對象 緩衝區——Buffer,就是記憶體的一塊區域,用來保存臨時數據。 out對象是JSPWriter類的實例,向客戶端輸出內容時常用的對象。 out對象常用的方法有: void ...
概念:
JSP內置對象是Web容器創建的一組對象,不使用new關鍵字創建,就可以直接使用。
常用的JSP內置對象:
out對象
緩衝區——Buffer,就是記憶體的一塊區域,用來保存臨時數據。
out對象是JSPWriter類的實例,向客戶端輸出內容時常用的對象。
out對象常用的方法有:
- void println() 向客戶端列印字元串;
- void flush() 將緩衝區內容輸出到客戶端;
- void clear() 清除緩衝區的內容,如果在flush之後調用會拋出異常;
- void clearBuffer() 清除緩衝區的內容,在flush之後調用不會拋出異常;
- int getBufferSize() 返回緩衝區位元組數的大小,如果不設緩衝區則為0;
- int getRemaining() 返回緩衝區還剩餘多少可用;
- boolean isAutoFlush() 返回緩衝區滿時,是自動清空還是拋出異常;
- void close() 關閉輸出流
get與post的區別
表單有兩種提交方式:get與post
提交方式 | 提交內容的方式 | 數據量大小 | 安全性 | 效率 | 適用情況 |
---|---|---|---|---|---|
get | 明文,通過URL提交數據(數據在URL中可以看到) | 不超過2KB | 較低 | 高 | 適合提交數據量不大,安全性不高,的數據;比如:搜素、查詢等功能。 |
post | 將用戶提交的信息封裝在HTML HEADER內 | 數據量大 | 高 | 適合提交數據量大,安全性高,的用戶信息;比如:註冊、修改、上傳等功能。 |
request對象
客戶端的請求信息被封裝在request對象中,通過它才能瞭解到客戶的需求,然後做出響應。
request對象是HttpServletRequest類的實例。
request對象具有請求域,即完成客戶端的請求之前,該對象一直有效。
常用的方法有:
- String getParameter(String name) 返回指定參數的參數值;
- String[] getParameterValues(String name) 返回包含指定參數的所有參數值的數組;
- void setAttribute(String,Object) 存儲此請求中的屬性;
- object getAttribute(String name) 返回指定屬性的屬性值;
- String getContentType() 得到請求體的MIME類型;
- Stirng getProtocol() 返回請求的協議類型和版本號;
- String getServerName() 返回接收請求的伺服器主機名;
- int getServerPort() 返回伺服器接收此請求所用的埠號;
- String getCharacterEncoding() 返回字元編碼方式;
- int getContentLength() 返回請求體的長度(位元組數);
- String getRemoteAddr() 返回發送此請求的客戶端IP地址;
- String getRealPath(String path) 返回某虛擬路徑的真實路徑;
- String getContentPath() 返回上下文路徑。
response對象
response對象包含了,響應客戶請求的有關信息,在JSP中很少直接用到它。
response對象是HttpServletResponse類的實例。
response對象具有頁面作用域,即訪問一個頁面時,該頁面內的response對象只能對這次訪問有效,其它頁面的response對象對當前頁面無效。
常用的方法:
- String getCharacterEncoding() 返迴響應的字元編碼;
- void setContentType(String type) 設置響應的MIME類型;
- PrintWriter getWriter() 返回一個 可以向客戶端輸出字元的 對象;(response對象生成的輸出流對象,出現在out內置對象的前面)
- sendRedirect(java.lang.String location) 重新定向客戶端的請求。
請求轉發VS請求重定向
方式 | Client/Server | 方法 | 說明 | URL內容 |
---|---|---|---|---|
請求重定向 | 客戶端行為 | response.sendRedirect() | 本質上等同於兩次請求,前一次的請求對象不會保存 | URL改變 |
請求轉發 | 伺服器行為 | request.getRequestDispatcher().forward(req,resp) | 一次請求,轉發後請求對象會保存 | URL不變 |
session對象
session:客戶端與伺服器的一次會話
Web中的session:用戶在瀏覽某個網站時,從進入網站,到瀏覽器關閉所經過的這段時間,也就是,用戶瀏覽這個網站所花費的時間。
session實際上是一個特定的時間概念。
session對象在第一個JSP頁面被裝載時自動創建,開始會話期管理。
一個session:從客戶打開瀏覽器並連接到伺服器開始,到客戶關閉瀏覽器離開這個伺服器結束。
session對象,是HttpSession類的實例。
常用的方法:
application對象
page對象
pageContext對象
exception對象
config對象