1. 请求转发(forward)
request.getRequestDispatcher(String path).forward(request,response)
特点:
- 浏览器地址栏路径没变
- 只发送了一个请求.
- 共享同一个请求,在请求中共享数据.
- 最终的响应输出由Servlet2来决定.
- 只能访问当前应用中的资源,不能跨域跳转.
- 可以访问WEB-INF中的资源.
2. URL重定向(redirect)
response对象.sendRedirect(String path)
特点:
- 浏览器地址栏路径发送变化
- 只发送了两个请求.
- 因为是不同的请求,所以不能共享请求中的数据.
- 最终的响应输出由Servlet2来决定.
- 可以跨域访问资源.
- 不可以访问WEB-INF中的资源.
3. 请求包含(include)
request.getRequestDispatcher(String path).include(request,response)
特点:
- 浏览器地址栏路径没有变化
- 只发送了一个请求
- 共享同一个请求,在请求中共享数据。
- 最终响应为两个页面的内容,在使用包含语句的地方插入所包含的内容
- 只能访问当前应用中的资源,不能跨域跳转.
- 可以访问WEB-INF中的资源.