是乙個請求,至少包含兩個servlet,請求方法不可以有響應體,只可以有響應頭,
請求**:
response.setheader("404","cuowu");//可以傳過去
response.getwriter().print("響應體");//傳不過去
requestdispatcher re= request.getrequestdispatcher("/bservlet");
//使用request呼叫getrequestdispatcher()方法,方法的引數是**或包含的servlet路徑
re.forward(request,response);
請求包含:響應體可以傳過去re.include(request,response);
在乙個請求時間的有效,所以在重定向之後request就消失了。
包含的方法:
void setattribute(string name , object value);封裝引數
object getattribute(string name);獲取引數
void removeattribute(string name );刪除引數
**是乙個請求,一次響應,重定向是兩次請求,兩次響應
**位址列不會變化,重定向位址列會變化
請求**只能在本專案中的servlet,重定向可以**到任何專案中
**是伺服器端行為,只需給出**的servlet路徑,重定向需要給出requesturi
請求的效率更高
國際通用utf-8, 系統預設,支援中文的(gb2312gbk)
伺服器需要設定編碼,setcharacterencoding(「tuf-8」);然後瀏覽器有預設的編碼,gbk,需要保持一致,name就需要定義瀏覽器的編碼格式了
使用response.setheader("content-type","text/html;charset=utf-8");既可以設定伺服器的編碼格式,也可以設定瀏覽器的編碼格式。
便捷方法:response.setcontenttype(「text/html;charset=utf-8」);
總結:想要不出現亂碼,在使用getwrite()之前使用便捷方法
請求編碼:
post請求:使用getattribute等方法之前使用
reqponse.setcharacterencoding(utf-8);
(uriencoding=」utf-8」,一般不用)
可以使用bytebytes = name.getbytes(「iso-8859-1」);反編碼
然後使用name= new string(bytes ,」utf-8」);
1 web.xml中的路徑(一般叫做servlet的路徑)
2**和請求包:以「/」開頭,相對於當前路徑,直接加上servlet路徑
3重定向路徑(客戶端路徑,必須加專案名)
以「/」來頭,就像相對於當前主機,所以可以省略http://localhost:8080/
直接用專案名/servlet名就可以了
4頁面中找鏈結路徑和表單路徑(和重定向相同都是客戶端路徑,都要加專案名)
絕對路徑都是以「/」開頭 相對路徑都是不以「/」開頭
linuxC學習第十八天
int main int count 0 int length 0 int i,t 0 while 1 break case 3 刪除資訊 printf 刪除第幾個 n scanf d t for i t i length i length break default 無效的按鍵 printf 無效...
學習python 第十八天
併發程式設計 python中實現併發程式設計的三種方案 多執行緒 多程序和非同步i o。併發程式設計的好處在於可以提公升程式的執行效率以及改善使用者體驗 程序和執行緒的區別和聯絡 程序 作業系統分配記憶體的基本單位 乙個程序可以包含乙個或多個執行緒 執行緒 作業系統分配cpu的基本單位 併發程式設計...
JAVA學習第十八天
今天學習的主要內容是正規表示式 一 使用場景 1 網頁上使用者輸入資料的時候,用於格式校驗,例如 身份證,郵箱,號碼,手機號碼,使用者名稱 登入名,密碼 2 用於與第3方系統進行資料格式校驗,因為第3方的系統不一定給你的資料,就是符合你要求的資料 3 用於從資料庫中匹配符合格式的資料 二 正規表示式...