鱼C论坛

 找回密码
 立即注册
查看: 3318|回复: 1

RequestDispatcher中关于forward和include方法的疑问

[复制链接]
发表于 2017-8-1 08:58:36 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
forword方法和include 方法的区别在哪?两个都是跳转到其他的web资源处理后回到原先的servlet中继续处理吗?
include可以多次使用,forward只能用一次是为什么呢? 两个方法都是把request和respond都传过去吗?
其实本质问题是include方法和forward方法在程序中的路径问题,就是启用两个方法的时候程序是传什么过去,跳过去走哪一步?然后再回来是怎么回来?求助 搞不清楚差别
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-8-1 16:58:59 | 显示全部楼层
RequestDispatcher借口包含两个方法,forward方法和include方法,
forward将将请求转发到RequestDispatcher对象封装的资源,include方法将RequestDispatcher对象封装的资源作为当前响应内容的一部分包含进来。他们都有两个参数,即传递给当前Servlet的service方法的那两个ServletRequest和ServletResponse对象
include方法,要注意的是 被包含的Servlet程序不能改变响应消息的状态码和响应头,它里面设置状态码和响应头的语句将被忽略
在forward方法调用之前,如果Servlet程序中写入的部分内容已被传送到客户端,forward方法将抛出IllegalStateException. forward方法执行以后,写入到缓冲区的内容将被清空,后面的写入操作将被忽略。
forward方法的调用者和被调用者的状态码和响应头都不会被忽略。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-15 00:54

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表