标签:执行 方法 重用 文件包含 编译器 它的 include指令 实现 包含
3.JSP脚本
1.JSP中应用代码片段
格式:<% Java代码或是脚本代码 %>
在页面请求处理 期间被执行。通过java代码可以定义变量或是流程控制语句,通过脚本代码可以应用JSP的内置对象在页面输出内容、处理请求和响应并访问session会话等。
2.JSP表达式
格式:<%= 表达式 %>
用于在页面中输出信息。注意:在=和%之间不能有空格
3.声明标识
格式:<%! 声明变量或方法的代码%>
在JSP页面中也可以如编写Java文件一样定义成员变量及成员方法,定义的变量和方法是全局的 。
脚本片段和声明标识的区别:通过声明标识创建的变量和方法,在当前JSP页面中有效,它的生命周期是从创建开始到服务器关闭结束;
而代码片段创建的变量或方法,也是在当前JSP页面中有效,但它的生命周期是页面关闭后,就会被销毁。并且,声明标识是定义变量和方法,而代码片段不能用来定义方法。
4.包含动作标识和文件包含指令
想要包含页面有两种方式:
①使用文件包含指令include。它属于JSP的指令标识,可以将一个JSP页面包含到另一个JSP页面中,实现JSP页面的重用。
格式:<%@ include file="path"%>
原理:被包含文件中所有内容会被原样包含到JSP页面中。即使是被包含文件中有JSP代码,在包含时也不会被编译执行,将两个页面组合成一个页面后编译处理,最后返回结果页面。
②使用包含动作标识jsp:include。它属于JSP的动作标识,同样可以包含其他页面。
格式:<jsp:include page="url"
flush="false/true" /> 或 <jsp:include
page="url" flush="false/true"> </jsp:include>
原理:将被包含的页面编译处理后将结果包含在页面中。Web会首先编译被包含的页面。然后将编译处理后的结果返回包含在页面之中,再编译包含页面,最后将两个页面组合的结果回应给浏览器。
区别:1、include指令通过file属性指定被包含的文件,并且该属性不支持任何表达式;<jsp:include>动作标识通过page属性指定被包含的文件,而且该属性支持JSP表达式。
2、使用include指令时,被包含的文件内容会原封不动地插入到包含页中,然而JSP编译器将合成后的文件最终编译为一个Java文件;使用<jsp:inlcude>动作标识包含文件且该标识被执行时,程序会将请求转发(不是重定向)到被包含的页面并将执行结果输出到浏览器中,然后返回包含页面继续执行后面的代码。因为服务器执行多个文件,所以JSP编译器会分别编译这些文件。
3、在应用include指令包含文件时由于被包含的文件最终会生成一个文件,所以在被包含文件和包含文件中不能有重名的变量或方法;在应用<jsp:include>动作标识包含文件时,由于每个文件单独编译,所以在被包含文件和包含文件中重名的变量和方法不冲突
4、include指令包含的只能是静态页面,而<jsp:include>动作标识能包含静态或动态页面。
标签:执行 方法 重用 文件包含 编译器 它的 include指令 实现 包含
原文地址:http://www.cnblogs.com/hynbrx/p/7373222.html