在b/s架構中,有request瀏覽器的請求,也有response的服務器反饋。底層是tcp/ip協議,應用層是http協議。在tomcat服務器中,版本6使用的http1.1版本協議。服務器發出request請求,在請求中有可能加載get和post請求(doget請求,是放在URL中可以使用getparmeter進行解析,因為tomcat把每一個網頁請求看做一個對象,所以是面向對象(HttpServletRequest)進行封裝,并有doget和dopost進行 對應的解析。主要的API如下:
核心的API:
請求行:
request.getMethod(); 請求方式
request.getRequetURI() / request.getRequetURL() 請求資源
request.getProtocol() 請求http協議版本
請求頭:
request.getHeader("名稱") 根據請求頭獲取請求值
request.getHeaderNames() 獲取所有的請求頭名稱
實體內容:
request.getInputStream()獲取實體內容數據
在request請求中牽涉到編碼問題,setenconding 可以,字節碼強制轉換也可以,xml配置也可以。
對于,httpservletresponse服務器反饋,也要牽涉到編碼問題,可以在響應頭中進行聲明。其他的也可以字節碼強制轉換(好像socket編程,什么base64加密啥的記憶尤新吶)。瀏覽器的各種反饋碼,比如404,500等也得到了大致學習。
常見的響應頭 (response)
Location: //m.survivalescaperooms.com -表示重定向的地址,該頭和302的狀態碼一起使用。Server:apache tomcat ---表示服務器的類型Content-Encoding: gzip -- 表示服務器發送給瀏覽器的數據壓縮類型Content-Length: 80 --表示服務器發送給瀏覽器的數據長度Content-Language: zh-cn --表示服務器支持的語言Content-Type: text/html; charset=GB2312 --表示服務器發送給瀏覽器的數據類型及內容編碼Last-Modified: Tue, 11 Jul 2000 18:23:51 GMT --表示服務器資源的最后修改時間Refresh: 1;url=//m.survivalescaperooms.com --表示定時刷新Content-Disposition: attachment; filename=aaa.zip --表示告訴瀏覽器以下載方式打開資源(下載文件時用到)Transfer-Encoding: chunkedSet-Cookie:SS=Q0=5Lb_nQ; path=/search --表示服務器發送給瀏覽器的cookie信息(會話管理用到)Expires: -1 --表示通知瀏覽器不進行緩存Cache-Control: no-cachePragma: no-cacheConnection: close/Keep-Alive --表示服務器和瀏覽器的連接狀態。close:關閉連接 keep-alive:保存連接
以上這篇淺談servlet中的request與response就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持武林網。
新聞熱點
疑難解答