1.請求轉發和重定向的作用:
在java后台servlet中,實現由一個servlet跳轉到另一個servlet/jsp要使用的技術。
2.前端發送請求到后台的方式:
a.瀏覽器地址輸入鏈接。
b.a標簽 <a href="URL 地址">跳轉</a>
c.form表單 <form action="URL地址" method="get/post">
<input type="submit" value="跳轉"/>
</form>
d.通過js的BOM操作 window.location.href=“http://www.baidu.com”;
e.AJAX異步請求。
3.請求轉發和重定向的使用:
請求轉發:
req.getRequestDispatcher(servlet或者jsp的請求路徑).forward(req,resp);
URL重定向:
resp.sendRedirect("/day47/views/student.jsp");
4.請求轉發和重定向的區別
a.請求轉發是一次請求,重定向是兩次請求 (通過地址欄可以查看)
b.請求轉發地址欄不會發生改變, 重定向地址欄會發生改變
c.請求轉發可以共享請求參數 ,重定向之后,就獲取不了共享參數了
d.請求轉發不能跨域(不能訪問其他服務器鏈接) req.getRequestDispatcher("http://www.baidu.com").forward(req,resp);是不行的
重定向可以 resp.sendRedirect("http://www.baidu.com");
e.請求轉發能轉到WEB-INF目錄下的文件req.getRequestDispatcher("/WEB-INF/views/student.jsp").forward(req,resp);
而重定向不能 resp.sendRedirect("/day02_01/WEB-INF/views/student.jsp");
(注:WEB-INF目錄:不能被外部通過地址直接訪問)