静态和动态包含的区别与联系:
1.最终编译成java文件的数目不同。
-
静态包含在转换成为java攵件的时候将包含文件的内容“复制”到主体文件然后作为一个整体编译。最终编译为一个java文件
-
动态包含是各个jsp文件分别转换,分别編译最终编程成多个java文件。
-
动态包含发生在:执行class文件阶段动态加入。
3.静态包含在两个文件中不能有相同的变量动态包含允许。
由於静态包含相当于将包含文件内容直接复制到主体文件中如果出现相同的变量,就会出现覆盖等问题导致文件出错。而动态包含相当於调用不同的jsp变量所在的空间不同,自然不会出现覆盖等现象
无论是动态包含还是静态包含,其request对象都是相同的也就是同一个request对象。
静态包含最终编译成一个java文件有一个request对象很好理解。而动态包含最终编译成多个jsp文件为何会使用一个request对象呢?其实这些jsp组合的过程昰一个请求转发的过程自然也使用同一个request对象了。
4.静态包含和动态包含的使用
简单总结一下就一句话:被包含的页面是静态页面就用靜态包含,是动态页面就用动态包含