请求转发:

方式一:

  ServletContext对象.getRequestDispatcher(目标资源的URI).forward(request,response);

  目标资源的URI "/servlet/GetParam" 必须以"/"开头,否则报错,此"/"就表示的是当前应用(绝对路径表示法)

方式二:

  request.getRequestDispatcher(目标资源的URI).forward(request,response);

  目标资源的URI "/servlet/GetParam" 如果以"/"开头,就表示的是当前应用(绝对路径表示法)。

  GetParam" 如果不以"/"开头,就表示相对路径。相对路径:两个绝对路径去掉前面相同的部分

由源组件转发到目标组件时,容器会清空源组件输出的数据。响应头信息是不清空的,客户端地址栏URL不变

编码原则:不要在转发前后向页面输出数据,也不要关闭输出流。

     public void forward(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
// 方式一
// RequestDispatcher rd=getServletContext().getRequestDispatcher("/servlet/NewPage");
// 方式二
RequestDispatcher rd=request.getRequestDispatcher("NewPage"); rd.forward(request, response);
}

包含(动态包含):

request.getRequestDispatcher(目标资源的URI).include(request,response);

由源组件包含到目标组件时,容器会清空目标组件的头,所以源组件设置的头才有效。响应体信息是不清空的。

编码原则:不要在目标组件中设置响应头。

     public void include(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException{
RequestDispatcher rd=request.getRequestDispatcher("/servlet/NewPage");
rd.include(request, response);
}

重定向:

response.sendRedirect("/../...")

目标资源的URI /应用名/路径.. 绝对路径,"/"后跟应用名

客户端跳转,request中数据不传递!客户端地址栏URL改变。

     public void redirect(HttpServletRequest request,
HttpServletResponse response) throws IOException{
response.sendRedirect("/WebProjectName/newURL");
}

servlet请求转发、包含以及重定向的更多相关文章

  1. 请求转发 和 URL 重定向

    五 请求转发 和 URL 重定向 1 请求转发和重定向 干什么用? 是我们在java后台servlet中 由一个servlet跳转到 另一个 servlet/jsp 要使用的技术 前端发送请求到后台 ...

  2. JSTL、请求转发和URL重定向

    JSTL 为什么要使用JSTL? 因为在JSP中写JAVA代码很麻烦,而JSTL可以简化在JSp中写JAva代码的流程 如何使用JSTL? 准备工作: ①将JSTL依赖的jar包导入工程的WEB-IN ...

  3. servlet请求转发与重定向的差别------用生活实例来形象说明两者的差别

    1,请求重定向:client行为,response.sendRedirect(),从本质上讲等同于两次请求,前一次的请求对象不会保留,地址栏的URL地址会改变. 2,请求转发:server行为,req ...

  4. javaWeb中request请求转发和response重定向

    1.访问资源 运用forward方法只能重定向到同一个Web应用程序中的一个资源. 而sendRedirect方法可以让你重定向到任何URL.  2.request.get Forward代码中的&q ...

  5. 请求转发和URL重定向的原理和区别

    一.请求转发和重定向是在java后台servlet中,由一个servlet跳转到另一个servlet/jsp要使用的技术 使用方法 请求转发  req.getResquestDispatcher(se ...

  6. servlet请求转发

    来源:http://www.2cto.com/kf/201610/554591.html 请求转发:Servlet(源组件)先对客户请求做一些预处理操作(数据处理),然后把请求转发给其他Web组件(目 ...

  7. Servlet请求转发RequestDispatcher接口

    在Servlet中,利用RequestDispatcher对象,可以将请求转发给另外一个Servlet或JSP页面,甚至是HTML页面,来处理对请求的响应. 一,RequestDispatcher接口 ...

  8. Servlet请求转发 RequestDispatcher接口.RP

    在Servlet中,利用RequestDispatcher对象,可以将请求转发给另外一个Servlet或JSP页面,甚至是HTML页面,来处理对请求的响应. 一,RequestDispatcher接口 ...

  9. java请求转发,响应重定向的区别

    请求转发:request.getRequestDispatcher().forward(); 例:request.getRequestDispatcher("/index.jsp" ...

随机推荐

  1. JavaScript中判断为整数的多种方式

    之前记录过JavaScript中判断为数字类型的多种方式,这篇看看如何判断为整数类型(Integer). JavaScript中不区分整数和浮点数,所有数字内部都采用64位浮点格式表示,和Java的d ...

  2. 三星嵌入式开发平台 三星Cortex-A9 4412 POP与SCP对比

    iTOP-4412核心板是迅为电子推出的一款高端四核核心板,其中分为POP封装与SCP封装,配备三星Exynos 4412四核处理器,主频为1.4GHz,内置16GB存储空间.该板设计小巧.配备三星自 ...

  3. Doxygen Tool For Unity

    一.准备阶段 在之前的一系列文章中,我尝试了不同方法为Unity的C#生成脚本手册(帮助文档) 使用Doxygen生成C#帮助文档 为Unity项目生成文档(一)为Unity项目生成文档(二) 建议的 ...

  4. 测试 Mono 安装

    测试 Mono 安装 为了测试核心编译器(mcs)和运行时(mono),应该创建一个简单的程序并编译它.可以在喜欢的任何文本编辑器中创建程序.这里采用一种快速而简陋的方法创建该文件(虽然没有任何格式化 ...

  5. Eclipse发布地址不同引发的问题

    eclipse发布到workspace metadata时,进不去http://localhost:8888页面.但是,它可以启动JAZZ和“公司的一个工程”. 而 eclipse发布到tomcat ...

  6. 3110 PHP常见问题

    1.中文显示 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /&g ...

  7. python wordcloud

    python wordcloud 对电影<我不是潘金莲>制作词云 上个星期五(16/11/18)去看了冯小刚的最新电影<我不是潘金莲>,电影很长,有点黑色幽默.看完之后我就去知 ...

  8. EBS 用户及其联系人的失效时间

    联系人失效时间还有一个SQL,从页面的联系人详情简化取得的,不如直接用pos_supplier_users_v视图 SELECT * FROM (SELECT NULL contact_req_id, ...

  9. OC格式化标准符

    %@       对象     •    %d, %i   整数     •    %u        无符整形     •    %f         浮点/双字     •    %x, %X   ...

  10. Firefox扩展开发

    Firefox扩展开发 (插件开发) Extension开发 入门教程 5步走 五步走   首先需要知道什么是"Firefox插件".这里说的"插件"只是一个通 ...