Servlet高階上 第十三天

2021-10-01 14:56:10 字數 3699 閱讀 3294

1.servlet 的響應物件 respone ==>servletrespone ==》不支援http 協議 ==》子類 httpservletrespone

2.httpservletresponse 1.這個物件是由tomcat容器來建立 ==>在請求servlet時候,tomcat會把這兩個物件建立出來,並給service 設定為引數

2.所有的servlet 都會有一組請求與響應的物件 httpservletrequest httpservletresponse

3.httpservletresponse可以來操作http的響應頭,響應體 響應行

3.響應行: 響應行包含 協議(以及協議的版本) ==狀態秒 ,描述資訊

404路徑找不到

302 重定向

304 資料快取

500 伺服器發生錯誤

200 請求成功

resp.

senderror

(404

,"ggggg"

);

1.設定其狀態碼的方法 setstatus(「傳輸傳遞的是狀態碼」)

resp.senderror(「第乙個引數傳的是狀態,碼」,「提示資訊」);

2.httpservletresponse 來操作器響應頭

壓縮流 gzipoutputstream

記憶體流:bytearrayoutputstream

//設定伺服器的壓縮格式

resp.setheader(「content-encoding」,「gzip」);

//設定文字的長度

resp.setheader(「content-length」,b.length+"");

//規定其為設定陣列

resp.setheader(「accept」,「bytes」);

//不載入瀏覽器快取中的資料

resp.setheader(「cache-control」,「no-cache」); ==>壓縮的時候一般對於的大文字 ,小文字看不出效果

3.瀏覽器顯示本地 響應的內容格式: content-type 1.text/html 檔案 jpg gif ==>把寫入到瀏覽器

;servletcontext 這個表示伺服器的上下物件 ==> 它的生命週期是隨著tomcat的建立而建立 隨著伺服器的銷毀而銷毀

1.作用是獲取web的全域性配置檔案 2.以鍵值對的形式來進行頁面引數的傳遞

2. resp.setheader(「content-type」,「jpg」); 設定響應頭的格式

inputstream is= this.getservletcontext().getresourceasstream("/web-inf/1.jpg"); ==>獲取是發布到服務的的位址 返回值是乙個輸入流物件

返回的是resp.getoutputstream() 輸入出流物件 > 位元組 read()>返回的讀取的資料 read(b) 讀取是有效的位元組長度

5.響應體:就是在網頁上寫內容 resp.getoutputstream() 主要是用於來寫位元組 resp.getwriter() 主要用於寫字元 ==>兩個不要一起用(容易產生錯誤)

byteoutputstream  bos =

newbyteoutputstream()

; gzipoutputstream gzi =

newgzipoutputstream

(bos)

;byte

b = bos.

tobytearray()

; system.out.

println

( b.length)

; resp.

setheader

("content-encoding"

,"gzip");

resp.

setheader

("content-length"

,b.length+"")

; resp.

setheader

("accept"

,"bytes");

resp.

setheader

("cache-control"

,"nocache"

);

6.重定向==》跳轉到另乙個介面 resp.sendredirect(「index.jsp」); 引數是傳遞的是需要跳轉的介面 重定向:相當於兩次請求

==>間隔多長時間在跳轉到某個介面 ==> resp.setheader(「refresh」,「2;index.jsp」); ==> 第二個引數是 「時間(秒);重定向的介面」

httpservletrequest 一般操作請求行 與請求頭 請求體

請求行:請求的位址, 請求的埠號 請求的引數 請求方法的名稱,請求的訪問根目錄(如果專案與根目錄一樣,訪問就是空的) …

req.getmethod(); ==>請求方法

req.getcontextpath(); 請求的跟路徑

req.getquerystring(); 請求拼接的引數

req.getrequesturi(); 請求的uri位址

req.getrequesturl() 請求的url位址

獲取網路資源 req.getremoteuser(); 獲取到客戶端的使用者名稱

req.getremoteaddr(); 獲取到客戶端的位址

req.getremotehost() 獲取其ip位址

req.getlocaladdr() ==>獲取伺服器的位址

req.getlocalname(); ==>伺服器ip

req.getlocalport(); 伺服器端口號

req.getservletpath(); 獲取的訪問路徑

req.getservername(); 伺服器的ip位址

req.getserverport(); 伺服器端口號

重要方法 : req.getparameter(「uname」); 根據name值獲取單個 req.getparametervalues(「hobbey」); 根據name值獲取一組

設定編碼格式 : resp.setcontenttype(「text/html;charset=utf-8」); ==>到tomcat裡配置 uriencoding=「utf-8」

resp.setcharacterencoding(「utf-8」);

req.setcharacterencoding(「utf-8」);

iOS 高階 第十三天 0414

畫線 圓和圓弧的第二種方法 5中方法畫矩形 第二種畫圖形的方法 之前做的方法都是先把要畫的元素快取到圖形上下文cgconteextref中去,現在第二種方法也快取到cgpath中去.其實圖形上下文本質也是在內部建立乙個cgpath,圖形上下文把所有的元素先快取到cgpath中去,然後cgpath再快...

第十三天 練兵

問 昨天您講的很驚心動魄。這樣快節奏的配合確實非常完美,很羨慕。但要形成這樣的結果必須我們之間配合需要非常流暢,我們有什麼方法可以促成這樣的氛圍?答 練兵。如果一開始就進入業務系統功能的設計開發,業務組長對業務還沒有很深的吃透,這樣倉促上陣功能不但連上一版不如,而且為了補課,軟體不斷修改,什麼都亂了...

2020 7 18第十三天

1.學習了static關鍵字 靜態變數,靜態方法以及靜態模組 1 public class vardemo 9 1 public class staticblockdemo 5public staticblockdemo 8public static void main string args 12...