JSP中有两种跳转方式:转发(forward)和重定向(redirect),它们的主要区别在于:
转发是服务器内部的跳转,而重定向是浏览器的跳转。转发是在服务器端进行的,浏览器并不知道这个跳转的存在,因此在地址栏中看不到跳转后的URL;而重定向是由服务器发送给浏览器的一个指令,让浏览器重新发送请求到指定的URL,因此在地址栏中可以看到跳转后的URL。
转发只能在同一个Web应用程序中进行,而重定向可以在不同的Web应用程序之间进行。因为转发是在服务器内部进行的,只能跳转到同一个Web应用程序中的其他页面;而重定向是由浏览器重新发送请求,可以跳转到不同的Web应用程序中。
转发在跳转过程中可以携带参数,而重定向需要使用URL重写或Session来传递参数。因为转发是在服务器内部进行的,可以通过request对象在跳转过程中携带参数;而重定向是由浏览器重新发送请求,不能直接携带参数,需要使用URL重写或Session来传递参数。
综上所述,如果需要在同一个Web应用程序中进行跳转并携带参数,应该使用转发;如果需要在不同的Web应用程序之间进行跳转或在重定向过程中携带参数,应该使用重定向。
评论