JSP静态导入与动态导入

JSP静态导入(JSP指令标记include)

JSP页面第一次被请求时,会被JSP引擎转译成Servlet的Java文件,然后再被编译成字节码文件执行。JSP指令标记为JSP页面转译提供整个页面的相关信息。

include指令用于在JSP页面静态插入一个文件,被插入的文件可以是JSP页面、HTML页面、文本文件或一段Java代码。使用了include指令的JSP页面在转换成Java文件时,将被插入的文件在当前JSP页面出来该指令的位置做整体的插入,合并成一个新的JSP页面,然后JSP引擎再将这个新的JSP页面转译成Java文件。因此,必须保证插入文件后形成的新的JSP页面符合JSP语法和逻辑规则。include指令的使用格式为:

<%@ page include file="文件的URL" %>

插入文件可以使用绝对路径和相对路径,一般要使用相对路径。相对路径是相对于当前页面所在目录的路径,例如,当前网页所在目录是Web服务根目录,被插入的文件在根目录下的text文件中,文件名为head.txt,相对路径的使用格式如下:

<%@ page include file="text/head.txt" %>

当被插入的文件被修改后,JSP引擎会重新将当前的JSP页面和修改后的被嵌入的文件合并成一个新的JSP页面,然后转译、编译成新的Java字节文件供客户访问。

使用include指令可以实现代码的复用,提高代码的使用效率。例如,页面一般都需要一个标题栏、导航栏、页脚等,用户可以将标题栏等写成单独的文件,每个JSP页面都可以在适当的位置用include指令插入标题栏、导航栏、页脚等文件,这样就极大地提高了代码的复用和效率,使代码更便于修改。

值得注意的是,被插入的文件是文本文件时需注意在文件的开始部分指明文件的相关信息,这样方便JSP页面和被嵌入的文件合并生成一个新的JSP页面不至于出现乱码等问题。例如(head.txt):

<%@ page contentType="text/html;charset=GB2312"%>
<h1> ..头部信息..</h1>
<div> ... </div>

JSP动态导入(jsp:include动作标记)

include动作标记用来在JSP页面中动态包含一个文件,如果被包含的页面是JSP页面,则先处理之后再将结果包含,而如果包含的是非*.jsp文件,则只是把文件内容静态包含进来。包含页面程序与被包含页面程序是彼此独立的,互补影响。jsp:include标记的一般使用格式为:

<jsp:include page="文件的URL" />
或
<jsp:include page="文件的URL">
       <jsp:param 子标记/>
</jsp:include>

JSP动态导入与静态导入的区别:

1、处理时间和方式不同:include指令标记插入的文件在页面转译时就合并到一起了,被包含文件与当前页面组合而成的新页面必须符合JSP的语法和逻辑规则,由于是提前合并编译,所以执行速度快;而jsp:include动作标记是被包含文件语法和逻辑独立于当前页面,单独被JSP引擎编译,当前页面执行时再将被包含文件的运行结果传送给客户端,由于是执行页面时处理包含文件,所以执行速度慢,但可以利用param子标记传递参数,使用更灵活。

2、适用情况不同:静态导入适合导入不会经常变化的资源例如html文件,而动态导入适合一个时常变化的资源例如JSP文件。

时间: 2024-12-20 02:58:56

JSP静态导入与动态导入的相关文章

JSP 静态导入和动态导入的区别

静态导入是使用scriptlet语法导入 <%@include file="文件路径" %> 静态导入是先把文件包含进来然后一起编译,可能会导致重复定义变量报错 动态导入语法是使用标签形式,动态导入可以传递参数 //第一种语法 <jsp:include page="文件路径" /> //第二种语法 <jsp:include page="文件路径"> </jsp:param name="参数名称&

jsp里面include的静态导入和动态导入的区别

静态导入就是将被导入页面完全融入到导入的页面中:而动态导入只是在servlet里面插入了include方法,导入的这是被导入页面的body标签里面的内容 1.什么是静态导入? 静态导入指的是,将一个外部文件嵌入到当前JSP文件中,同时解析这个页面的JSP语句,它会把目标页面的其他编译指令也包含进来.include的静态导入指令使用语法: 复制代码 代码如下: <%@include file="relativeURLSpec"%> 静态导入使用范例include1.jsp:

JSP-讲解(生成java类、静态导入与动态导入)

一.JSP技术简介 JSP是Java Server Page的缩写,它是Servlet的扩展,它的作用是简化网站的创建和维护. JSP是HTML代码与Java代码的混合体. JSP文件通常以JSP或JSPX的扩展名. JSP拥有自己的语法. JSP形式上像HTML,但本质上是Servlet. JSP的出现,使得将Web开发中的HTML与业务逻辑代码有效分离成为可能.通常JSP只负责生成动态的HTML文档,而业务逻辑由其他Java组件如JavaBean来实现.JSP可以通过Scriptlet来访问

jsp静态导入和动态导入

动态导入:JSP:include仅仅是包含给界面的body 体不管里面有什么东西,统一编译出来被包含进来的界面编译指令会作用消失. 静态导入:@include要包含有该界面的解析的指令.这里面的神马都会包含进来的,title也要包含,甚至于title直接被篡改了.并且页面会被编译为两个servlet类的.编译指令依旧是有作用的,这就是为什么会有连个servlet界面了

jsp页面的静态导入和动态导入

静态导入: <%@include%>:页面请求之前预编译,所有代码包含进来之后,一起进行处理,把所有代码合在一起,编译成一个servlet 动态导入:< jsp:include>(尖括号中间没有空格):所有代码分别处理,在页面被请求的时候才编译,被编译成多个servlet,页面语法相对独立,处理完成之后再将代码的显示结果(处理结果)组合进来. JSP中的两种包含页面的方法 第一种:include指令:当JSP转换成Servlet时引入指定文件 (静态包含) 第二种:< jsp

转载 -jsp静态包含和动态包含的区别

原博地址:http://blog.csdn.net/baidu_21578557/article/details/51226678 主要从以下5方面进行分析: 1.语法: 静态包含:<%@ include file=""%> 动态包含:<jsp: include page=""%> 2.静态包含时,包含页面和被包含页面中的html.head,body等标签总共只有出现一次,否则会报错:而动态包含不会. 3.静态包含不会检查所包含文件中的变化:

导入模块的方法(常规导入与动态导入)

1 """动态导入模块的两种方法 2 1.内建函数:__import__( str ) 3 ●它是解释器自己内部使用的,官方不建议使用 4 ●__import__函数与import 语句的既定目标相同 5 但它是一个真正的函数,并接受一个字符串参数. 6 2.模块:importlib 7 ●官方建议使用 8 ●importlib.import_module( str ) 9 此方法支持传入字符串参数来导入一个模块, 10 字符串参数仅仅是一个硬性的字符串代码, 11 但它可以

IT兄弟连 JavaWeb教程 JSP静态包含和动态包含的区别

JSP静态包含(<%@ include>和JSP动态包含<jsp:include>同样都可以用来包含文件,但是他们之间是存在很大差别的.下面将对include指令与include动作的区别进行详细介绍: ●  include指令通过file属性指定被包含的文件,并且file属性不支持任何表达式:include动作标识通过page属性指定被包含的文件,而且page属性支持JSP表达式. ●  使用include指令时,被包含的文件内容会原封不动地插入到包含页中,然后JSP编译器在将合

JSP静态include和动态include的区别

静态include是指令元素.include指令的语法格式:<%@ include file="filename" %>.include指令的作用是在JSP页面中静态包含一个文件,同时由JSP解析包含的文件内容静态包含的含义.涉及到的2个JSP页面会被翻译成一个Servlet,也就是.java文件,再一起编译成.class文件对外显示.总结:先包含,后翻译,最后编译. 动态include即是<jsp:include file="filename"