使用forward和sendRedirect进行重定向有什么区别
(1)sendRedirect()
(1) ServletResqonse接口中的方法,用于响应重定向
(2) 跳转后浏览器地址栏变化
(3) 可以请求其他服务器资源
(4) 参数可以指定为相对路径(没有以”/”开始)、 绝对路径(以“/”开始)或其它Web应用
(5) 传值只能在url中带parameter或者放在session中,无法使用request.setAttribute来传递。
(2)forward()
(1) RequestDispatcher接口中的方法,用于请求跳转
(2) 跳转后浏览器地址栏不会变化
(3) 只能在应用程序内部转发
(4) 参数
A. ServletRequest获取的,参数可以指定为相对路径(没有以”/”开始)、绝对路径(以“/”开始)
B. ServletContext获取的,参数只能指定为绝对路径
(5) 传值可以使用三种方法:url中带parameter,session,request.setAttribut
本文对比了sendRedirect()与forward()两种HTTP重定向方式的区别。sendRedirect()改变浏览器地址栏,支持跨服务器请求,参数通过URL或session传递;forward()则保持地址栏不变,仅限于应用程序内部转发,参数可通过多种方式传递。
2万+

被折叠的 条评论
为什么被折叠?



