重定向与请求信息转发的区别
重定向
reponse.sendRedirect(String s)
- 单纯的,不带请求信息(request)的跳转,跳转后的页面/servlet无法使用request获取用户提交的数据
- 会把当前servlet代码执行完毕后才实施重定向的操作,但tomcat服务器不再给用户看剩余servlet代码的执行效果
请求信息转发
RequestDispatcher dispatcher=request.getRequestDispatcher(String path); //获取调度对象
dispatcher.forward(request,response); //调度者进行转发操作
- 调度对象携带请求信息进行页面跳转,跳转后的页面可通过request获取数据
- 实行转发操作时Tomcat会立刻结束当前servlet的执行
- 转发后地址栏URL依旧是转发前的页面URL
页面效果
二者在页面效果上都表现为跳转到了新的jsp页面,但“请求信息转发”的地址栏信息依旧为跳转之前的jsp页面的URL。
使用请求信息转发的好处
转发技术可以让jsp页面与处理数据的servlet解耦