具体解释为响应重定向和请求转发,一看响应就是服务器端的,请求转发就是客户端的
在B/C系统 B/S 系统和C/S做的系统又什么区别啊?_百度知道 (baidu.com) 中,我们很多时候会进行这个servlet跳转到另一个servlet,比如说我们在一个官网的首页,然后需要进行登陆的话,会弹出登录页面,我们登录之后就又回到首页,这样的话需要servlet之间的跳转。那么我们有两种方式做这个事情。
页面重定向
页面重定向是我们浏览器给服务器发送了一个请求,然后servlet1响应给浏览器一个特殊的响应,告诉浏览器重新发送一个请求给servlet2,然后浏览器重新发送了一个请求给servlet2.在这里location可以重定向到任意URL,既然是浏览器重新发出了请求,则就没有什么request传递的概念了。在客户浏览器路径栏显示的是其重定向的路径,客户可以观察到地址的变化的。重定向行为是浏览器做了至少两次的访问请求的。
HttpServletResponse中定义了响应重定向的方法sendRedirect(String path)
响应重定向是向目标(path
)资源重新发送请求,响应重定向是使用GET方式提交请求,所以调用目标资源的doGet方法。
当然也可以在jsp页面中实现重定向:
<%response.sendRedirect("new.jsp");//重定向到new.jsp%>
响应重定向生成新的请求,所以当前请求中的数据不会再传到目标资源中。
//利用网页重定向跳转至欢迎界面
response.sendRedirect("HelloServlet");
2、请求转发
请求转发实现的原理是servlet与servlet之间在tomcat服务器中进行请求的转发,浏览器中之发送一个请求,这个转发的行为是web服务器内部做的ÿ