请问jsp一个同一请求问题?

来源:百度知道 编辑:UC知道 时间:2024/05/13 14:00:45
response.sendRedirect("");
request.getRequestDispatcher("Compose.jsp").forward(request,response);
请问这两个是统一请求吗?
请问你有java servlet API的中文说明文档吗?如果可以可以给我一份吗? 357318873@163.com

这两个语句均实现页面跳转的功能

不同的是:

response.sendRedirect(String url);属于重定向

而request.getRequestDispatcher(String url).forward(request,response);属于请求转发

重定向与请求转发的不同:

1.请求转发只能将请求转发到同一Web应用下的其他组件(如同一Web应用下的JSP页面、Servlet),而重定向可以将请求重定向到任意URL,而不仅仅是同一应用中的URL(比如可以从本Web应用的页面重定向到www.baidu.com页面,而baidu页面并不属于本Web应用程序)

2.请求转发时请求信息会直接发送到请求页面,而不会回一次客户端,所以在请求页面中仍可以使用request范围内的共享数据;而重定向时请求信息会先回一次客户端,此时request作用范围已经结束,再发送到请求页面后request范围中的共享数据已经不存在,即不可用