1.language属性
该属性用于设置JSP界面所使用的语言,目前只支持Java语言。该属性默认值为Java。
代码:
<%@ page language="java" %>
2.extends属性
该属性用于设置JSP页面继承的Java类,所有的JSP页面在执行之前会被服务器解析成Servlet,而Servlet是由Java类定义的,所以JSP和Servlet都可以继承指定父类。该属性并不常用,而且可能影响服务器的性能优化。
注:Servlet(Server Applet)是Java Servlet的简称,称为小服务程序或服务连接器,用Java编写的服务器端程序,主要功能在于交互式地浏览和修改数据,生成动态Web内容。
3.import属性
该属性用于设置JSP导入的类包。JSP页面可以嵌入Java代码片段,这些Java代码在调用API时需要导入相应的类包。
代码:
<%@ page import="java.util.*" %>
4.pageEncoding属性
该属性用于定义JSP页面的编码格式,也就是文件编码。JSP页面中的所有代码都使用该属性制定的字符集。
代码:<%@ page pageEncoding="UTF-8" %>
注:
部分常用的字符编码:
ISO-8859-1
128 个字符显然是不够用的,于是 ISO 组织在 ASCII 码基础上又制定了一些列标准用来扩展 ASCII 编码,它们是 ISO-8859-1~ISO-8859-15,其中 ISO-8859-1 涵盖了大多数西欧语言字符,所有应用的最广泛。ISO-8859-1 仍然是单字节编码,它总共能表示 256 个字符。
GB2312
它的全称是《信息交换用汉字编码字符集 基本集》,它是双字节编码,总的编码范围是 A1-F7,其中从 A1-A9 是符号区,总共包含 682 个符号,从 B0-F7 是汉字区,包含 6763 个汉字。
GBK
全称叫《汉字内码扩展规范》,是国家技术监督局为 windows95 所制定的新的汉字内码规范,它的出现是为了扩展 GB2312,加入更多的汉字,它的编码范围是 8140~FEFE(去掉 XX7F)总共有 23940 个码位,它能表示 21003 个汉字,它的编码是和 GB2312 兼容的,也就是说用 GB2312 编码的汉字可以用 GBK 来解码,并且不会有乱码。
GB18030
全称是《信息交换用汉字编码字符集》,是我国的强制标准,它可能是单字节、双字节或者四字节编码,它的编码与 GB2312 编码兼容,这个虽然是国家标准,但是实际应用系统中使用的并不广泛。
UTF-16
说到 UTF 必须要提到 Unicode(Universal Code 统一码),ISO 试图想创建一个全新的超语言字典,世界上所有的语言都可以通过这本字典来相互翻译。可想而知这个字典是多么的复杂,关于 Unicode 的详细规范可以参考相应文档。Unicode 是 Java 和 XML 的基础,下面详细介绍 Unicode 在计算机中的存储形式。
UTF-16 具体定义了 Unicode 字符在计算机中存取方法。UTF-16 用两个字节来表示 Unicode 转化格式,这个是定长的表示方法,不论什么字符都可以用两个字节表示,两个字节是 16 个 bit,所以叫 UTF-16。UTF-16 表示字符非常方便,每两个字节表示一个字符,这个在字符串操作时就大大简化了操作,这也是 Java 以 UTF-16 作为内存的字符存储格式的一个很重要的原因。
UTF-8
UTF-16 统一采用两个字节表示一个字符,虽然在表示上非常简单方便,但是也有其缺点,有很大一部分字符用一个字节就可以表示的现在要两个字节表示,存储空间放大了一倍,在现在的网络带宽还非常有限的今天,这样会增大网络传输的流量,而且也没必要。而 UTF-8 采用了一种变长技术,每个编码区域有不同的字码长度。不同类型的字符可以是由 1~6 个字节组成。
UTF-8 有以下编码规则:
如果一个字节,最高位(第 8 位)为 0,表示这是一个 ASCII 字符(00 - 7F)。可见,所有 ASCII 编码已经是 UTF-8 了。
如果一个字节,以 11 开头,连续的 1 的个数暗示这个字符的字节数,例如:110xxxxx 代表它是双字节 UTF-8 字符的首字节。
如果一个字节,以 10 开始,表示它不是首字节,需要向前查找才能得到当前字符的首字节
5.contentType属性
该属性用于设置JSP页面的MIME类型和字符编码,浏览器会根据此显示网页内容。
代码:
<%@ page contentType="text/html; charset=UTF-8" %>
6.session属性
该属性指定JSP页面是否使用HTTP的session绘画会话对象。其属性值是boolean类型,可选值为true和false。默认值为true,表示可以使用session绘会话对象;如果设置为false,则当前页面将无法使用session会话对象。
代码:
<%@ page session="false" %>
该代码设置JSP页面不使用session对象,任何对session对象的引用都会发生错误。
7.buffer属性
该属性用于设置JSP的out输出对象使用的缓冲区大小,默认大小为8KB,且单位只能使用KB。一般使用8的倍数作为该属性的属性值。
代码:
<%@ page buffer="128KB" %>
8.autoFlush属性
该属性用于设置JSP页面缓存满时,是否自动刷新缓存。默认值为true,如果设置成false,则缓存满时将跑抛出异常。
代码:
<%@ page autoFlush="false" %>
9.isErrorPage属性
通过该属性可以将当前JSP页面设置成错误处理页面,以处理另一个JSP页面的错误,也就是异常处理。这意味着当前JSP页面业务的改变。
代码:
<%@ page isErrorPage="true" %>
10.errorPage属性
该属性用于指定处理当前JSP页面异常错误的另一个JSP页面,指定的JSP错误处理页面必须设置isErrorPage属性为true。errorPage属性的属性值是一个urlzfc1。
代码:
<%@ page errorPage="error/loginErrorPage.jsp" %>