第1章 JSP技术概述 1
1.1 JSP中的Java程序 1
1.1.1 JSP的特点 1
1.1.2 JSP与其他动态网页开发技术 2
1.2 配置JSP开发与运行环境 3
1.2.1 安装和配置JDK 3
1.2.2 安装配置Tomcat服务器 5
1.3 JSP的运行原理 8
1.3.1 第一个JSP程序示例 9
1.3.2 JSP程序的运行原理 10
小结 12
第2章 JSP的语法 13
2.1 JSP中的Java程序 13
2.1.1 Java的特点 13
2.1.2 JSP中常用的Java函数 13
2.2 JSP的基本语法 15
2.2.1 JSP的基本语法示例 15
2.2.2 JSP的注释 17
2.2.3 HTML模板元素与其他元素 18
2.3 JSP的脚本元素 19
2.3.1 JSP声明元素 19
2.3.2 表达式 20
2.3.3 JSP的脚本程序 20
2.4 JSP指令元素 21
2.4.1 页面属性指令page 21
2.4.2 页面包含指令include 23
2.4.3 定义标签库指令taglib 24
2.5 JSP标准动作元素 24
2.5.1 〈jsp:include〉动作元素 25
2.5.2 〈jsp:forward〉动作元素 27
2.5.3 〈jsp:plugin〉动作元素 28
2.5.4 〈jsp:useBean〉动作元素 30
2.5.5 其他常用动作指令 32
小结 33
第3章 JSP的内置对象 34
3.1 JSP的内置对象 34
3.1.1 request对象 34
3.1.2 response对象 37
3.1.3 out对象 38
3.1.4 session对象 40
3.1.5 application对象 43
3.1.6 config对象 46
3.1.7 pageContext对象 47
3.1.8 page和exception对象 49
3.2 内置对象的使用实例——购物车 50
3.2.1 功能分析 50
3.2.2 编程实现 51
小结 55
第4章 JSP的文件操作 56
4.1 常用的I/O类与文件读写 56
4.1.1 文件操作File类 56
4.1.2 OutputStream与InputStream字节流 60
4.1.3 Reader与Writer字符流 64
4.1.4 RandomAccessFile类 72
4.2 文件的上传与下载 75
4.2.1 JSP中获取文件输入流 76
4.2.2 JSP上传图片 77
4.2.3 用组件上传文件 79
4.2.4 JSP中实现文件的下载 83
小结 84
第5章 数据库与Web 85
5.1 Web三层结构体系 85
5.1.1 客户层 85
5.1.2 中间层 86
5.1.3 数据库层 86
5.1.4 三层体系结构的优点 86
5.2 主流的数据库系统 87
5.2.1 Oracle 87
5.2.2 SQL-SERVER 87
5.2.3 MySQL 88
5.3 安装与配置MySQL数据库 88
5.4 安装与配置MySQL-Front 92
小结 94
第6章 MySQL数据库 95
6.1 MySQL的数据类型 95
6.1.1 普通数据类型 95
6.1.2 MySQL的数字列类型 97
6.1.3 字符列类型 98
6.1.4 日期时间列类型 99
6.1.5 列类型属性与列类型的选择 100
6.1.6 运算符 102
6.1.7 运算符的优先级 105
6.2 MySQL的常规操作 106
6.2.1 数据库的操作 106
6.2.2 数据库表的操作 108
6.2.3 记录的操作 111
6.3 MySQL的常用函数与表达式 114
6.3.1 字符串函数 114
6.3.2 时间和日期函数 117
6.3.3 其他相关函数 119
6.4 MySQL的常规管理 120
6.4.1 用户和权限管理 120
6.4.2 数据库的备份 122
6.4.3 数据库的优化与安全 124
6.5 MySQL常用的SQL语法 126
6.5.1 修改表语句ALTER TABLE 126
6.5.2 检索表语句SELECT 127
6.5.3 建立表关联语句JOIN 128
6.5.4 插入记录语句INSERT 129
6.5.5 替换插入语句REPLACE 130
6.5.6 导入/导出文件语句LOAD DATAINFILE与OUTFILE 130
6.5.7 更新语句UPDATE 131
6.5.8 删除语句DELETE 131
6.5.9 选择当前数据库语句USE 132
6.5.10 FLUSH语法(清除缓存) 132
6.5.11 删除线程语句KILL 132
6.5.12 SHOW语法(得到表,列等的信息) 133
6.5.13 EXPLAIN语法(得到关于SELECT的信息) 134
6.5.14 锁定表/解除锁定表语句LOCK TABLES/UNLOCK TABLES 134
6.5.15 创建索引语句CREATE INDEX 135
小结 135
第7章 JDBC数据库操作 136
7.1 JDBC概述 136
7.1.1 JDBC-ODBC桥 136
7.1.2 JDBC连接 137
7.2 JDBC建立数据库连接 137
7.2.1 Driver接口与DriverManager 138
7.2.2 Connection、Statement和ResultSet 140
7.2.3 JDBC数据库连接实例 144
7.3 使用JDBC操作数据库 146
7.3.1 创建数据库和表 146
7.3.2 数据库的查询操作 148
7.3.3 向数据库中插入记录 152
7.3.4 更新和删除记录 155
7.3.5 用记录指针定位记录 157
7.3.6 获取记录集的列属性 159
小结 161
第8章 JDBC进阶技术 162
8.1 JDBC数据库连接池 162
8.1.1 数据库连接池概述 162
8.1.2 数据源的配置 163
8.1.3 测试并在JSP中应用数据源 165
8.2 JDBC数据库进阶操作 167
8.2.1 JSP显示大量记录时分页 167
8.2.2 JSP在数据库中存取图片 170
8.3 JSP数据库开发实例——商品管理模块 173
8.3.1 实例简介 173
8.3.2 导航链接 174
8.3.3 查看和管理商品 175
8.3.4 增加商品 177
8.3.5 更新商品 179
8.3.6 删除商品 182
8.3.7 搜索商品与查看可能缺货商品 183
8.3.8 查看存货持有资本 185
小结 187
第9章 JSP与JavaBean 188
9.1 JavaBean简介 188
9.1.1 JavaBean的特点及与EJB的区别 188
9.1.2 JavaBean的属性 191
9.1.3 JavaBean的部署 194
9.2 在JSP中用JavaBean操作数据 194
9.2.1 获取数据jsp:getProperty标记 195
9.2.2 设置数据jsp:setProperty标记 196
9.2.3 JavaBean的作用域 198
9.3 JavaBean连接数据库 198
9.4 JavaBean运用实例 201
9.4.1 用JavaBean生成动态的柱状图 201
9.4.2 JavaBean用户注册 204
小结 209
第10章 Servlet技术 210
10.1 初识Servlet 210
10.1.1 Servlet的特点 210
10.1.2 编写运行第一个Servlet程序 210
10.2 Servlet常用的接口 212
10.2.1 GenericServlet接口 212
10.2.2 ServletRequest和ServletResponse接口 215
10.2.3 ServletConfig与ServletContext接口 218
10.2.4 HttpServlet接口类 221
10.2.5 HttpServlet的其他接口类 223
10.3 Servlet的配置 224
10.3.1 Servlet的定义和初始化参数 224
10.3.2 Servlet的URL映射 225
10.3.3 Servlet的装入优先级 225
10.3.4 Servlet的上下文环境初始化参数 226
10.3.5 欢迎页面和出错页面 226
10.3.6 安全性验证 227
10.4 Servlet与过滤器 227
10.4.1 用户访问记录与请求统一编码过滤器 228
10.4.2 受限资源访问权限验证 230
10.5 Servlet容器安全和身份验证 231
10.5.1 使用MemoryRealm 232
10.5.2 使用JDBCRealm 235
10.5.3 Servlet应用程序安全 236
小结 238
第11章 Servlet开发应用 239
11.1 Servlet常规应用 239
11.1.1 处理HTML表单信息 239
11.1.2 JSP加载Servlet 241
11.1.3 Servlet访问数据库 242
11.1.4 Servlet调用外部类方法 245
11.2 Servlet图像处理 247
11.2.1 实现生成图形验证码功能 247
11.2.2 用Servlet实现缩放图片 252
11.2.3 用Servlet给上传图片打标记 254
11.3 Servlet应用实例——投票模块 257
11.3.1 数据库设计与连接 257
11.3.2 投票列表与绘制结果图片 259
11.3.3 投票与结果演示 262
小结 264
第12章 Struts技术 265
12.1 Struts概述 265
12.1.1 Struts简介 265
12.1.2 Struts开发环境的构建 266
12.2 第一个Struts实例 267
12.2.1 应用程序组件与语言文件 267
12.2.2 配置文件 271
12.2.3 运行与分析 272
12.3 Struts核心组件 274
12.3.1 ActionServlet与RequestProcessor 274
12.3.2 ActionForm 278
12.3.3 Action 281
12.3.4 ActionMapping与ActionForward 283
12.3.5 JavaBean模型组件 284
12.3.6 ActionMessages与ActionMessage 285
12.3.7 应用程序语言国际化 285
12.4 Struts标签库 289
12.4.1 HTML标签 289
12.4.2 Bean标签 294
12.4.3 逻辑标签 298
12.5 Struts实例——用户注册模块 302
12.5.1 数据库信息与Struts数据源配置 303
12.5.2 动态ActionForm及其验证 305
12.5.3 用户注册 311
12.5.4 用户信息修改 317
小结 322
第13章 JSP开发中常见问题与技巧 323
13.1 JSP开发中的中文乱码问题 323
13.1.1 JSP网页中文乱码 323
13.1.2 中文路径问题 324
13.1.3 中文请求参数值乱码问题 325
13.1.4 写入数据库时的乱码问题 328
13.2 Cookie在JSP技术中的使用 328
13.2.1 存取Cookie 中的数据 329
13.2.2 用Cookie保存用户登录信息 330
13.3 JSP处理特殊的表单参数值 332
13.3.1 JSP获取复选框的参数值 332
13.3.2 处理文本输入框一对多参数值 334
小结 335
第14章 JavaMail的应用——邮件模块 336
14.1 JavaMail概述 336
14.1.1 JavaMail的安装 336
14.1.2 JavaMail的核心类与方法 336
14.2 简单的邮件发送和接收 338
14.2.1 利用JavaMail发送邮件 338
14.2.2 利用JavaMail接收邮件 341
小结 343
第15章 网站安全与用户管理 344
15.1 网站安全技术 344
15.1.1 获取客户端信息 344
15.1.2 用户登录验证码的实现 345
15.1.3 MD5用户密码加密 346
15.1.4 表单提交信息合法性验证 348
15.1.5 操作数据库信息的字符过滤 349
15.1.6 利用过滤器实现对用户访问的控制 350
15.1.7 配置Tomcat安全套接层(SSL) 351
15.2 用户管理 354
15.2.1 用户注册 354
15.2.2 用户登录 354
15.2.3 用户访问控制 356
15.2.4 退出登录 357
15.2.5 监听用户会话 358
15.2.6 查看在线用户 359
小结 360
第16章 新闻管理系统 361
16.1 系统总体设计 361
16.1.1 系统功能简介 361
16.1.2 数据库设计 362
16.2 系统主界面 365
16.2.1 系统全局加载页面 366
16.2.2 系统主页 367
16.3 浏览与搜索新闻 367
16.3.1 处理查看新闻信息的JavaBean 367
16.3.2 查看所有新闻标题 370
16.3.3 浏览新闻的具体内容 372
16.3.4 评论写入数据库 375
16.3.5 获取用户评论内容 376
16.3.6 数据库操作字符处理 377
16.3.7 处理搜索操作的JavaBean 378
16.3.8 搜索新闻的用户界面 379
16.4 管理员登录与退出 381
16.4.1 管理员登录界面 381
16.4.2 管理员登录处理 382
16.4.3 管理员注销退出 384
16.5 新闻管理 385
16.5.1 新闻发布与编辑界面 385
16.5.2 向数据库中写入新闻内容 387
16.5.3 重新编辑新闻 388
16.5.4 删除新闻和用户评论 390
小结 393
第17章 在线购物系统 394
17.1 系统设计 394
17.1.1 需求分析 394
17.1.2 系统程序组成 395
17.1.3 数据库设计 398
17.2 系统运行演示 405
17.2.1 用户注册与登录 405
17.2.2 查看商品与购物 407
17.2.3 修改已提交但未处理的订单 411
17.3 系统的编程实现 412
17.4 模型层程序 413
17.4.1 全局常量(Param.java) 413
17.4.2 数据库连接访问(DBConn.java) 414
17.4.3 封装处理customer表相应数据(UserInfo.java) 415
17.4.4 判断注册用户名(CheckUser.java) 417
17.4.5 封装商品信息的Bean(ProInfo.java) 418
17.4.6 获取商品具体信息的Bean(DetailInfo.java) 420
17.4.7 封装订单信息的Bean(OrderInfo.java) 421
17.4.8 获取订单中具体信息的Bean(OrderItems.java) 422
17.4.9 获取订单信息的Bean(ListOrder.java) 424
17.4.10 修改订单信息的Bean(ModifyOrder.java) 425
17.4.11 封装处理送货方式信息的Bean(DeliveryInfo.java) 427
17.4.12 封装客户评论信息的Bean(CommentInfo.java) 428
17.4.13 发送确认邮件的Bean(SendMail.java) 429
17.5 控制处理程序 430
17.5.1 处理客户注册、修改信息的程序(RegistAction.java) 430
17.5.2 处理客户登录验证(LoginAction.java) 433
17.5.3 处理客户信息修改(ModifyAction.java) 434
17.5.4 处理客户退出(LogoutAction.java) 435
17.5.5 获取指定分类中的商品信息(ListProAction.java) 435
17.5.6 搜索商品信息的Action程序(SearchAction.java) 437
17.5.7 显示商品信息与客户评论(ShowDetailAction.java) 438
17.5.8 处理客户评论的Action程序(CommentAction.java) 439
17.5.9 处理客户购物的Action程序(BuyAction.java) 441
17.5.10 修改购物车中的商品信息(ModifyCartActionjava) 443
17.5.11 设置和修改送货、付款方式(SetMethodAction.java) 444
17.5.12 订单写入数据库(SubmitOrderAction.java) 445
17.5.13 显示订单内容(ShowOrder Action.java) 448
17.5.14 显示订单具体商品条目(ShowItemsAction.java) 449
17.5.15 处理修改订单信息(Modify OrderAction.java) 450
17.6 视图程序 452
17.6.1 显示商品缩略图的Servlet(ShowImage.java) 452
17.6.2 显示商品分类的Servlet(ShowSort.java) 453
17.6.3 全局加载页面(global.jsp) 454
17.6.4 全局出错转向页面(error.jsp) 455
17.6.5 系统默认首页(default.jsp) 456
17.6.6 客户注册(regist.jsp) 457
17.6.7 修改客户信息页面(modifyinfo.jsp) 458
17.6.8 显示商品信息(listPro.jsp) 460
17.6.9 显示商品详细信息和客户评论(DispProInfo.jsp) 461
17.6.10 显示购物车中的内容(listCart.jsp) 463
17.6.11 确认客户信息和送货、付款方式(CheckInfo.jsp) 465
17.6.12 查看预提交订单信息(CheckOrder.jsp) 467
17.6.13 修改预设送货方式、付款方式(modifymethod.jsp) 469
17.6.14 显示多个订单信息(showorders.jsp) 471
17.6.15 显示单个订单信息(showorder.jsp) 472
17.6.16 查看已提交订单的详细信息(OrderDetail.jsp) 474
17.6.17 修改订单送货、付款方式页面(Modify_Method.jsp) 477
17.7 系统配置 478
17.7.1 数据源配置 478
17.7.2 web.xml配置文件 479
17.7.3 struts-config.xml配置文件 480
17.7.4 validation.xml验证规则文件 483
17.7.5 中文语言资源文件 486
小结 487