- 2
- 0
- 约2.71千字
- 约 4页
- 2020-08-21 发布于广东
- 举报
深入理解Servlet/JSP 之 “转发和重定向”
闻听“Bear”同学求职之时被问及“Servlet/JSP 之间转发和重定向有何区别?”其实此问题不甚高
明,但凡要谈区别的,必然二者非常相似并略有不同。“转发”和“重定向”本质相差甚远,答此问
题只需言明二者分别为何物即可。
一、转发
转发的原理,可以通过下图展示:
浏览器的请求发送给组件1,组件1 经过一些处理之后,将request和response对象“传递”
给组件2,由组件2 继续处理,然后输出响应(当然,也可以继续向其他组件“传递”),这个传递
的过程称之为“转发”。整个过程只涉及一次浏览器和服务器之间的“请求-响应”,转发过程中的
组件共享同一个请求(request)和响应(response)对象。
转发的意义在于可以实现组件的“分工”。在基于MVC,多层结构的Web 应用中,经常需要
多个组件协同完成一次“请求-响应”工作,例如:用户要获取“设备列表信息”,提交请求至控制
器组件(Servlet),该Servlet 调用适当的JavaBean 获取了“设备列表”数据然后再转发至JSP 组
件去显示信息。
RequestDispatcher 对象封装了转发操作。通过request 的getRequestDispatcher(String p
原创力文档

文档评论(0)