【響應物件
-response
物件】響應行:
response設定狀態碼:
響應頭:
response設定響應頭:
* 乙個key對應乙個value
* 乙個key對應多個value
響應體:
response設定響應體:
【response處理中文亂碼】
位元組流:
設定瀏覽器預設開啟編碼
response.setheader("content-type","text/html;charset=utf-8");
中文轉成位元組陣列編碼
response.getoutputstream().write("王守義".getbytes("utf-8"));
字元流:
設定response的緩衝區的編碼
response.setcharacterencoding("utf-8");
設定瀏覽器預設開啟的編碼.
response.setheader("content-type","text/html;charset=utf-8");
response.setcontenttype("text/html;charset=utf-8");相當於上面兩句
* 設定兩個頭和乙個流:
*content-type:檔案mime的型別.
*content-disposition:
* 檔案的輸入流:
response.getwriter().println("a.bmp
");response.getwriter().println("web01.zip");
2.編寫downloadservlet:
}【請求物件-request物件】
獲得客戶機資訊:
* getmethod(); ---獲得請求方式.
* getquerystring(); ---獲得請求路徑後的引數.
* getremoteaddr(); ---獲得客戶機的ip位址.
* getrequesturi(); ---獲得請求的路徑
* getrequesturl(); ---獲得請求的路徑
* getcontextpath(); ---獲得工程名
獲得請求頭
請求引數:
用來作為域物件訪問值:
引數接收中的亂碼處理
.post亂碼處理:
* 的時候,這種提交才是post提交.其他的都是get.
* post方式提交的引數在請求體中.request物件在後台接收引數.request物件有快取區.預設緩衝區的編碼iso-8859-1.
* 處理方式:設定request的緩衝區的編碼.
* request.setcharacterencoding(「utf-8」);
get方式亂碼處理:
* get方式提交的引數會在位址列上顯示在請求行的路徑後面.瀏覽器就會對路徑進行一次編碼.將編碼後內容取出來.再進行一次編碼.
* 處理方式:
* 修改伺服器提交的編碼.
* 採用urlencoder 和urldecoder類對中文進行編碼和解碼.
* 使用string類的構造方法:
username = newstring(username.getbytes("iso-8859-1"),"utf-8");
**和重定向的區別:
【重定向】
response.sendredirect(string path); -- 完成重定向
【**】
request.getrequestdispatcher(stringpath).forward(request,response);
【區別】
1.**的位址列不變的.重定向的位址列發生變化的.
2.**是一次請求一次響應,重定向是兩次請求兩次響應.
3.request域物件訪問的值在**中是有效的,在重定向無效的.
4.**的路徑不需要加工程名
.重定向的路徑需要加工程名
.
學做事,先學做人
經理很關照我,我很感謝經理。其實,有乙個好的領導,只要好好幹,他是一定會知道的。但是,要改變客戶的看法,看來還真的很難。在客戶面前不可以太謙虛,太過謙虛,他們反覺得我們無能。做事先做人,一點都沒錯啊。感覺自己太嫩了,這一切還得慢慢磨練。希望多看數,多學習,多仔細觀察生活,觀察周圍成功的人,不斷提高自...
B 學密碼學真的得學程式
b 學密碼學真的得學程式 time limit 1000msmemory limit 65536kb64bit io format lld llu submit status practice sdutoj 2464 description 話說,上次zyj同學最終在眾位瑪麗亞的幫助下搞定了那個神奇...
學密碼學一定得學程式
time limit 1000ms memory limit 65536k 曾經,zyj同學非常喜歡密碼學。有一天,他發現了乙個很長很長的字串s1。他很好奇那代表著什麼,於是神奇的wl給了他另乙個字串s2。但是很不幸的是,wl忘記跟他說是什麼意思了。這個時候,zyj不得不求助與偉大的zp。zp笑了笑...