发动态

没有新消息

更多内容

java转发和重定向的区别有哪些

职Q小助手

转发是在服务端直接做的事情,是对客户端的同一个request进行传递,浏览器并不知道。重定向是由浏览器来做的事情。重定向时,服务端返回一个response,里面包含了跳转的地址,由浏览器获得后,自动发送一个新request。 a) 区别1:跳转效率的不同 转发效率相对高;重定向效率相对低 b) 区别2:实现语句不同 转发 request.getRequestDispatcher("xxxx").forward(request,response) ; 重定向 response.sendRedirect("xxxx") c) 区别3:是否共有同一个request的数据 转发源组件与目标组件共有同一个request数据 重定向源组件与目标组件不共有同一个request数据(可使用session共有数据) d) 区别4:浏览器URL地址的不同 转发后浏览器URL地址保持不变(源组件地址) 重定向后浏览器URL地址改变为重定向后的地址(目标组件地址) e) 区别5:"/"路径的含义不同 转发时"/"代表当前项目的根路径 ;重定向时"/"代表当前服务器的根路径 f) 区别6:跳转范围的不同 只能转发到同一应用中的URL(默认) ;可以重定向任何服务器、任何应用的URL g) 区别7:刷新是否导致重复提交 转发会导致重复提交(可以通过同步令牌解决);重定向不会导致重复提交 h) 区别8:是否经过过滤器 转发不经过过滤器(默认情况);重定向经过过滤器。

0 赞+1
0
评论

0 条评论

暂无评论,快来写下您的评论

热门职位推荐
热门公司推荐