标题：即用即查JSP函数与对象参考手册
内容简介
  图书封面本书是一本JSP函数与对象参考手册，涵盖了绝大多数标签、对象，全书采用实例进行讲解，旨在能够指导开发实践。
本书以JSP 2.0规范为依据，全面介绍了使用JSP语言进行动态Web应用开发所涉及的函数与对象。全书首先介绍了JSP运行与开发环境，JSP的基本语法；然后介绍JSP标准标记库、定制标记库、表达式语言等内容；接着介绍了Servlet技术，涵盖了Servlet、过滤器、监听者、JavaBean以及JSP开发模型等；最后介绍了数据库访问技术，包括SQL语言、JDBC驱动程序、JDBC访问MySQL、数据访问对象等内容。本书包含大量示例代码，力求精练、实用。
本书适用于使用JSP技术进行Web应用设计的开发人员阅读，可以作为JSP开发人员参考用书。
出版信息
作者：孔鹏
责任编辑：屈艳莲
出版发行：人民邮电出版社
书号：978-7-115-16111-6/TP
出版日期： 2007年7月
开本：16开
印张：36
字数：810千字
定价：65.00元
图书目录
第1篇　JSP基础技术篇
第1章　建立JSP环境　3
1.1　JSP环境需求　3
1.1.1　操作系统　3
1.1.2　软件需求　3
1.2　Java软件开发工具包　3
1.2.1　安装J2SDK　4
1.2.2　配置J2SDK　5
1.2.3　测试J2SDK　6
1.3　Tomcat服务器　7
1.3.1　安装Tomcat　7
1.3.2　测试Tomcat　9
1.3.3　配置Tomcat　9
1.4　Eclipse开发环境　10
1.4.1　安装Eclipse　10
1.4.2　安装tomcatPlugin　11
1.4.3　启动和停止Tomcat　12
1.4.4　第一个JSP页面　12
第2章　指令(Directive)元素　14
2.1　page指令　14
2.1.1　language属性：指定脚本语言　14
2.1.2　extends属性：指定扩展类名　15
2.1.3　import属性：声明导入库　15
2.1.4　session属性：指定是否可用session对象　16
2.1.5　buffer属性：指定缓冲区大小　16
2.1.6　autoFlush属性：指定是否自动刷新输出　17
2.1.7　isThreadSafe属性：指定是否线程安全　17
2.1.8　info属性：指定信息文本　17
2.1.9　errorPage属性：指定错误页面　17
2.1.10　isErrorPage属性：指定是否为错误页面　18
2.1.11　contentType属性：指定内容类型　18
2.1.12　pageEncoding属性：指定页面编码方式　19
2.1.13　isELIgnored属性：指定是否忽略EL　19
2.2　include指令　19
2.3　taglib指令　20
2.3.1　prefix属性：指定标记前缀　20
2.3.2　tagdir属性：指定包含标记文件的目录　20
2.3.3　uri属性：指定标记库相对路径　21
2.4　attribute指令　21
2.4.1　name属性：指定属性名　22
2.4.2　required属性：指定属性值是否必需　22
2.4.3　fragment属性：指定为片段　22
2.4.4　rtexprvalue属性：指定是否可由表达式设置　23
2.4.5　type属性：指定属性值的类型　24
2.4.6　description属性：指定描述信息　24
2.5　tag指令　24
2.5.1　display-name属性：指定显示名称　24
2.5.2　body-content属性：指定本体内容类型　24
2.5.3　dynamic-attributes属性：保存未声明属性的变量名　25
2.5.4　small-icon属性：指定小图标　25
2.5.5　large-icon属性：指定大图标　26
2.5.6　description属性：指定描述信息　26
2.5.7　example属性：指定一个范例　26
2.5.8　language属性：指定脚本语言　26
2.5.9　import属性：声明导入库　26
2.5.10　pageEncoding属性：指定文件编码方式　26
2.5.11　isELIgnored属性：指定是否忽略EL　27
2.6　variable指令　27
2.6.1　name-given属性：指定变量名　27
2.6.2　name-from-attribute属性：指定属性名　28
2.6.3　alias属性：指定变量别名　28
2.6.4　variable-class属性：指定变量的类型　29
2.6.5　declare属性：指定是否创建变量声明　29
2.6.6　description属性：指定描述信息　29
2.6.7　scope属性：指定变量作用域　29
第3章　动作(Action)元素　30
3.1　 jsp:useBean 动作　30
3.1.1　id属性：指定bean的名称　30
3.1.2　class属性：指定bean的类名　30
3.1.3　type属性：指定bean的类型名称　31
3.1.4　beanName属性：指定bean的名字　31
3.1.5　scope属性：指定bean的作用域　31
3.2　 jsp:setProperty 动作　32
3.2.1　name属性：指定bean的名称　32
3.2.2　property属性：指定bean的属性名　32
3.2.3　param属性：指定请求参数名　32
3.2.4　value属性：指定属性的值　33
3.3　 jsp:getProperty 动作　33
3.3.1　name属性：指定bean的名称　34
3.3.2　property属性：指定bean的属性名　34
3.4　 jsp:include 动作　34
3.4.1　page属性：指定资源相对路径　35
3.4.2　flush属性：指定是否刷新缓冲区　35
3.4.3　 jsp:param 元素：提供参数信息　36
3.5　 jsp:forward 动作　36
3.5.1　page属性：指定资源相对路径　37
3.5.2　 jsp:param 元素：提供参数信息　37
3.6　 jsp:param 动作　38
3.6.1　name属性：指定参数名　38
3.6.2　value属性：指定参数值　38
3.7　 jsp:plugin 动作　38
3.7.1　type属性：指定对象类型　38
3.7.2　code属性：指定applet类名　39
3.7.3　codebase属性：指定applet类相对路径　39
3.7.4　name属性：指定对象名　39
3.7.5　archive属性：指定applet归档文件　40
3.7.6　align属性：指定对齐方式　40
3.7.7　height属性：指定applet的高度　40
3.7.8　width属性：指定applet的宽度　40
3.7.9　hspace属性：指定区域左右所留空间　41
8.1.3　url属性：指定数据库URL　182
8.1.4　user属性：指定用户名称　182
8.1.5　password属性：指定用户密码　182
8.1.6　var属性：指定变量名　182
8.1.7　scope属性：指定变量作用域　183
8.2　 sql:query 动作　184
8.2.1　sql属性：指定SQL查询语句　184
8.2.2　dataSource属性：指定数据源　185
8.2.3　maxRows属性：指定最大行数　185
8.2.4　startRow属性：指定开始索引　186
8.2.5　var属性：指定变量名　187
8.2.6　scope属性：指定变量作用域　187
8.3　 sql:update 动作　188
8.3.1　sql属性：指定SQL更新语句　188
8.3.2　dataSource属性：指定数据源　189
8.3.3　var属性：指定变量名　190
8.3.4　scope属性：指定变量作用域　190
8.4　 sql:param 动作　190
8.5　 sql:dateParam 动作　191
8.5.1　value属性：指定参数值　191
8.5.2　type属性：指定字段类型　192
8.6　 sql:transaction 动作　192
8.6.1　dataSource属性：指定数据源　193
8.6.2　isolation属性：指定事务隔离级别　194
第9章　XML标记库(XML Tag Library)　196
9.1　 x:parse 动作　196
9.1.1　doc属性：指定XML文档　196
9.1.2　xml属性：指定XML文档　198
9.1.3　systemId属性：指定系统标识　198
9.1.4　filter属性：指定过滤器　198
9.1.5　varDom属性：指定DOM变量名　199
9.1.6　scopeDom属性：指定DOM变量作用域　199
9.1.7　var属性：指定变量名　200
9.1.8　scope属性：指定变量作用域　200
9.2　 x:out 动作　201
9.2.1　select属性：指定XPath表达式　201
9.2.2　escapeXml属性：是否转换XML字符　202
9.3　 x:set 动作　202
9.3.1　select属性：指定XPath表达式　202
9.3.2　var属性：指定变量名　203
9.3.3　scope属性：指定变量作用域　203
9.4　 x:if 动作　204
9.4.1　select属性：指定测试条件　204
9.4.2　var属性：指定变量名　205
9.4.3　scope属性：指定变量作用域　206
9.5　 x:when 动作　206
9.6　 x:choose 动作　207
9.7　 x:otherwise 动作　209
9.8　 x:forEach 动作　209
9.8.1　var属性：指定变量名　210
9.8.2　select属性：指定XPath表达式　210
9.8.3　varStatus属性：指定状态变量名　211
9.8.4　begin属性：指定开始索引　212
9.8.5　end属性：指定结束索引　212
9.8.6　step属性：指定迭代步长　213
9.9　 x:transform 动作　214
9.9.1　doc属性：指定XML文档　214
9.9.2　xml属性：指定XML文档　215
9.9.3　xslt属性：指定XSLT样式表　215
9.9.4　docSystemId属性：指定XML系统标识　216
9.9.5　xsltSystemId属性：指定XSLT系统标识　216
9.9.6　var属性：指定变量名　217
9.9.7　scope属性：指定变量作用域　217
9.9.8　result属性：指定结果对象　218
9.10　 x:param 动作　218
9.10.1　name属性：指定参数名　219
9.10.2　value属性：指定参数值　220
第10章　函数标记库(Functions Tag Library)　221
10.1　fn:contains函数　221
10.1.1　inputString参数：指定输入字符串　221
10.1.2　subString参数：指定子字符串　221
10.1.3　函数返回值　221
10.2　fn:containsIgnoreCase函数　223
10.2.1　inputString参数：指定输入字符串　223
10.2.2　subString参数：指定子字符串　223
10.2.3　函数返回值　223
10.3　fn:startsWith函数　224
10.3.1　inputString参数：指定输入字符串　224
10.3.2　prefix参数：指定前缀字符串　224
10.3.3　函数返回值　224
10.4　fn:endsWith函数　225
10.4.1　inputString参数：指定输入字符串　226
10.4.2　suffix参数：指定后缀字符串　226
10.4.3　函数返回值　226
10.5　fn:escapeXml函数　227
10.5.1　inputString参数：指定输入字符串　227
10.5.2　函数返回值　227
10.6　fn:indexOf函数　228
10.6.1　string参数：指定字符串　228
10.6.2　subString参数：指定子字符串　228
10.6.3　函数返回值　229
10.7　fn:split函数　230
10.7.1　string参数：指定要分离的字符串　230
10.7.2　delimiters参数：指定分隔符列表　230
10.7.3　函数返回值　230
10.8　fn:join函数　231
10.8.1　array参数：指定要连接的数组　232
10.8.2　separator参数：指定连接字符串　232
10.8.3　函数返回值　232
10.9　fn:replace函数　233
10.9.1　inputString参数：指定输入字符串　233
10.9.2　beforeString参数：指定替换前字符串　233
10.9.3　afterString参数：指定替换后字符串　233
10.9.4　函数返回值　233
10.10　fn:trim函数　235
10.10.1　string参数：指定原始字符串　235
10.10.2　函数返回值　235
10.11　fn:substring函数　236
10.11.1　inputString参数：指定输入字符串　236
10.11.2　beginIndex参数：指定开始索引　236
10.11.3　endIndex参数：指定结束索引　236
10.11.4　函数返回值　236
10.12　fn:substringAfter函数　237
10.12.1　inputString参数：指定输入字符串　238
10.12.2　subString参数：指定子字符串　238
10.12.3　函数返回值　238
10.13　fn:substringBefore函数　239
10.13.1　inputString参数：指定输入字符串　239
10.13.2　subString参数：指定子字符串　239
10.13.3　函数返回值　239
10.14　fn:toLowerCase函数　240
10.14.1　inputString参数：指定输入字符串　241
10.14.2　函数返回值　241
10.15　fn:toUpperCase函数　241
10.15.1　inputString参数：指定输入字符串　242
10.15.2　函数返回值　242
10.16　fn:length函数　242
10.16.1　input参数：指定输入对象　243
10.16.2　函数返回值　243
第11章　定制标记库(Tag Library)　244
11.1　TagSupport类　244
11.1.1　EVAL_BODY_AGAIN字段：再次计算本体　244
11.1.2　EVAL_BODY_INCLUDE字段：包括本体计算结果　244
11.1.3　EVAL_PAGE字段：计算页面　244
11.1.4　SKIP_BODY字段：跳过本体　246
11.1.5　SKIP_PAGE字段：跳过页面　246
11.1.6　id字段：id属性值　246
11.1.7　pageContext字段：pageContext对象　247
11.1.8　doAfterBody方法：计算本体后的处理　248
11.1.9　doEndTag方法：遇到结束标记时的处理　249
11.1.10　doStartTag方法：遇到开始标记的处理　249
11.1.11　findAncestorWithClass方法：查找类实例　250
11.1.12　getId方法：获取id属性值　251
11.1.13　getParent方法：获取父处理器　251
11.1.14　getValue方法：获取键值　252
11.1.15　getValues方法：获取所有的键　252
11.1.16　release方法：释放状态　253
11.1.17　removeValue方法：移除键值　253
11.1.18　setId方法：设置id属性值　253
11.1.19　setPageContext方法：设置pageContext对象　254
11.1.20　setParent方法：设置父处理器　254
11.1.21　setValue方法：设置键值　254
11.2　BodyTagSupport类　254
11.2.1　bodyContent字段：bodyContent对象　255
11.2.2　EVAL_BODY_BUFFERED字段：缓冲计算本体　256
11.2.3　EVAL_BODY_TAG字段：计算标记本体　256
11.2.4　doInitBody方法：初始化本体的处理　256
11.2.5　getBodyContent方法：获取bodyContent对象　257
11.2.6　getPreviousOut方法：获取外层out对象　258
11.2.7　setBodyContent方法：设置BodyContent对象　258
11.3　SimpleTagSupport类　258
11.3.1　doTag方法：处理标记　258
11.3.2　findAncestorWithClass方法：查找类实例　259
11.3.3　getJspBody方法：获取本体片段　260
11.3.4　getJspContext方法：获取页面上下文　261
11.3.5　getParent方法：获取父处理器　262
11.3.6　setJspBody方法：设置本体片段　262
11.3.7　setJspContext方法：设置页面上下文　262
11.3.8　setParent方法：设置父处理器　263
11.4　DynamicAttributes接口　263
11.5　TryCatchFinally接口　264
11.5.1　doCatch方法：Catch处理　264
11.5.2　doFinally方法：Finally处理　265
11.6　标记库描述符(Tag Library Descriptor)　266
11.6.1　 taglib 元素：指定标记库　266
11.6.2　 tlib-version 元素：指定标记库版本　267
11.6.3　 jsp-version 元素：指定JSP版本　267
11.6.4　 short-name 元素：指定标记库简称　267
11.6.5　 uri 元素：指定标记库URI　267
11.6.6　 description 元素：指定描述信息　267
11.6.7　 display-name 元素：指定显示名称　268
11.6.8　 small-icon 元素：指定小图标　268
11.6.9　 large-icon 元素：指定大图标　268
11.6.10　 tag 元素：指定标记　268
11.6.11　 validator 元素：指定验证器　269
11.6.12　 listener 元素：指定监听器　269
11.6.13　 tag-file 元素：指定标记文件　269
11.6.14　 function 元素：指定函数　270
11.6.15　 name 元素：指定元素名称　270
11.6.16　 tag-class 元素：指定标记处理器类　270
11.6.17　 tei-class 元素：指定标记额外信息类　270
11.6.18　 body-content 元素：指定本体内容　271
11.6.19　 dynamic-attributes 元素：指定动态属性　271
11.6.20　 example 元素：指定范例　271
11.6.21　 variable 元素：指定变量　271
11.6.22　 attribute 元素：指定属性　272
11.6.23　 validator-class 元素：指定验证器类　272
11.6.24　 init-param 元素：指定初始化参数　272
11.6.25　 listener-class 元素：指定监听器类　273
11.6.26　 path 元素：指定标记文件路径　273
11.6.27　 function-class 元素：指定函数类　273
11.6.28　 function-signature 元素：指定函数声明　273
11.6.29　 name-given 元素：指定给定的变量名　273
11.6.30　 name-from-attribute 元素：指定来自属性的变量名　274
11.6.31　 variable-class 元素：指定变量类型　274
11.6.32　 declare 元素：指定是否声明　274
11.6.33　 scope 元素：指定作用域　274
11.6.34　 required 元素：指定是否必需　274
11.6.35　 rtexprvalue 元素：指定是否接受动态值　275
11.6.36　 type 元素：指定属性类型　275
11.6.37　 fragment 元素：指定是否为JspFragment　275
11.6.38　 param-name 元素：指定参数名　275
11.6.39　 param-value 元素：指定参数值　276
第12章　表达式语言(Expression Language)　277
12.1　EL标识符　277
12.1.1　保留字　277
12.1.2　保留标识符　277
12.1.3　作用域变量　277
12.2　EL存取器　278
12.2.1　点(.)运算符　278
12.2.2　方括号([])运算符　278
12.3　EL隐式对象　279
12.3.1　pageContext对象：页面上下文　279
12.3.2　pageScope对象：页面作用域　280
12.3.3　requestScope对象：请求作用域　280
12.3.4　sessionScope对象：会话作用域　280
12.3.5　applicationScope对象：应用作用域　280
12.3.6　param对象：请求参数　280
12.3.7　paramValues对象：请求参数所有的值　281
12.3.8　header对象：请求头部　282
12.3.9　headerValues对象：请求头部所有的值　283
12.3.10　cookie对象：Cookie　283
12.3.11　initParam对象：初始化参数　283
12.4　EL文字　284
12.5　EL运算符　284
12.5.1　算术运算符　284
12.5.2　关系运算符　284
12.5.3　逻辑运算符　285
12.5.4　验证运算符　285
12.5.5　运算符优先级　285
12.6　EL函数　286
12.6.1　函数实现类VolFunc.java　286
12.6.2　标记库描述符文件ccc.tld　286
12.6.3　应用部署描述文件web.xml　287
12.6.4　EL函数范例elfunc.jsp　287
第3篇　Servlet技术篇
第13章　Servlet　291
13.1　Servlet接口　291
13.1.1　init方法：初始化Servlet　291
13.1.2　service方法：处理客户端请求　291
13.1.3　destroy方法：销毁Servlet　293
13.1.4　getServletConfig方法：获取ServletConfig对象　293
13.1.5　getServletInfo方法：获取Servlet信息　293
13.2　GenericServlet类　294
13.2.1　GenericServlet：构造函数　294
13.2.2　init方法：初始化Servlet　294
13.2.3　service方法：处理客户端请求　294
13.2.4　destroy方法：销毁Servlet　296
13.2.5　getInitParameter方法：获取初始化参数　296
13.2.6　getInitParameterNames方法：获取所有初始化参数名　296
13.2.7　getServletConfig方法：获取ServletConfig对象　297
13.2.8　getServletContext方法：获取Servlet上下文　297
13.2.9　getServletInfo方法：获取Servlet信息　298
13.2.10　getServletName方法：获取Servlet名称　298
13.2.11　log方法：信息写入日志　298
13.3　HttpServlet类　298
13.3.1　HttpServlet：构造函数　299
13.3.2　init方法：初始化Servlet　299
13.3.3　service方法：处理客户端请求　299
13.3.4　destroy方法：销毁Servlet　299
13.3.5　doGet方法：处理GET请求　299
13.3.6　doPost方法：处理POST请求　301
13.3.7　doHead方法：处理HEAD请求　302
13.3.8　doPut方法：处理PUT请求　302
13.3.9　doDelete方法：处理DELETE请求　302
13.3.10　doTrace方法：处理TRACE请求　302
13.3.11　doOptions方法：处理OPTIONS请求　303
13.3.12　getInitParameter方法：获取初始化参数　303
13.3.13　getInitParameterNames方法：获取所有初始化参数名　303
13.3.14　getLastModified方法：获取最后修改时间　303
13.4　ServletRequest接口　304
13.4.1　getAttribute方法：获取属性　304
13.4.2　getAttributeNames方法：获取所有属性名　304
13.4.3　getCharacterEncoding方法：获取字符编码方式　305
13.4.4　getContentLength方法：获取内容长度　306
13.4.5　getContentType方法：获取内容类型　306
13.4.6　getInputStream方法：获取输入流　306
13.4.7　getLocalAddr方法：获取服务器地址　307
13.4.8　getLocale方法：获取区域对象　307
13.4.9　getLocales方法：获取所有的区域对象　308
13.4.10　getLocalName方法：获取服务器名称　308
13.4.11　getLocalPort方法：获取服务器端口　308
13.4.12　getParameter方法：获取参数　308
13.4.13　getParameterMap方法：获取参数映射　308
13.4.14　getParameterNames方法：获取所有参数名　309
13.4.15　getParameterValues方法：获取所有参数值　309
13.4.16　getProtocol方法：获取协议　311
13.4.17　getReader方法：获取Reader对象　311
13.4.18　getRealPath方法：获取物理路径　311
13.4.19　getRemoteAddr方法：获取客户端地址　312
13.4.20　getRemoteHost方法：获取客户端主机　312
13.4.21　getRemotePort方法：获取客户端端口　312
13.4.22　getRequestDispatcher方法：获取RequestDispatcher对象　312
13.4.23　getScheme方法：获取协议机制　313
13.4.24　getServerName方法：获取服务器名称　313
13.4.25　getServerPort方法：获取服务器端口　313
13.4.26　isSecure方法：判断是否使用安全链接　314
13.4.27　removeAttribute方法：移除属性　314
13.4.28　setAttribute方法：设置属性　315
13.4.29　setCharacterEncoding方法：设置字符编码方式　315
13.5　ServletResponse接口　315
13.5.1　flushBuffer方法：刷新缓冲区　315
13.5.2　getBufferSize方法：获取缓冲区大小　316
13.5.3　getCharacterEncoding方法：获取字符编码方式　316
13.5.4　getContentType方法：获取内容类型　316
13.5.5　getLocale方法：获取区域对象　316
13.5.6　getOutputStream方法：获取ServletOutputStream对象　316
13.5.7　getWriter方法：获取PrintWriter对象　317
13.5.8　isCommitted方法：判断是否已提交　318
13.5.9　reset方法：重置　318
13.5.10　resetBuffer方法：重置缓冲区　319
13.5.11　setBufferSize方法：设置缓冲区大小　319
13.5.12　setCharacterEncoding方法：设置字符编码方式　319
13.5.13　setContentLength方法：设置内容长度　319
13.5.14　setContentType方法：设置内容类型　320
13.5.15　setLocale方法：设置地域代码　320
13.6　HttpServletRequest接口　320
13.6.1　BASIC_AUTH字段：基本认证　320
13.6.2　CLIENT_CERT_AUTH字段：客户端证书认证　321
13.6.3　DIGEST_AUTH字段：摘要认证　321
13.6.4　FORM_AUTH字段：表单认证　321
13.6.5　getAttribute方法：获取属性　321
13.6.6　getAttributeNames方法：获取属性名集合　321
13.6.7　getAuthType方法：获取认证类型　321
13.6.8　getContextPath方法：获取上下文路径　322
13.6.9　getCookies方法：获取Cookie对象数组　323
13.6.10　getDateHeader方法：获取Date型头部　323
13.6.11　getHeader方法：获取头部　323
13.6.12　getHeaderNames方法：获取所有头部名　324
13.6.13　getHeaders方法：获取头部所有的值　324
13.6.14　getInputStream方法：获取输入流　325
13.6.15　getIntHeader方法：获取整型头部　325
13.6.16　getMethod方法：获取请求方式　325
13.6.17　getPathInfo方法：获取路径信息　325
13.6.18　getPathTranslated方法：获取翻译后的路径　326
13.6.19　getQueryString方法：获取查询字符串　326
13.6.20　getRemoteUser方法：获取客户端用户名　326
13.6.21　getRequestedSessionId方法：获取请求的会话标识　327
13.6.22　getRequestURI方法：获取发送请求的URI　327
13.6.23　getRequestURL方法：获取响应请求的URL　327
13.6.24　getServletPath方法：获取Servlet路径　328
13.6.25　getSession方法：获取HttpSession对象　328
13.6.26　getUserPrincipal方法：获取认证用户的Principal对象　329
13.6.27　isRequestedSessionIdFromCookie方法：判断会话ID是否来自Cookie　329
13.6.28　isRequestedSessionIdFromURL方法：判断会话ID是否来自URL　329
13.6.29　isRequestedSessionIdValid方法：判断会话ID是否有效　329
13.6.30　isSecure方法：判断是否使用安全链接　330
13.6.31　isUserInRole方法：判断认证用户是否属于指定角色　330
13.7　HttpServletResponse接口　330
13.7.1　SC_ACCEPTED字段：已接受　331
13.7.2　SC_BAD_GATEWAY字段：错误的网关　331
13.7.3　SC_BAD_REQUEST字段：错误请求　331
13.7.4　SC_CONFLICT字段：冲突　331
13.7.5　SC_CONTINUE字段：继续　331
13.7.6　SC_CREATED字段：已创建　332
13.7.7　SC_EXPECTATION_FAILED字段：期望失败　332
13.7.8　SC_FORBIDDEN字段：禁止　332
13.7.9　SC_FOUND字段：找到　332
13.7.10　SC_GATEWAY_TIMEOUT字段：网关超时　332
13.7.11　SC_GONE字段：已不存在　333
13.7.12　SC_HTTP_VERSION_NOT_SUPPORTED字段：不支持的HTTP版本　333
13.7.13　SC_INTERNAL_SERVER_ERROR字段：内部服务器错误　333
13.7.14　SC_LENGTH_REQUIRED字段：需要数据长度　333
13.7.15　SC_METHOD_NOT_ALLOWED字段：方法未允许　333
13.7.16　SC_MOVED_PERMANENTLY字段：永久性移动　334
13.7.17　SC_MOVED_TEMPORARILY字段：临时性移动　334
13.7.18　SC_MULTIPLE_CHOICES字段：多重选择　334
13.7.19　SC_NO_CONTENT字段：无内容　334
13.7.20　SC_NON_AUTHORITATIVE_INFORMATION字段：非官方信息　335
13.7.21　SC_NOT_ACCEPTABLE字段：无法访问　335
13.7.22　SC_NOT_FOUND字段：未找到　335
13.7.23　SC_NOT_IMPLEMENTED字段：未实现　335
13.7.24　SC_NOT_MODIFIED字段：未修正　335
13.7.25　SC_OK字段：正常　336
13.7.26　SC_PARTIAL_CONTENT字段：局部内容　336
13.7.27　SC_PAYMENT_REQUIRED字段：保留　336
13.7.28　SC_PRECONDITION_FAILED字段：先决条件失败　336
13.7.29　SC_PROXY_AUTHENTICATION_REQUIRED字段：需代理服务器认证　336
13.7.30　SC_REQUEST_ENTITY_TOO_LARGE字段：请求实体过大　337
13.7.31　SC_REQUEST_TIMEOUT字段：请求超时　337
13.7.32　SC_REQUEST_URI_TOO_LONG字段：请求URI过长　337
13.7.33　SC_REQUESTED_RANGE_NOT_SATISFIABLE：请求范围无法满足　337
13.7.34　SC_RESET_CONTENT字段：重置内容　338
13.7.35　SC_SEE_OTHER字段：参见其他信息　338
13.7.36　SC_SERVICE_UNAVAILABLE字段：服务无法获得　338
13.7.37　SC_SWITCHING_PROTOCOLS字段：转换协议　338
13.7.38　SC_TEMPORARY_REDIRECT字段：临时重定向　338
13.7.39　SC_UNAUTHORIZED字段：未授权　339
13.7.40　SC_UNSUPPORTED_MEDIA_TYPE字段：不支持的媒体格式　339
13.7.41　SC_USE_PROXY字段：使用代理　339
13.7.42　addCookie方法：添加Cookie对象　339
13.7.43　addDateHeader方法：添加Date型头部　340
13.7.44　addHeader方法：添加字符串值头部　340
13.7.45　addIntHeader方法：添加整数值头部　341
13.7.46　containsHeader方法：判断头部是否设置　341
13.7.47　encodeRedirectURL方法：对指定URL编码　341
13.7.48　encodeURL方法：对指定URL编码　342
13.7.49　sendError方法：发送错误响应　342
13.7.50　sendRedirect方法：发送重定向响应　343
13.7.51　setDateHeader方法：设置日期值头部　343
13.7.52　setHeader方法：设置字符串值头部　344
13.7.53　setIntHeader方法：设置整数值头部　344
13.7.54　setStatus方法：设置状态码　345
13.8　ServletContext接口　345
13.8.1　getAttribute方法：获取属性值　345
13.8.2　getAttributeNames方法：获取所有属性名　346
13.8.3　getContext方法：获取ServletContext对象　347
13.8.4　getInitParameter方法：获取初始化参数　347
13.8.5　getInitParameterNames方法：获取所有初始化参数名　347
13.8.6　getMajorVersion方法：获取主版本号　348
13.8.7　getMinorVersion方法：获取副版本号　348
13.8.8　getMimeType方法：获取MIME类型　348
13.8.9　getNamedDispatcher方法：获取RequestDispatcher对象　349
13.8.10　getRealPath方法：获取物理路径　349
13.8.11　getRequestDispatcher方法：获取RequestDispatcher对象　350
13.8.12　getResource方法：获取资源路径　350
13.8.13　getResourceAsStream方法：获取资源的InputStream对象　351
13.8.14　getResourcePaths方法：获取所有资源路径　352
13.8.15　getServerInfo方法：获取服务器信息　352
13.8.16　getServlet方法：获取Servlet　352
13.8.17　getServletContextName方法：获取Servlet上下文名称　353
13.8.18　getServletNames方法：获取所有Servlet名　353
13.8.19　getServlets方法：获取所有Servlet　353
13.8.20　log方法：信息写入日志　353
13.8.21　removeAttribute方法：移除属性　354
13.8.22　setAttribute方法：设置属性　354
第14章　过滤器(Filter)　355
14.1　Filter接口　355
14.1.1　destroy方法：销毁过滤器　355
14.1.2　doFilter方法：过滤处理　356
14.1.3　init方法：初始化过滤器　357
14.2　FilterConfig接口　357
14.2.1　getFilterName方法：获取过滤器名　357
14.2.2　getInitParameter方法：获取初始化参数　358
14.2.3　getInitParameterNames方法：获取所有初始化参数名　358
14.2.4　getServletContext方法：获取ServletContext上下文　358
14.3　FilterChain接口　359
14.4　ServletRequestWrapper类　360
14.4.1　ServletRequestWrapper：构造函数　360
14.4.2　getAttribute方法：获取属性　362
14.4.3　getAttributeNames方法：获取所有属性名　362
14.4.4　getCharacterEncoding方法：获取字符编码方式　362
14.4.5　getContentLength方法：获取内容长度　363
14.4.6　getContentType方法：获取内容类型　363
14.4.7　getInputStream方法：获取输入流　363
14.4.8　getLocalAddr方法：获取服务器地址　363
14.4.9　getLocale方法：获取区域对象　364
14.4.10　getLocales方法：获取所有的区域对象　364
14.4.11　getLocalName方法：获取服务器名称　364
14.4.12　getLocalPort方法：获取服务器端口　364
14.4.13　getParameter方法：获取参数　365
14.4.14　getParameterMap方法：获取参数映射　365
14.4.15　getParameterNames方法：获取所有参数名　365
14.4.16　getParameterValues方法：获取所有参数值　365
14.4.17　getProtocol方法：获取协议　366
14.4.18　getReader方法：获取Reader对象　366
14.4.19　getRealPath方法：获取实际路径　366
14.4.20　getRemoteAddr方法：获取客户端地址　366
14.4.21　getRemoteHost方法：获取客户端主机　367
14.4.22　getRemotePort方法：获取客户端端口　367
14.4.23　getRequest方法：获取ServletRequest对象　367
14.4.24　getRequestDispatcher方法：获取RequestDispatcher对象　367
14.4.25　getScheme方法：获取协议机制　368
14.4.26　getServerName方法：获取服务器名称　368
14.4.27　getServerPort方法：获取服务器端口　368
14.4.28　isSecure方法：判断是否使用安全链接　368
14.4.29　removeAttribute方法：移除属性　368
14.4.30　setAttribute方法：设置属性　369
14.4.31　setCharacterEncoding方法：设置字符编码方式　369
14.4.32　setRequest方法：设置ServletRequest对象　369
14.5　ServletResponseWrapper类　370
14.5.1　ServletResponseWrapper：构造函数　370
14.5.2　flushBuffer方法：刷新缓冲区　371
14.5.3　getBufferSize方法：获取缓冲区大小　371
14.5.4　getCharacterEncoding方法：获取字符编码方式　372
14.5.5　getContentType方法：获取内容类型　372
14.5.6　getLocale方法：获取区域对象　372
14.5.7　getOutputStream方法：获取ServletOutputStream对象　372
14.5.8　getResponse方法：获取ServletResponse对象　373
14.5.9　getWriter方法：获取PrintWriter对象　373
14.5.10　isCommitted方法：判断是否已提交　373
14.5.11　reset方法：重置　373
14.5.12　resetBuffer方法：重置缓冲区　374
14.5.13　setBufferSize方法：设置缓冲区大小　374
14.5.14　setCharacterEncoding方法：设置字符编码方式　374
14.5.15　setContentLength方法：设置内容长度　374
14.5.16　setContentType方法：设置内容类型　375
14.5.17　setLocale方法：设置地域代码　375
14.5.18　setResponse方法：设置ServletResponse对象　375
14.6　HttpServletRequestWrapper类　375
3.7.10　vspace属性：指定区域上下所留空间　41
3.7.11　jreversion属性：指定JRE版本　42
3.7.12　nspluginurl属性：指定Netscape插件URL　42
3.7.13　iepluginurl属性：指定IE插件URL　42
3.7.14　 jsp:params 元素：提供参数信息　42
3.7.15　 jsp:fallback 元素：提供替代文本　43
3.8　 jsp:params 动作　43
3.9　 jsp:fallback 动作　43
3.10　 jsp:root 动作　44
3.10.1　version属性：指定JSP版本　44
3.10.2　xmlns:jsp属性：指定使用XML名字空间　44
3.10.3　xmlns:prefix属性：指定标记库　45
3.11　 jsp:declaration 动作　45
3.12　 jsp:scriptlet 动作　46
3.13　 jsp:expression 动作　47
3.14　 jsp:text 动作　47
3.15　 jsp:output 动作　48
3.15.1　omit-xml-declaration属性：指定是否忽略XML声明　48
3.15.2　doctype-root-element属性：指定文档根元素名　49
3.15.3　doctype-system属性：指定文档系统标识　49
3.15.4　doctype-public属性：指定文档公共标识　49
3.16　 jsp:attribute 动作　50
3.16.1　name属性：指定属性名　50
3.16.2　trim属性：指定是否忽略空白　50
3.17　 jsp:body 动作　50
3.18　 jsp:element 动作　51
3.19　 jsp:invoke 动作　52
3.19.1　fragment属性：指定片段名　52
3.19.2　var属性：指定String类型的变量　53
3.19.3　varReader属性：指定Reader类型的变量　53
3.19.4　scope属性：指定变量的作用域　53
3.20　 jsp:doBody 动作　53
3.20.1　var属性：指定String类型的变量　53
3.20.2　varReader属性：指定Reader类型的变量　54
3.20.3　scope属性：指定变量的作用域　54
第4章　脚本(Script)元素　55
4.1　声明(Declaration)　55
4.2　表达式(Expression)　56
4.3　脚本段(Scriptlet)　57
第5章　隐式对象(Implicit Object)　59
5.1　application对象　59
5.1.1　getAttribute方法：获取属性值　59
5.1.2　getAttributeNames方法：获取所有的属性名　60
5.1.3　getContext方法：获取ServletContext对象　60
5.1.4　getInitParameter方法：获取初始化参数　60
5.1.5　getInitParameterNames方法：获取所有的初始化参数名　61
5.1.6　getMajorVersion方法：获取主版本号　61
5.1.7　getMinorVersion方法：获取副版本号　62
5.1.8　getMimeType方法：获取MIME类型　62
5.1.9　getNamedDispatcher方法：获取RequestDispatcher对象　62
14.6.1　HttpServletRequestWrapper：构造函数　376
14.6.2　getAuthType方法：获取认证类型　376
14.6.3　getContextPath方法：获取上下文路径　376
14.6.4　getCookies方法：获取Cookie对象数组　377
14.6.5　getDateHeader方法：获取日期值头部　377
14.6.6　getHeader方法：获取头部　377
14.6.7　getHeaderNames方法：获取所有头部名　377
14.6.8　getHeaders方法：获取头部所有的值　378
14.6.9　getIntHeader方法：获取整数值头部　378
14.6.10　getMethod方法：获取请求方式　378
14.6.11　getPathInfo方法：获取路径信息　378
14.6.12　getPathTranslated方法：获取翻译后的路径　379
14.6.13　getQueryString方法：获取查询字符串　379
14.6.14　getRemoteUser方法：获取客户端用户名　379
14.6.15　getRequestedSessionId方法：获取请求的会话标识　379
14.6.16　getRequestURI方法：获取发送请求的URI　380
14.6.17　getRequestURL方法：获取响应请求的URL　380
14.6.18　getServletPath方法：获取Servlet路径　380
14.6.19　getSession方法：获取HttpSession对象　380
14.6.20　getUserPrincipal方法：获取认证用户的Principal对象　380
14.6.21　isRequestedSessionIdFromCookie方法：判断会话ID是否来自Cookie　381
14.6.22　isRequestedSessionIdFromURL方法：判断会话ID是否来自URL　381
14.6.23　isRequestedSessionIdValid方法：判断会话ID是否有效　381
14.6.24　isUserInRole方法：判断认证用户是否属于指定角色　381
14.7　HttpServletResponseWrapper类　382
14.7.1　HttpServletResponseWrapper：构造函数　382
14.7.2　addCookie方法：添加Cookie对象　382
14.7.3　addDateHeader方法：添加日期值头部　383
14.7.4　addHeader方法：添加字符串值头部　383
14.7.5　addIntHeader方法：添加整数值头部　383
14.7.6　containsHeader方法：判断头部是否设置　384
14.7.7　encodeRedirectURL方法：对指定URL编码　384
14.7.8　encodeURL方法：对指定URL编码　384
14.7.9　sendError方法：发送错误响应　384
14.7.10　sendRedirect方法：发送重定向响应　385
14.7.11　setDateHeader方法：设置日期值头部　385
14.7.12　setHeader方法：设置字符串值头部　385
14.7.13　setIntHeader方法：设置整数值头部　385
14.7.14　setStatus方法：设置状态码　386
第15章　监听者(Listener)　387
15.1　ServletContextListener接口　387
15.1.1　contextInitialized方法：Web应用初始化过程开始的通知　387
15.1.2　contextDestroyed方法：Servlet上下文将被销毁的通知　388
15.2　ServletContextEvent类　389
15.2.1　ServletContextEvent：构造函数　389
15.2.2　getServletContext方法：获取Servlet上下文　389
15.3　ServletContextAttributeListener接口　390
15.3.1　attributeAdded方法：新属性被添加的通知　390
15.3.2　attributeRemoved方法：属性已被移除的通知　391
15.3.3　attributeReplaced方法：属性已被替换的通知　391
15.4　ServletContextAttributeEvent类　392
15.4.1　ServletContextAttributeEvent：构造函数　392
15.4.2　getServletContext方法：获取Servlet上下文　392
15.4.3　getName方法：获取属性名　393
15.4.4　getValue方法：获取属性值　393
15.5　HttpSessionListener接口　393
15.5.1　sessionCreated方法：会话被创建的通知　393
15.5.2　sessionDestroyed方法：会话将无效的通知　394
15.6　HttpSessionActivationListener接口　394
15.6.1　sessionDidActivate方法：会话变为有效状态的通知　395
15.6.2　sessionWillPassivate方法：会话变为无效状态的通知　395
15.7　HttpSessionEvent类　395
15.7.1　HttpSessionEvent：构造函数　396
15.7.2　getSession方法：获取HttpSession对象　396
15.8　HttpSessionAttributeListener接口　397
15.8.1　attributeAdded方法：属性已添加的通知　397
15.8.2　attributeRemoved方法：属性已移除的通知　398
15.8.3　attributeReplaced方法：属性已替换的通知　399
15.9　HttpSessionBindingListener接口　399
15.9.1　valueBound方法：对象绑定到会话的通知　400
15.9.2　valueUnbound方法：对象解除绑定的通知　400
15.10　HttpSessionBindingEvent类　401
15.10.1　HttpSessionBindingEvent：构造函数　401
15.10.2　getName方法：获取属性名　401
15.10.3　getSession方法：获取HttpSession对象　402
15.10.4　getValue方法：获取属性值　402
15.11　ServletRequestListener接口　402
15.11.1　requestInitialized方法：请求将要进入Web应用范围的通知　402
15.11.2　requestDestroyed方法：请求将要离开Web应用范围的通知　403
15.12　ServletRequestEvent类　404
15.12.1　ServletRequestEvent：构造函数　404
15.12.2　getServletContext方法：获取Servlet上下文　404
15.12.3　getServletRequest方法：获取ServletRequest对象　404
15.13　ServletRequestAttributeListener接口　404
15.13.1　attributeAdded方法：新属性被添加的通知　405
15.13.2　attributeRemoved方法：属性已被移除的通知　405
15.13.3　attributeReplaced方法：属性已被替换的通知　405
15.14　ServletRequestAttributeEvent类　407
15.14.1　ServletRequestAttributeEvent：构造函数　407
15.14.2　getName方法：获取属性名　407
15.14.3　getValue方法：获取属性值　407
第16章　JavaBean与开发模型　408
16.1　JavaBean组件　408
16.2　JSP与JavaBean　409
16.2.1　 jsp:useBean 动作：声明JavaBean对象　409
16.2.2　 jsp:setProperty 动作：设置JavaBean的属性　410
16.2.3　 jsp:getProperty 动作：获取JavaBean的属性　410
16.3　自省(Introspection)机制　411
16.4　JavaBean的范围　412
16.4.1　page：页面作用域范围　413
16.4.2　request：请求作用域范围　413
16.4.3　session：会话作用域范围　414
16.4.4　application：应用作用域范围　415
16.5　JSP开发模型　416
16.5.1　Model 1：JSP+JavaBeans架构　416
16.5.2　Model 2：MVC架构　421
第4篇　JSP数据库技术篇
第17章　结构化查询语言(SQL)　427
17.1　SQL概述　427
17.2　数据定义语言(DDL)　427
17.2.1　CREATE DATABASE命令：创建数据库　427
17.2.2　DROP DATABASE命令：删除数据库　428
17.2.3　CREATE TABLE命令：创建基本表　428
17.2.4　ALTER TABLE命令：修改基本表　428
17.2.5　DROP TABLE命令：删除基本表　429
17.2.6　CREATE INDEX命令：创建索引　429
17.2.7　DROP INDEX命令：删除索引　430
17.2.8　CREATE VIEW命令：创建视图　430
17.2.9　DROP VIEW命令：删除视图　430
17.3　数据查询语言(DQL)　430
17.3.1　SELECT命令：检索数据　431
17.3.2　INTO子句：输出查询结果到指定位置　432
17.3.3　WHERE子句：指定条件语句　432
17.3.4　GROUP BY子句：指定分组语句　433
17.3.5　HAVING子句：指定过滤条件　433
17.3.6　ORDER BY子句：指定排序语句　434
17.4　数据操纵语言(DML)　434
17.4.1　INSERT命令：添加记录　434
17.4.2　UPDATE命令：更新记录　435
17.4.3　DELETE命令：删除记录　435
17.5　数据控制语言(DCL)　435
17.5.1　GRANT命令：授予用户权限　435
17.5.2　REVOKE命令：撤销用户权限　436
17.5.3　COMMIT命令：提交事务　436
17.5.4　ROLLBACK命令：回滚事务　436
第18章　Java数据库连接(JDBC)　437
18.1　JDBC驱动程序类型　437
18.1.1　Type1：JDBC-ODBC桥接驱动程序　437
18.1.2　Type2：部分原生API驱动程序　438
18.1.3　Type3：JDBC网络纯Java驱动程序　438
18.1.4　Type4：原生协议纯Java驱动程序　438
18.2　MySQL数据库　439
18.2.1　安装MySQL　439
18.2.2　配置MySQL　440
18.3　JDBC访问MySQL　442
18.4　Connection对象　445
18.4.1　TRANSACTION_NONE字段：不支持事务　445
18.4.2　TRANSACTION_READ_COMMITTED字段：读已提交事务　445
18.4.3　TRANSACTION_READ_UNCOMMITTED字段：读未提交事务　445
18.4.4　TRANSACTION_REPEATABLE_READ字段：可重复读事务　445
18.4.5　TRANSACTION_SERIALIZABLE：可串行化事务　446
18.4.6　clearWarnings方法：清除所有警告　446
18.4.7　close方法：关闭连接　446
18.4.8　commit方法：提交事务　446
18.4.9　createStatement方法：创建一个Statement对象　447
18.4.10　getAutoCommit方法：获取自动提交模式　447
18.4.11　getCatalog方法：获取当前目录　448
18.4.12　getHoldability方法：获取可保存性　448
18.4.13　getMetaData方法：获取DatabaseMetaData对象　448
18.4.14　getTransactionIsolation方法：获取事务隔离级别　449
18.4.15　getTypeMap方法：获取类型映射　449
18.4.16　getWarnings方法：获取警告　449
18.4.17　isClosed方法：判断是否已关闭　450
18.4.18　isReadOnly方法：判断是否只读　450
18.4.19　nativeSQL方法：转换SQL语句为原生语法　450
18.4.20　prepareCall方法：创建一个CallableStatement对象　450
18.4.21　prepareStatement方法：创建一个PreparedStatement对象　451
18.4.22　releaseSavepoint方法：移除Savepoint对象　452
18.4.23　rollback方法：回滚事务　452
18.4.24　setAutoCommit方法：设置自动提交模式　453
18.4.25　setCatalog方法：设置目录名　453
18.4.26　setHoldability方法：设置可保存性　453
18.4.27　setReadOnly方法：设置只读模式　454
18.4.28　setSavepoint方法：设置Savepoint对象　454
18.4.29　setTransactionIsolation方法：设置事务隔离级别　454
18.4.30　setTypeMap方法：设置类型映射　455
18.5　Statement对象　455
18.5.1　CLOSE_ALL_RESULTS字段：关闭所有结果　455
18.5.2　CLOSE_CURRENT_RESULT字段：关闭当前结果　455
18.5.3　EXECUTE_FAILED字段：执行失败　455
18.5.4　KEEP_CURRENT_RESULT字段：保持当前结果　456
18.5.5　NO_GENERATED_KEYS字段：无生成的键　456
18.5.6　RETURN_GENERATED_KEYS字段：返回生成的键　456
18.5.7　SUCCESS_NO_INFO字段：成功但无信息　456
18.5.8　addBatch方法：添加批处理　457
18.5.9　cancel方法：取消Statement对象　457
18.5.10　clearBatch方法：清除批处理　457
18.5.11　clearWarnings方法：清除所有警告　458
18.5.12　close方法：关闭语句　458
18.5.13　execute方法：执行SQL语句　458
18.5.14　executeBatch方法：执行批处理　459
18.5.15　executeQuery方法：执行查询语句　459
18.5.16　executeUpdate方法：执行更新语句　460
18.5.17　getConnection方法：获取Connection对象　460
18.5.18　getFetchDirection方法：返回获取方向　461
18.5.19　getFetchSize方法：返回获取大小　461
18.5.20　getGeneratedKeys方法：获取自动生成的键　461
18.5.21　getMaxFieldSize方法：获取最大字段大小　461
18.5.22　getMaxRows方法：获取最大行数　462
18.5.23　getMoreResults方法：获取更多结果　462
18.5.24　getQueryTimeout方法：获取查询超时　462
18.5.25　getResultSet方法：获取ResultSet对象　463
18.5.26　getResultSetConcurrency方法：获取结果集并发性　463
18.5.27　getResultSetHoldability方法：获取结果集的可保存性　463
18.5.28　getResultSetType方法：获取结果集类型　463
18.5.29　getUpdateCount方法：获取更新计数　464
18.5.30　getWarnings方法：获取警告　464
18.5.31　setCursorName方法：设置指针名　464
18.5.32　setEscapeProcessing方法：设置转义处理　464
18.5.33　setFetchDirection方法：设置获取方向　465
18.5.34　setFetchSize方法：设置获取大小　465
18.5.35　setMaxFieldSize方法：设置最大字段大小　465
18.5.36　setMaxRows方法：设置最大行数　466
18.5.37　setQueryTimeout方法：设置查询超时　466
18.6　PreparedStatement对象　466
18.6.1　addBatch方法：添加批处理　467
18.6.2　clearParameters方法：清除参数　467
18.6.3　execute方法：执行SQL语句　467
18.6.4　executeQuery方法：执行查询语句　468
18.6.5　executeUpdate方法：执行更新语句　468
18.6.6　getMetaData方法：获取ResultSetMetaData对象　468
18.6.7　getParameterMetaData方法：获取ParameterMetaData对象　469
18.6.8　setArray方法：设置参数为给定的Array对象　470
18.6.9　setAsciiStream方法：设置参数为给定的InputStream对象　470
18.6.10　setBigDecimal方法：设置参数为给定的BigDecimal值　471
18.6.11　setBinaryStream方法：设置参数为给定的InputStream对象　471
18.6.12　setBlob方法：设置参数为给定的Blob对象　471
18.6.13　setBoolean方法：设置参数为给定的boolean值　472
18.6.14　setByte方法：设置参数为给定的byte值　472
18.6.15　setBytes方法：设置参数为给定的字节数组　472
18.6.16　setCharacterStream方法：设置参数为给定的Reader对象　473
18.6.17　setClob方法：设置参数为给定的Clob对象　473
18.6.18　setDate方法：设置参数为给定的Date值　473
18.6.19　setDouble方法：设置参数为给定的double值　474
18.6.20　setFloat方法：设置参数为给定的float值　474
18.6.21　setInt方法：设置参数为给定的int值　474
18.6.22　setLong方法：设置参数为给定的long值　475
18.6.23　setNull方法：设置参数为NULL　475
18.6.24　setObject方法：设置参数为给定的对象　475
18.6.25　setRef方法：设置参数为给定的REF值　476
18.6.26　setShort方法：设置参数为给定的short值　476
18.6.27　setString方法：设置参数为给定的String值　477
18.6.28　setTime方法：设置参数为给定的Time值　477
18.6.29　setTimestamp方法：设置参数为给定的Timestamp值　477
18.6.30　setUnicodeStream方法：设置参数为给定的InputStream对象　478
18.6.31　setURL方法：设置参数为给定的URL对象　478
18.7　CallableStatement对象　478
18.7.1　getArray方法：获取Array对象　479
18.7.2　getBigDecimal方法：获取BigDecimal值　479
18.7.3　getBlob方法：获取Blob对象　479
18.7.4　getBoolean方法：获取boolean值　480
18.7.5　getByte方法：获取byte值　480
18.7.6　getBytes方法：获取字节数组　480
18.7.7　getClob方法：获取Clob对象　481
18.7.8　getDate方法：获取Date值　481
18.7.9　getDouble方法：获取double值　482
18.7.10　getFloat方法：获取float值　482
18.7.11　getInt方法：获取int值　482
18.7.12　getLong方法：获取long值　483
18.7.13　getObject方法：获取对象　483
18.7.14　getRef方法：获取REF值　484
18.7.15　getShort方法：获取short值　484
18.7.16　getString方法：获取String值　484
18.7.17　getTime方法：获取Time值　485
18.7.18　getTimestamp方法：获取Timestamp值　485
18.7.19　getURL方法：获取URL对象　486
18.7.20　registerOutParameter方法：注册输出参数　486
18.7.21　setAsciiStream方法：设置参数为给定的InputStream对象　487
18.7.22　setBigDecimal方法：设置参数为给定的BigDecimal值　488
18.7.23　setBinaryStream方法：设置参数为给定的InputStream对象　488
18.7.24　setBoolean方法：设置参数为给定的boolean值　488
18.7.25　setByte方法：设置参数为给定的byte值　489
18.7.26　setBytes方法：设置参数为给定的字节数组　489
18.7.27　setCharacterStream方法：设置参数为给定的Reader对象　489
18.7.28　setDate方法：设置参数为给定的Date值　490
18.7.29　setDouble方法：设置参数为给定的double值　490
18.7.30　setFloat方法：设置参数为给定的float值　490
18.7.31　setInt方法：设置参数为给定的int值　491
18.7.32　setLong方法：设置参数为给定的long值　491
18.7.33　setNull方法：设置参数为NULL　491
18.7.34　setObject方法：设置参数为给定的对象　492
18.7.35　setShort方法：设置参数为给定的short值　492
18.7.36　setString方法：设置参数为给定的String值　493
18.7.37　setTime方法：设置参数为给定的Time值　493
18.7.38　setTimestamp方法：设置参数为给定的Timestamp值　493
18.7.39　setURL方法：设置参数为给定的URL对象　494
18.7.40　wasNull方法：判断是否为null　494
18.8　ResultSet对象　495
18.8.1　CLOSE_CURSORS_AT_COMMIT字段：提交事务时关闭游标　495
18.8.2　CONCUR_READ_ONLY字段：只读并发模式　495
18.8.3　CONCUR_UPDATABLE字段：可更新并发模式　495
18.8.4　FETCH_FORWARD字段：向前获取　495
18.8.5　FETCH_REVERSE字段：向后获取　496
18.8.6　FETCH_UNKNOWN字段：未知方向获取　496
18.8.7　HOLD_CURSORS_OVER_COMMIT字段：提交事务时保持游标　496
18.8.8　TYPE_FORWARD_ONLY字段：仅向前的游标类型　496
18.8.9　TYPE_SCROLL_INSENSITIVE字段：可滚动且不受影响的对象类型　496
18.8.10　TYPE_SCROLL_SENSITIVE字段：可滚动且受影响的对象类型　497
18.8.11　absolute方法：移动到指定行　497
18.8.12　afterLast方法：移动到尾行之后　497
18.8.13　beforeFirst方法：移动到首行之前　498
18.8.14　cancelRowUpdates方法：取消当前行的更新　498
18.8.15　clearWarnings方法：清除所有警告　498
18.8.16　close方法：关闭对象　498
18.8.17　deleteRow方法：删除当前行　499
18.8.18　findColumn方法：查找列　499
18.8.19　first方法：移动到首行　499
18.8.20　getArray方法：获取Array对象　499
18.8.21　getAsciiStream方法：获取ASCII字符流　500
18.8.22　getBigDecimal方法：获取BigDecimal值　500
18.8.23　getBinaryStream方法：获取二进制流　500
18.8.24　getBlob方法：获取Blob对象　501
18.8.25　getBoolean方法：获取boolean值　501
18.8.26　getByte方法：获取byte值　501
18.8.27　getBytes方法：获取字节数组　502
18.8.28　getCharacterStream方法：获取Reader对象　502
18.8.29　getClob方法：获取Clob对象　502
18.8.30　getConcurrency方法：获取并发模式　503
18.8.31　getCursorName方法：获取游标名称　503
18.8.32　getDate方法：获取Date值　503
18.8.33　getDouble方法：获取double值　504
18.8.34　getFetchDirection方法：返回获取方向　504
18.8.35　getFetchSize方法：返回获取大小　504
18.8.36　getFloat方法：获取float值　505
18.8.37　getInt方法：获取int值　505
18.8.38　getLong方法：获取long值　505
18.8.39　getMetaData方法：获取ResultSetMetaData对象　506
18.8.40　getObject方法：获取对象　506
18.8.41　getRef方法：获取REF值　507
18.8.42　getRow方法：获取当前行编号　507
18.8.43　getShort方法：获取short值　507
18.8.44　getStatement方法：获取Statement对象　507
18.8.45　getString方法：获取String值　508
18.8.46　getTime方法：获取Time值　508
18.8.47　getTimestamp方法：获取Timestamp值　509
18.8.48　getType方法：获取对象类型　509
18.8.49　getURL方法：获取URL对象　509
18.8.50　getWarnings方法：获取警告　510
18.8.51　insertRow方法：插入行　510
18.8.52　isAfterLast方法：是否位于尾行之后　510
18.8.53　isBeforeFirst方法：是否位于首行之前　511
18.8.54　isFirst方法：是否位于首行　511
18.8.55　isLast方法：是否位于尾行　511
18.8.56　last方法：移动到尾行　511
18.8.57　moveToCurrentRow方法：移动到当前行　512
18.8.58　moveToInsertRow方法：移动到插入行　512
18.8.59　next方法：下移一行　512
18.8.60　previous方法：上移一行　512
18.8.61　refreshRow方法：刷新行　513
18.8.62　relative方法：移动相对行数　513
18.8.63　rowDeleted方法：行已被删除　513
18.8.64　rowInserted方法：行已被插入　514
18.8.65　rowUpdated方法：行已被更新　514
18.8.66　setFetchDirection方法：设置获取方向　514
18.8.67　setFetchSize方法：设置获取行数　514
18.8.68　updateArray方法：用Array对象更新指定列　515
18.8.69　updateAsciiStream方法：用ASCII流更新指定列　515
18.8.70　updateBigDecimal方法：用BigDecimal值更新指定列　515
18.8.71　updateBinaryStream方法：用二进制流更新指定列　516
18.8.72　updateBlob方法：用Blob对象更新指定列　516
18.8.73　updateBoolean方法：用boolean值更新指定列　517
18.8.74　updateByte方法：用byte值更新指定列　517
18.8.75　updateBytes方法：用字节数组更新指定列　517
18.8.76　updateCharacterStream方法：用字符流更新指定列　518
18.8.77　updateClob方法：用Clob对象更新指定列　518
18.8.78　updateDate方法：用Date值更新指定列　518
18.8.79　updateDouble方法：用double值更新指定列　519
18.8.80　updateFloat方法：用float值更新指定列　519
18.8.81　updateInt方法：用int值更新指定列　520
18.8.82　updateLong方法：用long值更新指定列　520
18.8.83　updateNull方法：用null更新指定列　520
18.8.84　updateObject方法：用Object对象更新指定列　521
18.8.85　updateRef方法：用REF值更新指定列　521
18.8.86　updateRow方法：更新行　522
18.8.87　updateShort方法：用short值更新指定列　522
18.8.88　updateString方法：用String值更新指定列　522
18.8.89　updateTime方法：用Time值更新指定列　523
18.8.90　updateTimestamp方法：用Timestamp值更新指定列　523
18.8.91　wasNull方法：判断是否为null　523
附录　名词解释　524
5.1.10　getRealPath方法：获取物理路径　63
5.1.11　getRequestDispatcher方法：获取RequestDispatcher对象　63
5.1.12　getResource方法：获取资源路径　64
5.1.13　getResourceAsStream方法：获取资源的InputStream对象　64
5.1.14　getResourcePaths方法：获取所有的资源路径　65
5.1.15　getServerInfo方法：获取服务器信息　65
5.1.16　getServlet方法：获取Servlet　66
5.1.17　getServletContextName方法：获取Servlet上下文名称　66
5.1.18　getServletNames方法：获取所有的Servlet名称　66
5.1.19　getServlets方法：获取所有Servlet　67
5.1.20　log方法：信息写入日志　67
5.1.21　removeAttribute方法：移除属性　67
5.1.22　setAttribute方法：设置属性值　68
5.2　config对象　68
5.2.1　getInitParameter方法：获取初始化参数　68
5.2.2　getInitParameterNames方法：获取所有的初始化参数名　69
5.2.3　getServletContext方法：获取ServletContext对象　69
5.2.4　getServletName方法：获取Servlet名称　70
5.3　exception对象　70
5.3.1　fillInStackTrace方法：填充堆栈跟踪信息　70
5.3.2　getCause方法：获取异常　71
5.3.3　getLocalizedMessage方法：获取本地化错误信息　71
5.3.4　getMessage方法：获取错误信息　72
5.3.5　getStackTrace方法：获取堆栈跟踪信息　72
5.3.6　initCause方法：初始化异常对象　72
5.3.7　printStackTrace方法：打印堆栈跟踪信息　73
5.3.8　setStackTrace方法：设置堆栈跟踪信息　73
5.3.9　toString方法：转换成字符串　74
5.4　out对象　74
5.4.1　DEFAULT_BUFFER字段：默认缓冲区大小　74
5.4.2　NO_BUFFER字段：不缓冲输出　75
5.4.3　UNBOUNDED_BUFFER字段：不限制缓冲区大小　75
5.4.4　clear方法：清空缓冲区　75
5.4.5　clearBuffer方法：清空缓冲区　75
5.4.6　close方法：关闭输出流　76
5.4.7　flush方法：刷新缓冲区输出　76
5.4.8　getBufferSize方法：获取缓冲区大小　76
5.4.9　getRemaining方法：获取剩余大小　76
5.4.10　isAutoFlush方法：指示是否自动刷新　77
5.4.11　newLine方法：输出换行符　77
5.4.12　print方法：输出数据　77
5.4.13　println方法：输出数据并换行　78
5.5　page对象　79
5.6　pageContext对象　80
5.6.1　APPLICATION字段：ServletContext的名称　80
5.6.2　APPLICATION_SCOPE字段：应用作用域　80
5.6.3　CONFIG字段：ServletConfig的名称　80
5.6.4　EXCEPTION字段：Exception的名称　80
5.6.5　OUT字段：JspWriter的名称　80
5.6.6　PAGE字段：Servlet的名称　81
5.6.7　PAGE_SCOPE字段：页面作用域　81
5.6.8　PAGECONTEXT字段：PageContext的名称　81
5.6.9　REQUEST字段：ServletRequest的名称　81
5.6.10　REQUEST_SCOPE字段：请求作用域　81
5.6.11　RESPONSE字段：ServletResponse的名称　81
5.6.12　SESSION字段：HttpSession的名称　82
5.6.13　SESSION_SCOPE字段：会话作用域　82
5.6.14　findAttribute方法：查找属性　82
5.6.15　forward方法：转发请求　82
5.6.16　getAttribute方法：获取属性值　83
5.6.17　getAttributeNamesInScope方法：在作用域中获取所有属性名　83
5.6.18　getAttributesScope方法：获取属性作用域　84
5.6.19　getErrorData方法：返回ErrorData对象　84
5.6.20　getException方法：获取异常对象　85
5.6.21　getExpressionEvaluator方法：获取expressionEvaluator对象　85
5.6.22　getOut方法：获取JspWriter对象　85
5.6.23　getPage方法：获取page对象　86
5.6.24　getRequest方法：获取ServletRequest对象　86
5.6.25　getResponse方法：获取ServletResponse对象　86
5.6.26　getServletConfig方法：获取ServletConfig对象　86
5.6.27　getServletContext方法：获取ServletContext对象　87
5.6.28　getSession方法：获取Session对象　87
5.6.29　getVariableResolver方法：获取VariableResolver对象　87
5.6.30　handlePageException方法：处理页面异常　87
5.6.31　include方法：包含其他资源　88
5.6.32　initialize方法：初始化pageContext对象　89
5.6.33　popBody方法：out对象出栈　89
5.6.34　pushBody方法：out对象入栈　89
5.6.35　release方法：释放状态　90
5.6.36　removeAttribute方法：移除属性　90
5.6.37　setAttribute方法：设置属性　90
5.7　request对象　91
5.7.1　BASIC_AUTH字段：基本认证　92
5.7.2　CLIENT_CERT_AUTH字段：客户端证书认证　92
5.7.3　DIGEST_AUTH字段：摘要认证　92
5.7.4　FORM_AUTH字段：表格认证　92
5.7.5　getAttribute方法：获取属性　92
5.7.6　getAttributeNames方法：获取所有的属性名　93
5.7.7　getAuthType方法：获取认证类型　93
5.7.8　getCharacterEncoding方法：获取字符编码方式　94
5.7.9　getContentLength方法：获取内容长度　94
5.7.10　getContentType方法：获取内容类型　95
5.7.11　getContextPath方法：获取上下文路径　95
5.7.12　getCookies方法：获取Cookie对象数组　95
5.7.13　getDateHeader方法：获取日期值头部　95
5.7.14　getHeader方法：获取头部信息　96
5.7.15　getHeaderNames方法：获取所有的头部名　96
5.7.16　getHeaders方法：获取头部所有的值　97
5.7.17　getInputStream方法：获取输入流　97
5.7.18　getIntHeader方法：获取整型值头部　97
5.7.19　getLocalAddr方法：获取服务器地址　98
5.7.20　getLocale方法：获取区域对象　98
5.7.21　getLocales方法：获取所有的区域对象　98
5.7.22　getLocalName方法：获取服务器主机名　98
5.7.23　getLocalPort方法：获取服务器端口　99
5.7.24　getMethod方法：获取请求方式　99
5.7.25　getParameter方法：获取请求参数　99
5.7.26　getParameterMap方法：获取参数映射　99
5.7.27　getParameterNames方法：获取所有的参数名　100
5.7.28　getParameterValues方法：获取参数所有的值　101
5.7.29　getPathInfo方法：获取路径信息　101
5.7.30　getPathTranslated方法：获取翻译后的路径　101
5.7.31　getProtocol方法：获取协议信息　102
5.7.32　getQueryString方法：获取查询字符串　102
5.7.33　getReader方法：获取Reader对象　102
5.7.34　getRealPath方法：获取物理路径　103
5.7.35　getRemoteAddr方法：获取客户端地址　103
5.7.36　getRemoteHost方法：获取客户端主机名　103
5.7.37　getRemotePort方法：获取客户端端口　103
5.7.38　getRemoteUser方法：获取客户端用户名　103
5.7.39　getRequestDispatcher方法：获取RequestDispathcer对象　104
5.7.40　getRequestedSessionId方法：获取请求的会话标识　104
5.7.41　getRequestURI方法：获取发送请求的URI　105
5.7.42　getRequestURL方法：获取响应请求的URL　105
5.7.43　getScheme方法：获取协议名　105
5.7.44　getServerName方法：获取服务器名称　105
5.7.45　getServerPort方法：获取服务器端口　106
5.7.46　getServletPath方法：获取Servlet路径　106
5.7.47　getSession方法：获取HttpSession对象　106
5.7.48　getUserPrincipal方法：获取认证用户的Principal对象　107
5.7.49　isRequestedSessionIdFromCookie方法：判断会话ID是否来自Cookie　107
5.7.50　isRequestedSessionIdFromURL方法：判断会话ID是否来自URL　107
5.7.51　isRequestedSessionIdValid方法：判断会话ID是否有效　107
5.7.52　isSecure方法：判断是否使用安全链接　108
5.7.53　isUserInRole方法：判断认证用户是否属于指定角色　108
5.7.54　removeAttribute方法：移除属性　108
5.7.55　setAttribute方法：设置属性　108
5.7.56　setCharacterEncoding方法：设置字符编码方式　109
5.8　response对象　109
5.8.1　SC_ACCEPTED字段：接受　109
5.8.2　SC_BAD_GATEWAY字段：错误的网关　109
5.8.3　SC_BAD_REQUEST字段：错误请求　109
5.8.4　SC_CONFLICT字段：冲突　110
5.8.5　SC_CONTINUE字段：继续　110
5.8.6　SC_CREATED字段：已创建　110
5.8.7　SC_EXPECTATION_FAILED字段：期望失败　110
5.8.8　SC_FORBIDDEN字段：禁止　110
5.8.9　SC_FOUND字段：找到　111
5.8.10　SC_GATEWAY_TIMEOUT字段：网关超时　111
5.8.11　SC_GONE字段：已不存在　111
5.8.12　SC_HTTP_VERSION_NOT_SUPPORTED字段：不支持的HTTP版本　111
5.8.13　SC_INTERNAL_SERVER_ERROR字段：内部服务器错误　111
5.8.14　SC_LENGTH_REQUIRED字段：需要数据长度　112
5.8.15　SC_METHOD_NOT_ALLOWED字段：方法未允许　112
5.8.16　SC_MOVED_PERMANENTLY字段：永久性移动　112
5.8.17　SC_MOVED_TEMPORARILY字段：临时性移动　112
5.8.18　SC_MULTIPLE_CHOICES字段：多重选择　112
5.8.19　SC_NO_CONTENT字段：无内容　113
5.8.20　SC_NON_AUTHORITATIVE_INFORMATION字段：非官方信息　113
5.8.21　SC_NOT_ACCEPTABLE字段：无法访问　113
5.8.22　SC_NOT_FOUND字段：未找到　113
5.8.23　SC_NOT_IMPLEMENTED字段：未实现　114
5.8.24　SC_NOT_MODIFIED字段：未修正　114
5.8.25　SC_OK字段：正常　114
5.8.26　SC_PARTIAL_CONTENT字段：局部内容　114
5.8.27　SC_PAYMENT_REQUIRED字段：保留　114
5.8.28　SC_PRECONDITION_FAILED字段：先决条件失败　115
5.8.29　SC_PROXY_AUTHENTICATION_REQUIRED字段：需代理服务器认证　115
5.8.30　SC_REQUEST_ENTITY_TOO_LARGE字段：请求实体过大　115
5.8.31　SC_REQUEST_TIMEOUT字段：请求超时　115
5.8.32　SC_REQUEST_URI_TOO_LONG字段：请求URI过长　115
5.8.33　SC_REQUESTED_RANGE_NOT_SATISFIABLE：请求范围无法满足　116
5.8.34　SC_RESET_CONTENT字段：重置内容　116
5.8.35　SC_SEE_OTHER字段：参见其他信息　116
5.8.36　SC_SERVICE_UNAVAILABLE字段：服务无法获得　116
5.8.37　SC_SWITCHING_PROTOCOLS字段：转换协议　117
5.8.38　SC_TEMPORARY_REDIRECT字段：临时重定向　117
5.8.39　SC_UNAUTHORIZED字段：未授权　117
5.8.40　SC_UNSUPPORTED_MEDIA_TYPE字段：不支持的媒体格式　117
5.8.41　SC_USE_PROXY字段：使用代理　117
5.8.42　addCookie方法：添加Cookie对象　118
5.8.43　addDateHeader方法：添加日期值头部　118
5.8.44　addHeader方法：添加字符串值头部　118
5.8.45　addIntHeader方法：添加整数值头部　119
5.8.46　containsHeader方法：判断头部是否设置　119
5.8.47　encodeRedirectURL方法：对指定URL编码　119
5.8.48　encodeURL方法：对指定URL编码　119
5.8.49　flushBuffer方法：刷新缓冲区　120
5.8.50　getBufferSize方法：获取缓冲区大小　120
5.8.51　getCharacterEncoding方法：获取字符编码方式　121
5.8.52　getContentType方法：获取内容类型　121
5.8.53　getLocale方法：获取区域对象　121
5.8.54　getOutputStream方法：获取ServletOutputStream对象　121
5.8.55　getWriter方法：获取PrintWriter对象　122
5.8.56　isCommitted方法：判断是否已提交　122
5.8.57　reset方法：清空缓冲区　122
5.8.58　resetBuffer方法：清空缓冲区　122
5.8.59　sendError方法：发送错误响应　123
5.8.60　sendRedirect方法：发送重定向响应　123
5.8.61　setBufferSize方法：设置缓冲区大小　124
5.8.62　setCharacterEncoding方法：设置字符编码方式　124
5.8.63　setContentLength方法：设置内容长度　124
5.8.64　setContentType方法：设置内容类型　125
5.8.65　setDateHeader方法：设置日期值头部　125
5.8.66　setHeader方法：设置字符串值头部　125
5.8.67　setIntHeader方法：设置整数值头部　126
5.8.68　setLocale方法：设置区域对象　126
5.8.69　setStatus方法：设置状态码　126
5.9　session对象　127
5.9.1　getAttribute方法：获取绑定对象　127
5.9.2　getAttributeNames方法：获取所有的对象名　127
5.9.3　getCreationTime方法：获取会话创建时间　127
5.9.4　getId方法：获取会话标识　128
5.9.5　getLastAccessedTime方法：获取上一次访问时间　128
5.9.6　getMaxInactiveInterval方法：获取会话有效时间　128
5.9.7　getServletContext方法：获取ServletContext对象　129
5.9.8　getSessionContext方法：获取会话上下文　129
5.9.9　getValue方法：获取属性值　129
5.9.10　getValueNames方法：获取所有的属性名　129
5.9.11　invalidate方法：使会话无效　129
5.9.12　isNew方法：判断会话是否新　130
5.9.13　putValue方法：设置属性值　130
5.9.14　removeAttribute方法：移除绑定对象　130
5.9.15　removeValue方法：移除属性值　130
5.9.16　setAttribute方法：设置绑定对象　130
5.9.17　setMaxInactiveInterval方法：设置会话有效时间　131
第2篇　JSP高级技术篇
第6章　核心标记库(Core Tag Library)　135
6.1　 c:out 动作　135
6.1.1　value属性：指定表达式　135
6.1.2　default属性：指定默认表达式　136
6.1.3　escapeXml属性：指定是否转换XML字符　136
6.2　 c:set 动作　137
6.2.1　value属性：指定表达式　137
6.2.2　var属性：指定变量名　137
6.2.3　scope属性：指定变量作用域　138
6.2.4　target属性：指定目标对象　138
6.2.5　property属性：指定目标对象的属性　139
6.3　 c:remove 动作　139
6.3.1　var属性：指定变量名　139
6.3.2　scope属性：指定变量的作用域　140
6.4　 c:catch 动作　140
6.5　 c:if 动作　141
6.5.1　test属性：指定测试表达式　141
6.5.2　var属性：指定变量名　141
6.5.3　scope属性：指定变量的作用域　142
6.6　 c:choose 动作　142
6.7　 c:when 动作　143
6.8　 c:otherwise 动作　143
6.9　 c:forEach 动作　144
6.9.1　var属性：指定嵌套变量名　144
6.9.2　items属性：指定迭代集合　145
6.9.3　varStatus属性：指定迭代状态变量名　145
6.9.4　begin属性：指定开始索引　146
6.9.5　end属性：指定结束索引　146
6.9.6　step属性：指定迭代步长　146
6.10　 c:forTokens 动作　147
6.10.1　var属性：指定嵌套变量名称　147
6.10.2　items属性：指定迭代token组　148
6.10.3　delims属性：指定分隔符列表　148
6.10.4　varStatus属性：指定迭代状态变量名　148
6.10.5　begin属性：指定开始索引　148
6.10.6　end属性：指定结束索引　149
6.10.7　step属性：指定迭代步长　149
6.11　 c:import 动作　150
6.11.1　url属性：指定资源URL　150
6.11.2　context属性：指定外部上下文　150
6.11.3　var属性：指定变量名　151
6.11.4　scope属性：指定变量作用域　151
6.11.5　charEncoding属性：指定字符编码方式　152
6.11.6　varReader属性：指定Reader对象变量名　152
6.12　 c:url 动作　152
6.12.1　value属性：指定URL　152
6.12.2　context属性：指定外部上下文　153
6.12.3　var属性：指定变量名　153
6.12.4　scope属性：指定变量作用域　154
6.13　 c:redirect 动作　154
6.13.1　url属性：指定URL　154
6.13.2　context属性：指定外部上下文　155
6.14　 c:param 动作　155
6.14.1　name属性：指定参数名　155
6.14.2　value属性：指定参数值　156
第7章　国际化格式标记库　157
7.1　 fmt:setLocale 动作　157
7.1.1　value属性：指定地域代码　157
7.1.2　variant属性：指定供应商或浏览器代码　157
7.1.3　scope属性：指定配置变量作用域　158
7.2　 fmt:requestEncoding 动作　158
7.3　 fmt:message 动作　159
7.3.1　key属性：指定消息键　159
7.3.2　bundle属性：指定资源束　160
7.3.3　var属性：指定变量名　161
7.3.4　scope属性：指定变量作用域　161
7.4　 fmt:param 动作　161
7.5　 fmt:bundle 动作　162
7.5.1　basename属性：指定基本文件名　162
7.5.2　prefix属性：指定消息键前缀　163
7.6　 fmt:setBundle 动作　163
7.6.1　basename属性：指定基本文件名　163
7.6.2　var属性：指定变量名　163
7.6.3　scope属性：指定变量作用域　164
7.7　 fmt:formatNumber 动作　164
7.7.1　value属性：指定数值　164
7.7.2　type属性：指定数值类型　165
7.7.3　pattern属性：指定格式化模式　165
7.7.4　currencyCode属性：指定货币码　166
7.7.5　currencySymbol属性：指定货币符号　166
7.7.6　groupingUsed属性：是否使用分组　166
7.7.7　maxIntegerDigits属性：指定最大整数位数　167
7.7.8　minIntegerDigits属性：指定最小整数位数　167
7.7.9　maxFractionDigits属性：指定最大小数位数　167
7.7.10　minFractionDigits属性：指定最小小数位数　167
7.7.11　var属性：指定变量名　167
7.7.12　scope属性：指定变量作用域　168
7.8　 fmt:parseNumber 动作　168
7.8.1　value属性：指定解析字符串　168
7.8.2　type属性：指定数值类型　169
7.8.3　pattern属性：指定格式化模式　169
7.8.4　parseLocale属性：指定地域代码　170
7.8.5　integerOnly属性：是否仅解析整数部分　170
7.8.6　var属性：指定变量名　170
7.8.7　scope属性：指定变量作用域　170
7.9　 fmt:formatDate 动作　171
7.9.1　value属性：指定日期和时间　171
7.9.2　type属性：指定成分类型　171
7.9.3　dateStyle属性：指定日期样式　172
7.9.4　timeStyle属性：指定时间样式　172
7.9.5　pattern属性：指定格式化模式　173
7.9.6　timeZone属性：指定时区　173
7.9.7　var属性：指定变量名　174
7.9.8　scope属性：指定变量作用域　174
7.10　 fmt:parseDate 动作　174
7.10.1　value属性：指定日期和时间字符串　175
7.10.2　type属性：指定成分类型　175
7.10.3　dateStyle属性：指定日期样式　176
7.10.4　timeStyle属性：指定时间样式　176
7.10.5　pattern属性：指定格式化模式　176
7.10.6　timeZone属性：指定时区　177
7.10.7　parseLocale属性：指定地域代码　177
7.10.8　var属性：指定变量名　177
7.10.9　scope属性：指定变量作用域　178
7.11　 fmt:setTimeZone 动作　178
7.11.1　value属性：指定时区标识　178
7.11.2　var属性：指定变量名　179
7.11.3　scope属性：指定变量作用域　179
7.12　 fmt:timeZone 动作　179
第8章　SQL标记库(SQL Tag Library)　181
8.1　 sql:setDataSource 动作　181
8.1.1　dataSource属性：指定数据源　181
8.1.2　driver属性：指定驱动程序类名　182