request和response對象常用方法


request:

request.getRequestURL(): 瀏覽器發出請求時的完整URL,包括協議 主機名 端口(如果有)" 
request.getRequestURI(): 瀏覽器發出請求的資源名部分,去掉了協議和主機名" 
request.getQueryString(): 請求行中的參數部分,只能顯示以get方式發出的參數,post方式的看不到
request.getRemoteAddr(): 瀏覽器所處於的客戶機的IP地址
request.getRemoteHost(): 瀏覽器所處於的客戶機的主機名
request.getRemotePort(): 瀏覽器所處於的客戶機使用的網絡端口
request.getLocalAddr(): 服務器的IP地址
request.getLocalName(): 服務器的主機名
request.getMethod(): 得到客戶機請求方式一般是GET或者POST

request.getParameter(): 是常見的方法,用於獲取單值的參數
request.getParameterValues(): 用於獲取具有多值的參數,比如注冊時候提交的 "hobits",可以是多選的。
request.getParameterMap(): 用於遍歷所有的參數,並返回Map類型。

response:設置響應編碼有兩種方式

 
1. response.setContentType("text/html; charset=UTF-8");
2. response.setCharacterEncoding("UTF-8");
  這兩種方式都需要在response.getWriter調用之前執行才能生效

他們的區別在於

1. response.setContentType("text/html; charset=UTF-8");

不僅發送到瀏覽器的內容會使用UTF-8編碼,而且還通知瀏覽器使用UTF-8編碼方式進行顯示。所以總能正常顯示中文

2. response.setCharacterEncoding("UTF-8");

僅僅是發送的瀏覽器的內容是UTF-8編碼的,至於瀏覽器是用哪種編碼方式顯示不管。 所以當瀏覽器的顯示編碼方式不是UTF-8的時候,就會看到亂碼,需要手動再進行一次設置。

設置響應格式,設置響應編碼,設置響應內容

客戶端有兩種跳轉
302 表示臨時跳轉
301 表示永久性跳轉

302就是前面在客戶端跳轉章節用到過的

 
response.sendRedirect("fail.html");
 



301要使用另外的手段:

 
response.setStatus(301);
response.setHeader("Location", "fail.html");
 


用戶感受不出這兩種跳轉的區別,但是可以借助火狐的調試工具看到響應的頭信息是:
301 Moved Permanently。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM