简记j2ee中的三种跳转方式 (forward,redirect,include)


1. 请求转发(forward)

request.getRequestDispatcher(String path).forward(request,response)

特点

  1. 浏览器地址栏路径没变
  2. 只发送了一个请求.
  3. 共享同一个请求,在请求中共享数据.
  4. 最终的响应输出由Servlet2来决定.
  5. 只能访问当前应用中的资源,不能跨域跳转.
  6. 可以访问WEB-INF中的资源.

2. URL重定向(redirect)

response对象.sendRedirect(String path)

特点

  1. 浏览器地址栏路径发送变化
  2. 只发送了两个请求.
  3. 因为是不同的请求,所以不能共享请求中的数据.
  4. 最终的响应输出由Servlet2来决定.
  5. 可以跨域访问资源.
  6. 不可以访问WEB-INF中的资源.

3. 请求包含(include)

request.getRequestDispatcher(String path).include(request,response)

特点

  1. 浏览器地址栏路径没有变化
  2. 只发送了一个请求
  3. 共享同一个请求,在请求中共享数据。
  4. 最终响应为两个页面的内容,在使用包含语句的地方插入所包含的内容
  5. 只能访问当前应用中的资源,不能跨域跳转.
  6. 可以访问WEB-INF中的资源.

声明:墨墨的经验分享|版权所有,违者必究|如未注明,均为原创|本网站采用BY-NC-SA协议进行授权

转载:转载请注明原文链接 - 简记j2ee中的三种跳转方式 (forward,redirect,include)


他们的规则是他们的规则,我们只按自己的规则行动