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

发布于 2020-04-09  865 次阅读


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中的资源.


做一只特立独行的猪