jsp常用內建物件及方法簡述
阿新 • • 發佈:2019-02-06
內建物件一:out 物件
介紹:out內建物件負責向瀏覽器輸出內容(print、write、println)方法:print 向客戶端列印資料(將各種型別的資料轉換成字串)
方法:write 向客戶端列印資料(字元、字元陣列、字串)
方法:println 向客戶端列印資料(將各種型別的資料轉換成字串)並換行
內建物件二:request 物件
介紹:request內建物件用來處理客戶端請求方法:setCharacterEncoding() (設定的是request內部儲存資料的編碼格式,不包括rul編碼格式)。
用法:根據表單提交的方式(POST、GET)
POST:setCharacterEncoding("UTF-8");
GET:String name = request.getParameter("name");
name = new String(name.getBytes("ISO-8859-1"),"UTF-8");
GET:修改tomcat\conf\server.xml
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" URIEncoding="UTF-8"/>
方法:getParameter("userName") (獲取單個元件(<input name="userName" type="text">)引數值)
方法:getParameterValues("no1") (返回的是一個數組物件)
<input type="checkbox" value="3000" name="no1"><a>筆記本:3000</a>
<input type="checkbox" value="6000" name="no1"><a>電腦:6000</a>
<input type="checkbox" value="1000" name="no1"><a>手機:1000</a>
<input type="checkbox" value="1400" name="no1"><a>Ipad:1400</a>
內建物件三:response 物件
介紹:response物件用於響應客戶請求並向客戶端輸出資訊方法:sendRedirect(String location) (頁面重定向)
客戶端將重新發送請求到指定的URL
重定向前後,客戶端分別向伺服器傳送兩次請求,也就是說第一次請求request物件裡面的資料在第二次請求 request物件裡面是不存在的。
方法:RequestDispatcher物件的forward()方法 (轉發:在服務端,將請求傳送給伺服器上的其他資源,以共同完成一次請求的處理,在多個頁面互動過程中請求中的資料可以共享)
RequestDispatcher rd = request.getRequestDispatcher(String location);
rd.forward(request,response);
內建物件四:session 物件
介紹:session 物件負責管理客戶端會話、session 物件在瀏覽器第一次訪問伺服器的時候建立、
session 物件的常用方法有
方法:setAsetAttribute(String key,Object value):以key/value的形式儲存物件值
方法:getAttttribute(String key):通過key獲取物件值
方法:setMaxInactiveInterval():設定session的非活動時間 單位是秒
方法:invalidate():設定session物件失效
拓展:設定session 有效時長 可以在專案web.xml和tomcat的web.xml
<session-config>
<session-timeout>30</session-timeout> <!-- 單位是分-->
</session-config>
內建物件五:application 物件
介紹:實現使用者之間的資料共享方法:void setAttribute(String key,Object value) 以key/value的形式儲存物件值
方法:Object getAttribute(String key) 通過key獲取物件值
方法:String getRealPath(String path) 返回相對路徑的真實路徑
案例:使用者登入成功後
Integer count = application.getAttribute("count")
if(count==null){
application.setAttribute("count",1);
}else{
application.setAttribute("count",count+1);
}