JSP编译指令是给JSP引擎提供编译器指令信息的,它们的作用是设置JSP程序和由该JSP程序编译所生成的Servlet程序的属性。
语法格式:
<%@ 指令 指令的属性= "属性值" %>
例如:
<%@ directive attribule= "value" %>
<%@ directive attribule1= "value1"
attribule2= "value2"
…
attribuleN= "valueN" %>
4.1.1 include编译命令
JSP语法中的include指令语句指示在JSP语句被解释的过程中包含一个静态文件,同时解析这个被包含文件中的JSP语句。在一个JSP页面中可以出现的include指令没有数量限制,include指令也可以被嵌套使用,而且在嵌套上也无限制。但是。要注意的是所有页面必须使用跟起始页面相同的脚本语言。
基本语法:
<% @ include file= "relativeURL" %>
其中,“relativeURL”指示被包含的文件的相对存储位置的URL地址。
另外,还要说明几点:
(1) 在JSP编译时插入一个包含文本或代码的文件,包括JSP文件、
HTML文件和文本文件,或者只是一段Java代码。
(2) 包含文件的路径名一般来说是相对路径,不需要什么端口、协议和域
名。
例如:
“error.jsp” 、“/templates/onlinestore.html”、 “/beans/calendar.jsp”等。
(3) 包含文件中不能使用<html>,</html>,<body>,</body>标记,因
为这将影响在原JSP文件中同样的标记而导致错误。
【JSP服务器对象】在JavaServer Pages (JSP)技术中,服务器对象是JSP页面可以直接使用的内置对象,无需显式声明或创建实例。这些对象包括Response、Request、Session、Application、Out、Config、PageContext和Exception,它们各自在处理HTTP请求、管理用户会话、共享应用程序级数据等方面发挥重要作用。在服务器端执行的脚本通常用`<% %>`包裹,而客户端直接执行的文件多为HTML格式。
【JSP编译指令】是向JSP引擎提供关于如何编译JSP页面及其生成Servlet的配置信息。语法结构是`<%@ 指令 属性="值" %>`,用于设置JSP程序和Servlet的属性。
**4.1.1 include编译命令**:
include指令允许在JSP页面解释过程中插入一个静态文件,同时解析被包含文件中的JSP语句。基本语法是`<%@ include file="relativeURL" %>`,其中`relativeURL`指示被包含文件相对于当前JSP页面的URL。可以多次使用且能嵌套,但所有包含的页面需使用相同脚本语言。注意,包含文件路径通常是相对路径,不包含端口、协议或域名。例如,可以包含"error.jsp"、"/templates/onlinestore.html"或"/beans/calendar.jsp"。不过,包含文件内不应有`<html>`、`</html>`、`<body>`、`</body>`标签,以避免与主JSP页面中的相同标签冲突导致错误。
**4.1.2 page编译命令**:
page指令用于设置JSP页面的特性,如编程语言、导入的类、会话控制、缓冲区设置等。其语法格式如下:
```jsp
<%@ page
language="java"
extends="package.class"
import="{package.class | package.*}, …"
session="true | false"
buffer="none | 8kb | sizekb"
autoFlush="true | false"
isThreadSafe="true | false"
info="text"
errorPage="relativeURL"
contentType="mimeType [; charset=characterSet ]"
isErrorPage="true | false"
%>
```
- `language="java"`:定义JSP页面的脚本语言,默认是Java。
- `extends="package.class"`:指定生成Servlet的父类,默认是HttpJspBase。
- `import="{package.class | package.*}, …"`:引入Java类或包,默认引入java.lang.*、java.servlet.*、javax.servlet.jsp和javax.servlet.http.*。
- `session="true | false"`:启用或禁用会话支持。
- `buffer="none | 8kb | sizekb"`:设置输出缓冲区大小。
- `autoFlush="true | false"`:自动刷新缓冲区的开关。
- `isThreadSafe="true | false"`:标识JSP页面是否线程安全。
- `info="text"`:提供页面信息。
- `errorPage="relativeURL"`:定义错误页面的相对URL。
- `contentType="mimeType [; charset=characterSet ]"`:设定页面内容类型及字符集。
- `isErrorPage="true | false"`:标识该页面是否为错误处理页面。
这些属性可以帮助开发者精确控制JSP页面的行为和功能,确保页面按预期工作。通过合理利用这些编译指令,可以提高JSP页面的效率和可维护性。