服务器转发机制java_java-请求分派概念的包含机制和转发机制之间的区别?

两者之间的主要区别在于forward()方法将在调用输出流后关闭它,而include方法将输出流保留为OPEN。

举例说明: 让我们有一个名为xxx.java的servlet页面和一个名为yy.jsp的jsp页面

在yy.jsp中

WELCOME to yy.jsp

在xxx.java中//使用forward()

.forward()

输出

WELCOME to yy.jsp

在xxx.java中//使用include()

.forward()

输出

WELCOME to yy.jsp back to servlet

但是最重要的是它与控制无关,因为如果我们将

.forward()

在.forward()或.include()调用之后,每种情况都会生成控制台输出,这与对客户端的响应有关

因此,基本部分是 如果我们正在服务器端组件中进行处理,然后转发到JSP或Servlet以便为客户端生成标记,则一旦该JSP或Servlet完成处理,我们就无法再调用任何其他组件来生成可以 发送给客户。 一旦执行了转发,就为当前请求和响应周期生成标记。

或者,通过包含,输出流保持打开状态,因此我们可以调用尽可能多的不同文件来生成所需的客户端标记。 因此,我们可以在生成基于客户端标记的组件链中包括两个或三个JSP文件,甚至一个Servlet。 当我们使用include时,调用后不会关闭输出流。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值