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目录:不能被外部通过地址直接访问)