servlet转发(forward)
来源:互联网 发布:游戏数据分析报告 编辑:程序博客网 时间:2024/04/28 15:06
- public
void service(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException{ - //......
- 1.request.getRequestDispatcher("/url").include(request,response);
- 2.request.getRequestDispatcher("/url").forward(request,response);
- 3.request.sendRedirect("/url");
- //......
- }
<wbr> 三种方式的区别是:</wbr>
include:将url中的内容包含到当前的servlet输出当中,在服务器端完成,一般叫做包含;
forward:将当前的Request和response对象交给指定的url处理,一般称作转发请求;在服务器端完成,客户端
sendRedirect:指示客户端重新发起一次请求,第二次请求指向其参数的url,一般称作重定向;客户端的地址栏将
include与forward的区别:
include是把另一个servlet/jsp处理过后的内容拿过来与本身的servlet的内容一起输出;
forward是把请求的内容转发到另一个servlet/jsp中。在forward之前,在原始的servlet中不能对输出做flush。最终只有被被forward去的servlet的内容被输出。
在原始servlet中设置的响应状态码和响应头会被include的servlet忽略。include的servlet在处理的时候只会保留进入include的servlet之后的状态码和状态头。
对于forward,在两个servlet设置的状态码和状态头都会被用到。
使用include转发时,response的编码格式不是UTF-8,所以请求时会出现乱码现象,因此需要显示的response的编码修改为UTF-8/GBK/GB2312。
不管是include、forward还是sendRedirect,在该行代码执行之后的语句仍然被执行,只是输出到response的内容没有作用了。
总结:
sendRedirect与include、forward的区别在于是不是同一个Request,sendRedirect会有两次交互;
include与forward的区别在于输出的内容,include包含两者的结果,而forward只有forward一个,以及响应头。
- servlet转发(forward)
- servlet转发页面redirect和forward
- Servlet实现通过getRequestDispatcher().forward页面转发
- servlet的转发(request.getRequestDispatcher().forward())
- Servlet API中redirect(重定向)与forward(转发)/include(包含)的区别
- servlet中请求转发(forward)与重定向(sendredirect)的区别
- Servlet中forward(请求转发)和redirect( 重定向)总结
- servlet转发(forward)和重定向(sendRedirect)向应用
- Servlet中请求转发forward与重定向sendRedirect
- Servlet API中forward() 与sendRedirect ()的区别?(就是请求转发和重定向的区别) ?
- std:forward 完美转发
- std::forward 完美转发
- std:forward 完美转发
- Servlet filter过滤RequestDispatcher.forward内部转发, 及FilterChain.doFilter的顺序
- Servlet中的跳转(redirect和forward)
- 6.1Servlet跳转之转向(Forward)
- 重定向(redirect)和转发(forward)区别
- 转发(forward)和重定向(redirect)的对比
- webView 网页加载方式
- 视觉SLAM漫谈
- ASP连接数据库Office Access
- 算法学习之图的最小生成树Kruskal算法
- demo4j 读取xml
- servlet转发(forward)
- 基础测试查漏补缺
- C/C++中volatile关键字详解
- 用SQL找出前N名
- Android动态部署三:如何从插件apk中启动Activity(-)
- Command Line in Mac/Linux
- 【2011集训队出题】Crash的数字表格
- ASP数组的应用
- 中文支持