第1章 用Java进行Web编程 1
1.1 Java面向对象编程回顾 1
1.1.1 Java程序的开发与运行概述 1
1.1.2 Java面向对象的编程 4
1.2 Java程序与Web开发 7
1.2.1 Web程序运行原理 7
1.2.2 JSP动态网页技术 8
1.2.3 在Tomcat服务器中部署Web程序 9
1.3 Java代码在Web上运行 16
1.3.1 在JSP中编写Java代码显示当前日期 16
1.3.2 在JSP中编写Java代码访问对象中的数据 18
1.4 一个简单用户登录功能的JSP实现 19
1.4.1 登录代码的实现 19
1.4.2 JSP代码总结 21
1.5 Tomcat服务器目录简要说明 22
小结 23
习题 23
综合实训 24
第2章 用JSP编写动态网页 25
2.1 JSP动态网页概述 25
2.1.1 了解JSP代码组成 25
2.1.2 JSP运行原理 26
2.1.3 JSP的执行机制 27
2.2 JSP页面元素及编码 28
2.2.1 静态内容 29
2.2.2 JSP中基本的动态内容 29
2.3 数据在不同JSP页面中的传递 36
2.4 网页间跳转的控制 40
2.5 JSP内置对象 42
2.5.1 JSP内置对象的特点与分类 42
2.5.2 内置对象简介 43
小结 49
习题 49
综合实训 49
第3章 在JSP中实现数据库操作 51
3.1 Java访问数据库概述 51
3.1.1 数据库运行环境介绍 51
3.1.2 编写Java程序访问MySQL数据库 53
3.1.3 在JSP中编写Java代码段访问数据库 57
3.2 编写可重用的类封装数据库处理代码 58
3.2.1 在JSP中连接数据库编码的缺陷 58
3.2.2 通过Java类封装数据库处理代码 59
3.2.3 JavaBean是可重用的封装数据或处理的类 64
3.3 数据库操作交互模型的实现 65
3.3.1 预编译SQL语句的使用 65
3.3.2 数据库操作交互模型的实现 67
3.4 综合案例:用户管理综合功能的实现 69
3.4.1 实现思路 69
3.4.2 实现代码提示 70
小结 71
习题 71
综合实训 72
第4章 简化JSP页面编码 73
4.1 JSP程序的优点与不足 73
4.1.1 JSP程序的不足 73
4.1.2 改进JSP编码的策略 74
4.2 JSP标准动作 76
4.2.1 了解JSP标准动作 76
4.2.2 JSP标准动作简述 78
4.3 EL表达式 80
4.3.1 EL表达式语法 80
4.3.2 EL表达式使用案例 82
4.4 JSTL标准标签库 83
4.4.1 使用JSTL的步骤 83
4.4.2 JSTL标准标签的类型与应用 85
4.4.3 JSTL标签库简介 90
4.5 JavaBean作为封装数据的实体类 92
小结 94
习题 95
综合实训 95
第5章 Servlet原理与应用 96
5.1 什么是Servlet 96
5.1.1 见识一个Servlet代码 97
5.1.2 Servlet特点简介 98
5.1.3 开发自己的第一个Servlet 99
5.2 Servlet工作原理与应用 101
5.2.1 Servlet工作原理 101
5.2.2 Servlet生命周期 102
5.2.3 Servlet应用 104
5.3 Servlet作为控制器的编码实现 105
5.3.1 简单控制器编码实现 105
5.3.2 数据库应用中Servlet控制器的实现 109
5.4 Servlet技术介绍 111
5.4.1 Servlet与JSP的关系 112
5.4.2 Servlet工作模式简介 112
5.4.3 Servlet的应用优势 113
小结 113
习题 114
综合实训 114
第6章 一个软件功能“模块”的MVC实现 115
6.1 软件项目由模块组成 115
6.1.1 软件由其模块组成 115
6.1.2 软件项目开发以模块为单位进行 116
6.1.3 “用户信息管理”程序结构简介 118
6.2 基于MVC设计模式的软件开发概述 118
6.2.1 MVC设计模式概述 118
6.2.2 MVC设计模式的优缺点 120
6.3 软件项目功能模块分解与设计 121
6.3.1 学生管理系统软件项目的开发 121
6.3.2 功能模块分解 122
6.3.3 数据库设计 122
6.4 “学生信息管理”模块的MVC实现 123
6.4.1 任务描述 123
6.4.2 “学生信息管理”模块运行效果演示 123
6.4.3 软件项目结构介绍 126
6.4.4 软件的MVC实现步骤 127
6.4.5 各程序的关键代码讲解 132
6.5 模块模型层的优化 143
小结 144
习题 144
综合实训 145
第7章 在软件架构下集成各功能模块 146
7.1 问题的提出 146
7.1.1 软件项目的功能模块分解 147
7.1.2 软件的模块集成 147
7.1.3 软件集成的相关技术工作 147
7.2 软件架构简介 148
7.2.1 以架构为中心的开发方法 148
7.2.2 软件架构设计时的工作内容 149
7.3 学生管理系统各模块的统一运行环境 149
7.3.1 统一运行界面的设计 149
7.3.2 统一运行界面的实现 150
7.3.3 在主界面中其他模块的集成 154
7.3.4 软件集成后程序的组织 155
7.4 软件的架构与集成总结 157
7.4.1 识别每一层中的功能模块 157
7.4.2 软件架构的设计要满足用户的要求 158
7.4.3 什么是一个好的软件架构 158
7.4.4 软件集成后要进行集成测试 159
小结 160
习题 160
综合实训 161
第8章 完善功能模块使其更实用 162
8.1 一个软件模块的编码实现 162
8.1.1 仅仅提供功能还不行,要使软件更实用 162
8.1.2 通过非功能编码使软件更“实用” 163
8.2 汉字乱码处理的实现 163
8.2.1 Java和JSP文件本身编译时产生的乱码问题 164
8.2.2 JSP与页面参数之间的乱码 164
8.2.3 汉字编码简述 165
8.2.4 Java与数据库之间的乱码 166
8.3 多数据分页显示处理的实现 171
8.3.1 实现技术与思路 171
8.3.2 案例的实现 172
8.4 文件上传的实现 178
8.4.1 文件上传技术与实现 178
8.4.2 学生相片的上传与显示 185
8.5 软件非功能需求的编码实现 191
8.5.1 软件的功能需求与非功能需求 191
8.5.2 非功能需求的种类与实现 191
小结 192
综合实训 192
第9章 提高软件处理与软件开发效率 193
9.1 问题的提出 193
9.2 Tomcat数据库连接池技术 194
9.2.1 传统数据库连接方式的不足 194
9.2.2 连接池应用案例 194
9.2.3 数据库连接池与JNDI 199
9.3 Ajax技术实现Web页面的局部刷新 200
9.3.1 案例准备 201
9.3.2 用Ajax技术实现用户注册账户查重 203
9.3.3 用Ajax技术实现用户登录的身份验证 208
9.3.4 Ajax相关技术概述 211
9.4 JavaBean与软件复用 216
9.4.1 Java类与JavaBean 216
9.4.2 JavaBean的组件及优势 217
9.5 利用接口技术分离业务定义与实现 219
9.5.1 面向接口的编程 220
9.5.2 面向接口的编程案例 220
小结 223
综合实训 224
第10章 综合软件项目开发案例 225
10.1 综合软件项目开发概述 225
10.2 软件结构的复杂性及实现 226
10.2.1 复杂的数据结构及软件结构 226
10.2.2 案例实现技术介绍 229
10.2.3 面向对象的软件开发过程 236
10.3 综合软件项目开发说明 237
10.3.1 项目介绍 238
10.3.2 用例模型 239
10.3.3 功能需求 239
10.3.4 数据分析与数据库设计 240
10.3.5 软件设计 243
10.3.6 各功能模块设计 245
10.3.7 软件实现及操作说明 248
小结 260
综合实训 260
附录A JSP开发环境的安装、配置与使用介绍 261
附录B SSH框架技术简介 292
参考文献 297