请求转发:

方式一:

  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. Sql-oracle and sqlserver differences

    1.string contact operator Sqlserver use + or contact(sqlserver 2012) In oracle, you can also use con ...

  2. SSIS XML source demo

    以下是一个使用xml作为source的SSIS package示例: 自动生成的xsd.把两个结点merge join成一条记录. 示例XML如下: <?xml version="1. ...

  3. Chorme中启动阿里旺旺误点取消启动并记住选择,如何更改。

    今天在Chorme中启动阿里旺旺误点取消启动并记住选择,然后如何也点不开了.从网上找到了一种解决方法: 找到路径   C:\Users\\AppData\Local\Google\Chrome\Use ...

  4. js立即执行函数: (function ( ){...})( ) 与 (function ( ){...}( )) 有区别?

    没有区别. 你需要明白 IIFE 的原理,我简单说一下: function foo() {...} // 这是定义,Declaration:定义只是让解释器知道其存在,但是不会运行. foo(); / ...

  5. WPF数字输入框和IP地址输入框

    数字输入框 简介 在业务中,我们经常需要限制用户的输入,比如限制输入长度,限制只能输入数字等等.限制输入长度WPF内置的TextBox已经帮我们解决了,但是限制输入数字却并未在WPF中内置解决方案.使 ...

  6. Tsung测试openfire服务器

    环境准备 安装Tsung.安装openfire.安装Spark Tsung使用 要对openfire进行压力测试,因此我们主要讲解如何利用jabber_register.xml在openfire上面注 ...

  7. Eclipse去除JavaScript验证错误

    这篇文章主要是对Eclipse去除js(JavaScript)验证错误进行了介绍.在Eclipse中,js文件常常会报错.可以通过如下几个步骤解决 第一步: 去除eclipse的JS验证: 将wind ...

  8. Android 屏幕适配(二)增强版百分比布局库(percent-support-lib)

    转载请标明出处: http://blog.csdn.net/lmj623565791/article/details/46767825: 本文出自:[张鸿洋的博客] 一 概述 上周一我们发布了Andr ...

  9. Xcode中文乱码问题

    老师给拷贝的程序用Xcode打开中文显示是乱码,而预览里面是正常显示的,Xcode默认编码UTF-8没错的,怎么办呢? 解决办法:用自带的文本编辑器打开,全选,复制,Xcode中打开文件,粘贴,ok~ ...

  10. NSProgress

    苹果公司在 iOS 7 and OS X 10.9引入NSProgress类,目标是建立一个标准的机制用来报告长时间运行的任务的进度.NSProgress引入之后,其最重要的作用是可以在一个app的多 ...