1、从属性方面进行区分 include 指令通过file属性来指定被包含的页面,include指令将file属性看作一个实际存在的文件的路径。所以该属性不支持任何表达式,也不支持在struts应用中的请求模式(如*.do),若在file属性值中应用JSP表达式,会抛出异 常,如下面的代码: Java代码 收藏代码 <% String path="login.jsp"%>
<%@inclue file="<%=path%>"%>
include动作标识通过page属性来指定被包含的页面,该属性支持JSP表达式和Struts 应用在的请求模式 2、从处理方式方面进行区分
使用include指令,被包含的文件为原封不动的插入到包含页中使用该指令的位置,然后JSP编译器再对这个合成的文件进行编译,所以在一个JSP页面中使用include指令来包含另外一个JSP页面,最终编译后的文件只有一个。
使用include 动作标识包含文件时,当该标识执行时,程序会将请求转发到(注意是转发而不是重定向)被包含的页,并将执行结果输出到浏览器中,然后返回包含页继续执行后面的代码,因为服务器执行的是两个文件。所以JSP编 译器会分别对这两个文件进行编译。 3、从包含方式方面进行区分
使用include指令包含文件,最终服务器执行的是将两个文件合成后由JSP编译器编译成一个Class 文件,所以被包含的文件的内容是固定不变的,若改变了被包含的文件,则主文件的代码就发生了变化,因此服务器会重新编译主文件 ,include指令的这种包含称为静态包含
使用include动作标识通常是包含那些经常需要改动的文件,此时服务器执行的是两个文件,被包含的文件改变不会影响到主文件,因此服务器不会对主文件重新编译,而只需要重新编译被包含的文件即可,而对被包含文件的编译是在执 行时才进行的,也就是说,只有当include动作被执行时,使用该标识包含的目标文件才会被编译,否则被包含的文件不会被编译,所以这种包含过程称为动态包含。 4、从被包含文件的约定方面进行区分 JSP有一些标识符例如 Java代码 收藏代码 <%@page contentType="text/html;charset=gb2312"%>
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。