1. 程式人生 > >Request物件和Response session

Request物件和Response session

request.getContextPath()到底獲取的誰的絕對路徑?什麼叫絕對路徑?在硬盤裡存在的嗎?
假設有一個專案名為:report_emp
request.getContextPath()獲得的是當前的專案名  /report_emp,
要想獲得專案實際在磁碟中存貯路徑可以使用request.getSession().getServletContext().getRealPath("/");
本地資源管理器而言:

絕對路徑:是從碟符開始的路徑,磁碟上真正的路徑的,例如:E:\幫助文件\Jquery\jqAPI;
相對路徑:是從當前路徑開始的路徑,如當前路徑為E:\幫助文件,則Jquery\jqAPI為相對路徑;

就web站點而言:

假如我們在report_emp的admin/login.jsp中訪問了report_emp/admin/images/logo.gif的圖片
絕對路徑:以Web 站點根目錄為參考基礎的目錄路徑;
             在login.jsp中的src則為report_emp/admin/images/logo.gif
相對路徑:以引用檔案之網頁所在位置為參考基礎,而建立出的目錄路徑;
              在login.jsp中的src則為./images/logo.gif

區別: 

request:

1、request.getParameter("key")接受的是來自客戶登陸端的資料,接受的是post或get方式傳送的value。

2、請求的預設字符集是ISO-8859-1,不支援中文,需要new String (request.getParameter(key).getbyte("ISO-8859-1"),"UTF-8")進行轉碼。

3、可以給請求物件新增資料但是必須通過forward進行轉發。

4、request.setAttribute(key,object)--傳送物件,request.getAttribute(key,object)--接受物件。

5、接收cookie  Cookie[] ck = request.getCookies();獲取值--遍歷for(Cookie cks:ck){out.print(URLDecoder.decode("編碼後的字串"))}。

response:

1、傳送cookie--新增cookie物件:Cookie ck=new Cookie("key","value");addCookie(Cookie物件)

2、跳轉頁面--sendRedirect("跳轉地址")--直接跳轉。

3、setHeader("refresh","秒數;URL=跳轉地址")--定時跳轉頁面。

4、setHeader("refresh","秒數")--定時重新整理頁面。

5、沒有設定屬性值的方法。沒有setAttribute的方法。

6、setheader("cache-control","no-cache")--禁止瀏覽器快取

session:

1、setAttribute("key",object)--設定屬性值。getAttribute("key")--獲取屬性值--返回Object型別需要將獲取到的值用toString()方法。

2、session.invalidate()--銷燬session--一般退出登入時用。

3、setMaxInactiveInterval(秒數)--設定超時秒數。