什么是forward和include?
请求包含的例子
第一个Servlet (DispatcherServlet)
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
resp.setContentType("text/html;charset=utf-8"); // 响应类型
PrintWriter writer = resp.getWriter(); // 获取输出流
writer.write("this message is from dispatcher servlet <br />"); // 向前端输出
RequestDispatcher dispatcher = req.getRequestDispatcher("/test/target/servlet"); // 请求包含目标Servlet
// ***核心代码***
dispatcher.include(req, resp); // 实行请求包含 - include方法
}
第二个Servlet (TargetServlet)
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
resp.setContentType("text/html;charset=utf-8"); // 响应类型
resp.setCharacterEncoding("utf-8"); // 解析字符编码
PrintWriter writer = resp.getWriter(); // 获取输出流
writer.println("this message is from target servlet"); // 向前端输出
}
前端显示的结果为:

请求转发的例子
只修改第一个例子当中第一个Servlet (DispatcherServlet)的include为forward方法。
dispatcher.forward(req, resp); // 实行请求转发 - forward方法
前端显示的结果为:

实验总结
请求转发(forward)不包含当前Servlet的资源;请求包含(include)包含当前Servlet和目标Servlet的资源。
什么是forward和include?的更多相关文章
- RequestDispatcher 的 forward和include
1.RequestDispatcher 的 forward和include: http://www.avajava.com/tutorials/lessons/what-is-a-request-di ...
- Forward与include的区别
Forward与include的区别 <jsp:include>标签用于把另外一个资源的输出内容插入进当前JSP页面的输出内容之中,这种在JSP页面执行时的引入方式称之为动态引入. < ...
- JSP<jsp:forward>与<%@ include%>
JSP<jsp:forward>与<%@ include%><jsp:include> <jsp:forward file="forwardTo_p ...
- jsp中 RequestDispatcher接口的两种跳转:forward()和include()
在web程序中,经常是由多个Servlet来完成请求.RequestDispatcher接口就是为了多个Servlet之间的调整而实现的.该接口可以用httpSerbletRequest的getReq ...
- (十二)会话跟踪技术之servlet通信(forward和include)
一.servlet通信方法 二.具体应用 scopeServlet.java protected void doPost(HttpServletRequest request, HttpServlet ...
- jsp/servlet 中sendRedirect,include,forward区别
1 sendRedirect response.sendRedirect(); 服务器根据逻辑,发送一个状态码,告诉浏览器重新去请求新的地址,一般来说浏览器会用刚才请求的所有参数重新请求,所以sess ...
- 标准标签、<jsp:include>、<jsp:forward>
使用方法 标准标签在jsp页面直接编写即可,因为标准标签是JSP规范提供的,所有容器都支持. 被替代性 标准标签的许多功能都可以被JSTL与EL表达式语言所替代. 作用 标准标签可协助编写JSP时减少 ...
- 转发(forward)和重定向(sendRedirect)
一. RequestDispatche 是一个Web资源的包装器,可以用来把当前的Request传递给该资源,或者把新的资源包括到当前的相应中.详细来说:RequestDispatch对象从客户端获取 ...
- Java学习-036-JavaWeb_005 -- JSP 动作标识 - forward
JSP 动作主要作用是根据指定的动作进行相应的处理. 一.param 动作 用来给 HTML 文件和 JSP 文件传递参数的,经常和 forward.include.plugin 动作结合使用,语法格 ...
随机推荐
- 查询登录信息 w, who*, id, tty, last, finger
查询登录信息 w, who*, id, tty, last, finger Wavky2016.12.14 16:19:37字数 813阅读 85w [options] [user...]显示所有已登 ...
- 火币HBAI量化币圈唯一免费量化炒币机器人
量化交易是一种投资方法.以先进的数学模型替代人为的主观判断,利用计算机技术从庞大的历史数据中海选能带来超额收益的多种"大概率"事件以制定策略,极大地减少了投资者情绪波动的影响,避免 ...
- ThreadLocal与ThreadLocalMap源码分析
ThreadLocal类 该类主要用于不同线程存储自己的线程本地变量.本文先通过一个示例简单介绍该类的使用方法,然后从ThreadLocal类的初始化.存储结构.增删数据和hash值计算等几个方面,分 ...
- 学习Git的一些总结
Git是以后公司工作必不可少的,所以早点了解使用它是很有必要的 一般国外的开源是GitHub 国内的是码云Gitee 至于git的安装教程,这里就不啰嗦啦,面向百度即可,安装完成鼠标右键会多几个选项: ...
- 出现 关于UTF-8 序列的字节 2 无效的异常
学习mybatis中碰到了 Caused by: org.apache.ibatis.builder.BuilderException: Error creating document instanc ...
- Spring Mvc Long类型精度丢失
背景 在使用Spring Boot Mvc的项目中,使用Long类型作为id的类型,但是当前端使用Number类型接收Long类型数据时,由于前端精度问题,会导致Long类型数据转换为Number类型 ...
- 深度学习数据特征提取:ICCV2019论文解析
深度学习数据特征提取:ICCV2019论文解析 Goal-Driven Sequential Data Abstraction 论文链接: http://openaccess.thecvf.com/c ...
- Windows下Qt VS 打包程序 到他人电脑安装运行出现的问题
1.可能缺程序依赖的Qt动态库 ------> 使用Qt自带的windeployqt进入安装程序所在的文件夹内进行自动配置 将程序安装在C盘之外的盘,这样可以方便windeployqt ...
- JUC 并发编程--05, Volatile关键字特性: 可见性, 不保证原子性,禁止指令重排, 代码证明过程. CAS了解么 , ABA怎么解决, 手写自旋锁和死锁
问: 了解volatile关键字么? 答: 他是java 的关键字, 保证可见性, 不保证原子性, 禁止指令重排 问: 你说的这三个特性, 能写代码证明么? 答: .... 问: 听说过 CAS么 他 ...
- mount 挂载操作
windows系统显示光盘内容 光盘文件-------->光驱设备--------->双击访问CD驱动器(访问点) Linux系统显示光盘内容 光盘文件-------->光驱设备-- ...