HttpServletRequest類


HttpServletRequest類

service方法中的request的類型是ServletRequest,而doGet/doPost方法的request的類型是HttpServletRequest,

HttpServletRequest是ServletRequest的子接口,功能和方法更加強大,

 

通過request獲取請求行

獲得客戶端的請求方式:

String Method();

 

獲取頁面地址

String getRequestURI();

 

獲取web名稱

String getContextPath();

 

通過request獲取請求頭

獲取請求頭

String getHeader(String name);

 

通過request獲得請求體

獲取參數

String getParameter(string name);

 

//獲取一個name多個值

String【】 hobys=request.getParameterValues();

 

獲取所有請求的參數值

Map<String.String[]> map=request.getParameterMap();

 

Map<String ,String[]> map=request.getParameterMap();

//遍歷

Set<String > set=map.keyset();

for(String s:set){

sysout(s+"")

String[] str=map.get(s);

for(String ss:str){

sysout(ss+"")

}

}

 

 

request的其他功能

 

request是一個域對象

setAttribute(String name, Object o)

getAttribute(String name)

removeAttribute(String name)

 

請求轉發

 

獲得請求轉發器----path是轉發的地址

RequestDispatcher getRequestDispatcher(String path)

通過轉發器對象轉發

requestDispathcer.forward(ServletRequest request, ServletResponse response)

 

中文轉碼

request.setcharacterEncoding("UTF-8");

 

轉發與重定向的區別?

          1)重定向兩次請求,轉發一次請求

          2)重定向地址欄的地址變化,轉發地址不變

          3)重新定向可以訪問外部網站 轉發只能訪問內部資源

          4)轉發的性能要優於重定向

 

       注意:客戶端地址與服務器端地址的寫法?

          客戶端地址:

              是客戶端去訪問服務器的地址,服務器外部的地址,特點:寫上web應用名        

             

              直接輸入地址:

              重定向

 

          服務器端地址:

              服務器內部資源的跳轉的地址,特點:不需要寫web應用的名稱

 

              轉發

 

 

 

 


免責聲明!

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



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