JSP页面中的静态包含和动态包含

        静态包含是在请求包含页面时去编译包含页面,编译时遇到静态页面包含伪码将被包含页面的内容复制到被包含页面中进行编译。

        动态包含是指在请求包含页面的时候遇到动态包含指令将请求转到被包含页面,这时去编译被包含页面。

测试项目

静态包含

Header.jsp

<html>  
<head>  
<meta http-equiv="Content-Type" content="text/html; charset=GB18030">  
<title>Insert title here</title>  
</head>  
<body>  
    <h1>I'm Header</</h1> 

 

Content.jsp

 

<hr/>  
<h1>HelloWord,I'M Content</h1> 


Footer.jsp

<hr>  
<h1>I'M Footer</h1>  
</body>  
</html>  


Index.jsp

<%@ page language="java" import="java.util.*" pageEncoding="GB18030"%>  
  
<%@ include file="/Header.jsp" %>  
<%@ include file="/Content.jsp" %>  
<%@ include file="/Footer.jsp" %>


 

运行结果:

动态包含

Index.jsp

<%@ page language="java" import="java.util.*" pageEncoding="GB18030"%>  
  
  
<jsp:include page="/Header.jsp"></jsp:include>  
<jsp:include page="/Content.jsp"></jsp:include>  
<jsp:include page="/Footer.jsp"></jsp:include>


运行结果同静态包含

但两者生成的class文件缺不同:

静态包含:

动态包含:

通过以上说明可知,动态包含在请求到来时编译包含页面和被包含页面,如果都是jsp页面,那么将生成两个个页面对应的class文件和java文件。而静态包含只会生成包含页面的java文件和类文件。

所以,如果在动态包含的被包含页中定义相同名称的变量是不会冲突的,在静态包含中任何页面定义相同名称的变量都会冲突。

 


 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值