調(diào)用HttpServletResponsesendRedirect方法重定向的訪問過程結(jié)束后
調(diào)用HttpServletResponse.sendRedirect 方法重定向的訪問過程結(jié)束后,瀏覽器地址欄中顯示的URL 會(huì)發(fā)生改變,由初始的URL 地址變成重定向的目標(biāo)URL ;調(diào)用Reques
調(diào)用HttpServletResponse.sendRedirect 方法重定向的訪問過程結(jié)束后,瀏覽器地址欄中顯示的URL 會(huì)發(fā)生改變,由初始的URL 地址變成重定向的目標(biāo)URL ;調(diào)用RequestDispatcher.forward 方法的請(qǐng)求轉(zhuǎn)發(fā)過程結(jié)束后,瀏覽器地址欄保持初始的URL 地址不變。
HttpServletResponse.sendRedirect 方法對(duì)瀏覽器的請(qǐng)求直接作出響應(yīng),響應(yīng)的結(jié)果就是告訴瀏覽器去重新發(fā)出對(duì)另外一個(gè)URL 的訪問請(qǐng)求;RequestDispatcher.forward 方法在服務(wù)器端內(nèi)部將請(qǐng)求轉(zhuǎn)發(fā)給另外一個(gè)資源,瀏覽器只知道發(fā)出了請(qǐng)求并得到了響應(yīng)結(jié)果,并不知道在服務(wù)器程序內(nèi)部發(fā)生了轉(zhuǎn)發(fā)行為。
RequestDispatcher.forward 方法的調(diào)用者與被調(diào)用者之間共享相同的request 對(duì)象和response 對(duì)象,它們屬于同一個(gè)訪問請(qǐng)求和響應(yīng)過程;而HttpServletResponse.sendRedirect 方法調(diào)用者與被調(diào)用者使用各自的request 對(duì)象和response 對(duì)象,它們屬于兩個(gè)獨(dú)立的訪問請(qǐng)求和響應(yīng)過程。
Tip : RequestDispatcher