国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

Java中轉發與重定向的區別

2019-11-15 00:04:58
字體:
來源:轉載
供稿:網友
java中轉發與重定向的區別

轉發與重定向的區別

轉發是服務器行為,重定向是客戶端行為

1.轉發在服務器端完成的;重定向是在客戶端完成的2.轉發的速度快;重定向速度慢3.轉發的是同一次請求;重定向是兩次不同請求4.轉發不會執行轉發后的代碼;重定向會執行重定向之后的代碼5.轉發地址欄沒有變化;重定向地址欄有變化6.轉發必須是在同一臺服務器下完成;重定向可以在不同的服務器下完成

在servlet中調用轉發、重定向的語句如下:

request.getRequestDispatcher("new.jsp").forward(request,response);//轉發到new.jsp

response.sendRedirect("new.jsp");//重定向到new.jsp

轉發過程:客戶瀏覽器發送http請求,web服務器接受此請求,調用內部的一個方法在容器內部完成請求處理和轉發動作,將目標資源發送給客戶;在這里,轉發的路徑必須是同一個web容器下的url,其不能轉向到其他的web路徑上去,中間傳遞的是自己的容器內的request。在客戶瀏覽器路徑欄顯示的仍然是其第一次訪問的路徑,也就是說客戶是感覺不到服務器做了轉發的。轉發行為是瀏覽器只做了一次訪問請求。

重定向過程:客戶瀏覽器發送http請求,web服務器接受后發送302狀態碼響應及對應新的location給客戶瀏覽器,客戶瀏覽器發現是302響應,則自動再發送一個新的http請求,請求url是新的location地址,服務器根據此請求尋找資源并發送給客戶。在這里location可以重定向到任意URL,既然是瀏覽器重新發出了請求,則就沒有什么request傳遞的概念了。在客戶瀏覽器路徑欄顯示的是其重定向的路徑,客戶可以觀察到地址的變化的。重定向行為是瀏覽器做了至少兩次的訪問請求的。

重定向,其實是兩次request, 第一次,客戶端request A,服務器響應,并response回來,告訴瀏覽器,你應該去B。這個時候IE可以看到地址變了,而且歷史的回退按鈕也亮了。重定向可以訪問自己web應用以外的資源。在重定向的過程中,傳輸的信息會被丟失。

如下舉例:

登陸頁面:login.jsp

<body>

<form name="form1" method="post" action="Control.jsp">

用戶名:<input type="text" name="userName" value=""/>

<br/>

密碼:<input type="text" name="userPwd"/>

<br/>

<input type="submit" value="登陸"/>

</form>

</body>

跳轉頁面:control.jsp

轉發

<body>

<%

String name = request.getParameter("userName");

String pwd = request.getParameter("userPwd");

if (name.equals("admin") && pwd.equals("admin")) {

//轉發:不需要項目名

request.getRequestDispatcher("/result.jsp").forward(request, response);

} else {

response.sendRedirect(path + "/Login.jsp");

}

%>

</body>

重定向:

<body>

<%

String name = request.getParameter("userName");

String pwd = request.getParameter("userPwd");

if (name.equals("admin") && pwd.equals("admin")) {

//重定向

response.sendRedirect(path+"/result.jsp");

} else {

response.sendRedirect(path + "/login.jsp");

}

%>

</body>

歡迎界面:welcome.jsp

<body>

<br /> 歡迎您

<%

String name = request.getParameter("userName");

%>

<%=name%>

</body>


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 明溪县| 剑川县| 共和县| 仲巴县| 博客| 若尔盖县| 南皮县| 东兴市| 安平县| 承德县| 汉源县| 临湘市| 黄浦区| 大丰市| 富裕县| 剑河县| 二手房| 海晏县| 横山县| 嵊泗县| 措美县| 上饶县| 吴桥县| 太谷县| 方山县| 塘沽区| 军事| 渝北区| 山阳县| 光泽县| 桂林市| 新宁县| 龙胜| 闸北区| 东光县| 正镶白旗| 葫芦岛市| 西华县| 龙江县| 鱼台县| 高阳县|