jsp中静态包含和动态包含异同

静态包含:<%@ include file=” ”%>

动态包含:<jsp:  include page=” ”/>

区别和联系:

1、最终编译成java文件的数目不同

  • 静态包含在转换成为java文件的时候将包含文件的内容“复制”到主体文件,然后作为一个整体编译。最终编译为一个java文件。
  • 动态包含是各个jsp文件分别转换,分别编译。最终编程成多个java文件。

2、执行时间不同

  • 静态包含发生在:JSP---->java文件阶段。
  • 动态包含发生在:执行class文件阶段。动态加入。

3、页面中的变量异同

  • 静态包含:在多个文件中不能有相同的变量。
  • 动态包含:在多个文件中允许有相同的变量。
  • 原因:由于静态包含相当于将包含文件内容直接复制到主体文件中,如果出现相同的变量,就会出现覆盖等问题,导致文件出错。而动态包含相当于调用不同的jsp,变量所在的空间不同,自然不会出现覆盖等现象。

4、request对象异同

  • 静态包含最终编译成一个java文件,只有一个request对象。
  • 动态包含最终编译成多个java文件,而这些jsp组合的过程是一个请求转发的过程,所以也使用同一个request对象。

静态包含和动态包含的使用:

  • 简单总结一下,就一句话:被包含的页面是静态页面就用静态包含,是动态页面就用动态包含。(当然,不是很绝对,但是这样用没有错。)

参考文献:https://www.cnblogs.com/wxgblogs/p/5602689.html

猜你喜欢

转载自blog.csdn.net/qq_41630866/article/details/87596789