1.什么是重定向
所謂的重定向是將請(qǐng)求重新定個(gè)方向轉(zhuǎn)到其他位置。例如,客戶端訪問(wèn)AServlet,然后立刻自動(dòng)訪問(wèn)BServlet。這個(gè)過(guò)程其實(shí)就是重定向。下面通過(guò)一張圖來(lái)了解重定向,如圖1-1所示:
由圖1-1可知,重定向共有兩次請(qǐng)求,兩次響應(yīng)。當(dāng)客戶端接收到AServlet的響應(yīng)之后立刻去請(qǐng)求BServlet,這個(gè)過(guò)程很迅速??梢园l(fā)現(xiàn),地址欄發(fā)生變化,由AServlet變成BServlet。
2.重定向案例練習(xí)
了解了重定向的原理,現(xiàn)在使用302狀態(tài)碼和Location響應(yīng)頭來(lái)完成重定向案例,具體步驟如下所示:
(1)創(chuàng)建web應(yīng)用,Example02。在該應(yīng)用下新建一個(gè)Servlet類,LocationServlet,代碼如例1-1所示:
例1-1 LocationServlet.java
public class LocationServlet extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
System.out.println("LoactionServlet......");
response.setHeader("Location", "/Example02/TargetServlet");
response.setStatus(302);
}
}
本文版權(quán)歸黑馬程序員Java培訓(xùn)學(xué)院所有,歡迎轉(zhuǎn)載,轉(zhuǎn)載請(qǐng)注明作者出處。謝謝!
作者:黑馬程序員Java培訓(xùn)學(xué)院
首發(fā):http://javaee.itheima.com/