jsp问题

各位大哥大姐

 我一直不知道静态的include 和 动态的include 有什么区别?

动态INCLUDE
用jsp:include动作实现 它总是会检查所含文件中的变化,适合用于包含动态页面,并且可以带参数。

静态INCLUDE
用include伪码实现,不会检查所含文件的变化,适用于包含静态页面<%@ include file="included.htm" %>

  1. 静态include的结果是把其他jsp引入当前jsp,两者合为一体 动态include的结构是两者独立,直到输出时才合并( 看看jsp生成的java文件就可以知道了)

2.正是因为这样,动态include的jsp文件独立性很强,是一个单独的jsp文件,需要使用的对象,页面设置,都必须有自己创建,当然,还好它和include它的页面的request范围是一致的.

而静态include纯粹是把代码写在外面的一

静态包含发生在翻译阶段,将本页面和要包含的页面统一翻译成servlet代码,这样会造成变量冲突等麻烦,不推荐使用。动态包含是将页面的结果包含到本页面中。

简单一点说就是
动态include:会将被包含的文件先经过计算,将结果包含进来。
而静态include:直接将被包含的文件源码复制进来。