html和jsp之间的转发和重定向

html-css07

html和jsp之间的转发和重定向,第1张

一个web资源收到客户端请求后,通知服务器去调用另外一个资源进行处理(服务器内调用),称之请求转发。

当客户端请求提交到服务器的jsp处理的时候这个jsp可以携带请求和响应对象转移到web应用的另一处进行处理在另外一处进行处理后,产生结果页面响应给客户端浏览器此时客户端浏览器可以看到结果页面,但URL无变化所以不知道服务器端经过几层处理

重定向:redirect

一个web资源收到客户端请求后,通知浏览器去访问另外一个Web资源(浏览器进行2次请求),称之为重定向。

当客户端浏览器提交到服务器的JSP处理的时候这个JSP返回一个响应:去请求另外一次的URL此时客户端浏览器会再次发出一个新的请求到这个新的地址新的URL地址负责为浏览器产生响应这时浏览器看到的URL是第二次请求所对应的URL地址

两者的区别,转发和重定向的选择

重定向的速度比转发慢,因为浏览器还得发出一个新的请求,如果在使用转发和重定向都无所谓的时候建议使用转发。

因为转发只能访问当前WEB的应用程序,所以不同WEB应用程序之间的访问,特别是要访问到另外一个WEB站点上的资源的情况,这个时候就只能使用重定向了。

1.forward是服务器内部转发,而redirect是通过客户端进行转发

2.如果使用forward转发的话,客户端URL地址不会改变,但是redirect请求的话,URL地址会变

3.如果forward进行转发,转发页面和被转发页面处于一个request请求内,而

你可以在jsp页面使用超链接标签 例如 点击我跳转 也可以在后台servlet中使用 重定向 例如 response.sendRedirect("xxx.jsp")也可以使用转发 例如 request.getRequestDispatcher("xxx.jsp").forward(request.response)