1. 首先先介绍下,jsp机制:
servlet容器,先将jsp转化成servlet,然后编译成.class文件,放置容器缓冲区【tomcat的work目录下】。
每次调用jsp时,服务器会读取编译好的servler.class,处理jsp的请求。
2. <%@ include file="page.jsp"%>
在servlet容器转化jsp为servlet时,将引入的jsp源码全部添加到当前jsp,一并转化成一个servlet,然后编译。
【可以理解为整合一个servlet,一起编译,一次执行】
3.<jsp:include page="page.jsp"/>
发送请求给当前jsp,servlet调用当前jsp servlet编译后文件,到引用位置,调用编译后的page.jsp的servlet。class文件。【可以理解为,各自单独编译,互相调用编译的文件】
总结:
以下是对include 两种用法的区别,主要有两个方面的不同:
执行时间上:
<%@ include file=”relativeURI”%> 是在翻译阶段执行
<jsp:include page=”relativeURI” flush=”true” /> 在请求处理阶段执行.
引入内容的不同:
<%@ include file=”relativeURI”%>引入静态文本(html,jsp),在JSP页面被转化成servlet之前和它融和到一起.
<jsp:include page=”relativeURI” flush=”true” />引入执行页面或servlet所生成的应答文本.
另外在两种用法中file和page属性都被解释为一个相对的URI.如果它以斜杠开头,那么它就是一个环境相关的路径.将根据赋给应用程序的URI的前缀进行解释,如果它不是以斜杠开头,那么就是页面相关的路径,就根据引入这个文件的页面所在的路径进行解释。
编译class格式类似java内部类:如附件图示。
- 大小: 2.1 KB
分享到:
相关推荐
1. 动态与静态:`<jsp:include>` 动态包含,`<%@ include %>` 静态包含。 2. 执行时机:`<jsp:include>` 在请求时,`<%@ include %>` 在编译时。 3. 内容变化:`<jsp:include>` 适合动态内容,`<%@ include %>` 适合...
<%-- 或者使用静态包含:<%@ include file="date.jsp" %> --%> </head> <body> <p>今天的日期是:</p> </body> </html> ``` 如果使用`<jsp:include page="date.jsp" flush="true"/>`,那么每当访问`test.jsp...
nt test</title></head><body>This content is statically in the main JSP file.<br/><jsp:include page="included.html"/></body></html>]]>)正如你所见,清单2使用了传统的`<%@include file="..."%>`伪指令来包含...
JSP 中的 Include 有两种用法,分别是 `<%@ include file=” ”%>` 和 `<jsp:include page=” ” flush=”true”/>`。这两种用法都可以用于引入其他 JSP 文件,但是它们之间存在着一些关键的区别。 首先,让我们...
<%@ page language="java" contentType="text/html; charset=gb2312"%> <html> ... <tr ><td colspan="2"><%@ include file="view/AdminEnd.jsp" %></td></tr> </table> </center> </body> </html>
本篇将详细介绍JSP中的`page`指令,以及`include`指令与相关动作`<jsp:include>`, `<jsp:forward>`, `<jsp:fallback>`, `<jsp:plugin>`。 首先,`page`指令是JSP中最高级别的指令,它用于定义整个JSP页面的属性。`...
jsp:include 动作与`<%@ include %>`类似,但可以动态地包含页面。 **JSP语法**: ```jsp <jsp:include page="page.jsp" flush="true"/> ``` **示例**: ```jsp <jsp:include page="header.jsp" flush="true"/> ``` ...
<td height="277" align="center" valign="top"><%@include file="changxiao.jsp"%></td> </tr> </table> <br> <table width="208" height="356" border="0" cellpadding="0" cellspacing="0" background=...
- `<jsp:include page="header.jsp" />` 和 `<jsp:include page="footer.jsp" />` 会在运行时动态加载`header.jsp`和`footer.jsp`的内容。 - 这种方式称为动态包含,因为包含的动作是在运行时发生的,而不是在编译时...
<%@include file="header.jsp"%> <table width="759" border="0" cellspacing="0" cellpadding="0"> <tr> <td align="center"> <s:form action="Useradd"> <table width="400" border="0" cellspacing="0" ...
- **用途**:通常与 `<jsp:include>`、`<jsp:forward>` 和 `<jsp:plugin>` 等动作元素配合使用,用于传递参数。 #### <jsp:forward> 动作元素详解 - **语法**: ```jsp <jsp:forward page="页面地址"/> ``` - **...
<jsp:include page="file-url|<%=expression%>" flush="true" /> ``` `flush`属性默认为`false`,当设置为`true`时,表示在包含之前清空缓冲区。同样,`jsp:param`可用于传递参数: ```html <jsp:include ...
根据提供的文件信息,本篇文章将围绕“在JSP页面中包含文件”的主题展开,深入探讨JSP中的两种主要包含机制:`jsp:include`动作标签与`<%@ include %>`指令,以及它们在实际开发中的应用场景。 ### JSP页面中的文件...
包含分为指令`<%@ include file="">`和动作`<jsp:include page="">`。 - **包含指令**: 在JSP转换为Servlet源码之前执行,将JSP代码直接插入到主页面中。这意味着被包含的页面可以影响主页面的整体结构,如...
<%@ include file="header.jsp" %> ``` **2.2 动作元素** 动作元素允许开发者在运行时动态地插入文件、重定向请求、收集用户输入等,主要的动作元素包括: - **jsp:include**:动态地包含另一个文件。 - **jsp:...
- **Include指令**:`<%@ include file="filename" %>` 用于静态包含其他文件,使JSP页面实现模块化。被包含的文件会先被解析,然后再合并到主页面中。 - **Taglib指令**:Taglib指令允许定义自定义标签库及其...
1. **编译与运行时的区别**:`<%@ include file="% %>`在编译时执行,而`<jsp:include>`在运行时执行,这决定了它们在性能和灵活性上的不同表现。 2. **数据流管理**:使用`<jsp:include>`时,需要注意被包含页面...
<%@ include file="header.jsp"%> ``` - **taglib指令**:引入自定义标签库,定义标签前缀和URI。这使得可以使用自定义标签来扩展JSP功能。例如: ```jsp <%@ taglib uri=...
<%@ include file="header.jsp" %> <jsp:include page="footer.jsp" flush="true" /> ``` 上述代码中,`header.jsp`在每个页面顶部被静态包含,而`footer.jsp`则在请求处理完成后动态插入。 **试题三:JSP动作...