思考题:JSP的指令inclue和动作include的区别

问: 1.在001.jsp中,有本语句<%@ include file="002.jsp"%> ,那么当第一次在浏览器中访问001.jsp的时候,在tomcat的工作目录下产生几个类文件?(1或2)

   2.在1.jsp中 有本语句 <jsp:include page="2.jsp"/>  ,那么当第一次在浏览器中访问1.jsp的时候,在tomcat的工作目录下产生几个类文件?(1或2)

请给出说明理由,并通过提交实验截图来验证。

答:1个      2个

理由如下:

执行时间上:

<%@ include file=“002.jsp”%> 是在翻译阶段执行 
<jsp:include page=“2.jsp” /> 在请求处理阶段执行。 

引入内容的不同:

<%@ include file=“002.jsp”%> 引入静态文本(html,jsp),在JSP页面被转化成servlet之前和它融和到一起。 
<jsp:include page=“2.jsp” /> 引入执行页面或servlet所生成的应答文本。

 

Include指令是“先包含,后编译”,在编译时主文件已经包含被include的文件内容(即源代码); 
Include动作是“先运行,后包含”,在运行时主文件才包含被include的文件运行结果

原文地址:https://www.cnblogs.com/bgd150809336/p/6648386.html