J2EE中RequestDispatcher.forward()和response.sendRedirect()的区别详谈

简介:

一、RequestDispatcher.forward()

在服务器端运行。采用采用请求转发,request对象始终存在,不会重新创建,前后页面共享同一个request。重定向后浏览器地址栏URL不变。

public void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException
{
 response.setContentType("text/html; charset=gb2312");
 ServletContext sc = getServletContext();
 RequestDispatcher rd = null;
 rd = sc.getRequestDispatcher("/index.JSP");
 rd.forward(request, response);
}

 

二、response.sendRedirect()

在用户的浏览器端工作。重新定向,前后页面不共享一个request。重定向后在浏览器地址栏上会出现重定向页面的URL。

public void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException
{
 response.setContentType("text/html; charset=gb2312");
 response.sendRedirect("/index.JSP");
}


三、注意点

其他一些注意点参看原帖地址的博文。


原帖地址:http://www.cnblogs.com/phpzxh/archive/2010/02/01/1661137.html


目录
相关文章
|
IDE 开发工具
学习Request和Response这一篇就够啦~2
学习Request和Response这一篇就够啦~
|
Web App开发 Java 应用服务中间件
学习Request和Response这一篇就够啦~1
学习Request和Response这一篇就够啦~
|
前端开发 Java 应用服务中间件
细谈JavaWeb中的Request和Response
request:获取请求数据 浏览器会发送HTTP请求到后台服务器[Tomcat] HTTP的请求中会包含很多请求数据[请求行+请求头+请求体] 后台服务器[Tomcat]会对HTTP请求中的数据进行解析并把解析结果存入到一个对象中 所存入的对象即为request对象,所以我们可以从request对象中获取请求的相关参数 获取到数据后就可以继续后续的业务,比如获取用户名和密码就可以实现登录操作的相关业务
290 0
|
编解码 应用服务中间件 API
Servlet第三篇【request和response简介、response的常见应用】(一)
Tomcat收到客户端的http请求,会针对每一次请求,分别创建一个代表请求的request对象、和代表响应的response对象
221 0
Servlet第三篇【request和response简介、response的常见应用】(一)
JavaWeb - request.getSession() & request.getSession(true/false)区别
JavaWeb - request.getSession() & request.getSession(true/false)区别
223 0
|
Java 应用服务中间件
JavaWeb初识 Response(例题) 跳转(重定向Response,转发Request)
服务器的请求无非就是一去一回:请求头、响应头(生命周期很短,一去一回就结束了)先由客户端请求到服务器 再由服务发送请求到客户端响应会发出相应的提示例如404 405等等(网上一找一大堆)搜索http响应代码 响应类型:如何制作点击就出现下载那?网页相应代码不一定是下载内容,照片或者其他这个是不一定的。
1490 0
|
Web App开发 缓存 Java
Servlet第三篇【request和response简介、response的常见应用】
response、request对象 Tomcat收到客户端的http请求,会针对每一次请求,分别创建一个代表请求的request对象、和代表响应的response对象 既然request对象代表http请求,那么我们获取浏览器提交过来的数据,找request对象即可。
1263 0
|
Java PHP 前端开发
request.getParameterValues()用法
[java] view plain copy          你希望学习哪些程式语言:       JSP        PHP        PERL                     这些input type名称都叫做langtype,如果用request.
1984 0