JSP include指令(静态包含和动态包含)


前言

JSP全称Java Server Pages,是一种动态网页开发技术。它允许开发人员使用JSP标签在HTML网页中插入Java代码。


一、include指令是什么?

JSP可以通过include指令来包含其他文件。被包含的文件可以是JSP文件、HTML文件或文本文件。包含的文件就好像是该JSP文件的一部分,会被同时编译执行。

根据指令的不同分为以下两种:

  • 1 静态包含
  • 2 动态包含

二、静态包含和动态包含

2.1 语法格式

1.静态包含

<%@ include file="文件相对 url 地址" %> 

2.动态包含

1 <jsp:include page="文件相对 url 地址" />
2 <jsp:include page="文件相对 url 地址"></jsp:include>

2.2 过程

2.2.1静态包含过程

在这里插入图片描述
分为以下三步:

  1. 将被包含的 jsp文件1 放入 jsp文件2 中
  2. 将文件2 放入服务器解析
  3. 生成一个.java 文件

如下图所示:
文件1 为content.jsp
在这里插入图片描述

文件2 为static.jsp
在这里插入图片描述
可见文件2中有文件1 ,文件1是被包含的文件。

通过apache-tomcat-9.0.22\work\Catalina\localhost\Jsp_02\org\apache\jsp路径可以找到static文件,只有一个.java文件
在这里插入图片描述
查看static_jsp.java源代码。下图可见 确实将 文件1的内容复制到文件2
在这里插入图片描述

2.2.1动态包含过程

在这里插入图片描述
分为以下五步:

  1. 将被包含的 jsp文件1 直接放入服务器解析
  2. 生成文件1.java文件
  3. 将文件1的结果放入文件2中
  4. 再将文件2 放入服务器解析
  5. 生成一个文件2.java 文件

如下图所示:
文件1 还是content
文件2:
在这里插入图片描述
根据时间,可以看出content.java先生成。
在这里插入图片描述
查看dynamic_jsp.java源代码。通过下图可以看到,是直接用了include()方法

	org.apache.jasper.runtime.JspRuntimeLibrary.include(request, response, url , out, false);

将content.jsp文件执行的返回结果包含进来。
且将request和response传递给了content.jsp,由此可见动态包含的一个关键特点:可以用来传递参数。
在这里插入图片描述


三、两者的主要区别

过程是最主要的区别,除了以上之外,还有一下的区别(主要是2 3 传递参数和url地址的区别)。

1 	<jsp:include>是动态包含
	而<%@ include%>是静态包含。		
2	动态包含可以给被包含的页面传递参数。	
	静态包含不能给被包含的页面传递参数。
3	动态包含的地址可以是变量。
	静态包含的地址是常量。
4	<jsp:include page=“file” flush=“true” />它总是会检查所含文件中的变化。
	而<%@include file=“file”%>不会检查所含文件的变化,适用于包含静态页面。

  • 40
    点赞
  • 130
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Le`soleil

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值