a)jsp 静态包含
<%@ include file=""%> 就是静态包含
- file 属性指定你要包含的jsp页面的路径
- 地址中第一个斜杠 / 表示为http://ip:port/工程路径/ 映射到代码的web目录
静态包含的特点:
1、静态包含不会翻译被包含的jsp页面。
2、静态包含其实是把被包含的jsp页面的代码拷贝到包含的位置执行输出。
示例说明:
main.jsp:
<body>
头部信息 <br>
主体内容 <br>
<%@include file="foot.jsp"%>
</body>
foot.jsp:
<body>
页脚信息 <br>
</body>
结果:
b)jsp 动态包含
<jsp:include page=""></jsp:include> 这是动态包含
- page 属性是指定你要包含的jsp页面的路径
- 动态包含也可以像静态包含一样。把被包含的内容执行输出到包含位置
动态包含的特点:
1、动态包含会把包含的jsp页面也翻译成为java代码
2、动态包含底层代码使用如下代码去调用被包含的jsp页面执行输出。 JspRuntimeLibrary.include(request, response, “/include/footer.jsp”, out, false);
3、动态包含,还可以传递参数
示例说明:
<body>
头部信息 <br>
主体内容 <br>
<%--
--%>
<jsp:include page="/include/footer.jsp">
<jsp:param name="username" value="bbj"/>
<jsp:param name="password" value="root"/>
</jsp:include>
</body>
动态包含的底层原理:
c)jsp 标签-转发
<jsp:forward page=""></jsp:forward> 是 请 求 转 发 标 签 , 它 的 功 能 就 是 请 求 转 发
- page属 性 设 置 请 求 转 发 的 路 径
示例说明:
<%-<jsp:forward page=""></jsp:forward>
是 请 求 转 发 标 签 , 它 的 功 能 就 是 请 求 转 发
page属 性 设 置 请 求 转 发 的 路 径
<%--方法二:
<jsp:forward page=""></jsp:forward> 是请求转发标签,它的功能就是请求转发
page 属性设置请求转发的路径
--%>
<jsp:forward page="/scope2.jsp"></jsp:forward>>
在这里需要补充说明一点:我们在工作中,几乎都是使用静态包含。理由很简单。因为 jsp 页面虽然可以写 java 代码,做其他的功能操作。
但是由于 jsp 在开发过程中被定位为专门用来展示页面的技术。也就是说。jsp 页面中,基 本上只有 html,css,js。还有一些简单的 EL,
表达式脚本等输出语句。所以我们都使用静态包含。