请求转发和重定向的异同

相同点:

  • 作用:在Java后台的servlet中跳转到另一个servlet或者jsp

区别

  • 实现语句不同
    重定向:response.sendRedirect()
    请求转发:request.getRequestDispatccher().forward()
  • 跳转效率不同
    请求转发效率高于重定向
  • 受否共享同一个request的数据
    请求转发中,源组件和目标组件共享同一个request的数据
    重定向中,不共享数据(可使用session共享数据)
  • 浏览器地址不同
    请求转发地址不变
    重定向地址会改变
  • 跳转范围
    请求转发的范围只能是同一个项目的url
    重定向可以到任何一个服务器
  • “/”路径的含义不同
    转发时“/”代表当前项目的根路径
    重定向时“/”代表当前服务器的根路径
  • 刷新是否导致表单的重复提交
    转发会导致表单重复提交
    重定向不会导致表单的重复提交
  • 是否经过过滤器
    转发不经过过滤器
    重定向经过过滤器

你可能感兴趣的:(Javaee基础知识点)