Java Web程序设计基础教程 - 中国高校教材图书网
|
书名: |
Java Web程序设计基础教程
|
ISBN: | 978–7–5606 -1933–0 |
条码: | |
作者: |
李绪成 闫海珍
相关图书
|
装订: | 平装 |
印次: | 1-1 |
开本: | 16开 |
定价: |
¥25.00
折扣价:¥23.75
折扣:0.95
节省了1.25元
|
字数: |
430千字
|
出版社: |
西安电子科技大学出版社 |
页数: |
|
发行编号: | 2225001-1 |
每包册数: |
|
出版日期: |
2007-11-01 |
|
内容简介: |
内 容 简 介 本书是关于Java Web开发的基础教程,共分15章。第1章介绍如何构建Java Web应用;第2、3章介绍如何解决Java Web应用的输入和输出问题;第4~6章对登录功能进行了3次重构,这也是Java Web技术的3个发展阶段,并重点介绍了MVC模式;第7~10章进一步强化MVC模式的运用,并介绍了数据库的常用操作以及分页显示和连接池等内容;第11~13章介绍了Java Web应用的国际化、异常处理和安全控制问题;第14章是关于购物车和订单管理的综合实训,分析了购物车功能和订单管理功能;第15章介绍了程序调试。本书附录部分给出了Java Web开发中常用的功能、Java Web开发的核心API以及本书的知识点索引。 本书可以作为高职高专相关专业JSP课程的教材,也可以作为JSP培训的教材,同时本书也适合自学JSP的人员使用。
|
作者简介: |
|
章节目录: |
目 录
第1章 构建Java Web应用 1
1.1 Web应用概述 1
1.1.1 什么是Web应用 1
1.1.2 Web应用是如何运行的 1
1.1.3 Web应用关注的内容 2
1.2 流行的Web应用开发技术 3
1.3 Web应用的常用功能 4
1.4 Java Web应用的核心技术 5
1.5 Web应用的文档结构 7
1.6 Web应用的运行环境及其搭建 8
1.6.1 运行环境 8
1.6.2 安装JDK 9
1.6.3 安装Tomcat服务器 12
1.7 创建Web应用 16
1.7.1 创建Web应用 16
1.7.2 创建WEB-INF文件夹 16
1.7.3 创建web.xml文档 16
1.7.4 创建classes文件夹 16
1.7.5 创建lib文件夹 17
1.7.6 创建欢迎界面 17
1.7.7 启动服务器 18
1.7.8 访问JSP程序 19
1.8 JSP的运行原理 20
1.9 网上书店的基本功能 21
小结 21
习题1 21
实训1:创建Web应用 22
第2章 输入 23
2.1 用户注册界面 23
2.1.1 功能描述 23
2.1.2 运行效果 24
2.1.3 源代码 25
2.2 常用表单元素 32
2.2.1 单行文本框 33
2.2.2 密码框 33
2.2.3 单选按钮 34
2.2.4 复选框 34
2.2.5 下拉框 35
2.2.6 文本域 36
2.2.7 重置按钮 36
2.2.8 提交按钮 37
2.3 使用form元素 37
2.3.1 使用form元素封装要提交的信息 37
2.3.2 同一个页面中的多个form 37
2.4 对输入信息进行验证 38
2.4.1 JavaScript语言 38
2.4.2 使用表单数据 39
2.4.3 调用验证方法 39
2.4.4 提示用户信息 39
2.4.5 常用的方法 39
2.4.6 正则表达式 43
2.5 设置页面的编码方式 45
2.5.1 实现代码 45
2.5.2 page指令 46
小结 47
习题2 48
实训2:图书信息 49
第3章 输出 50
3.1 注册信息确认界面及其运行效果 50
3.1.1 功能描述 50
3.1.2 运行效果 50
3.1.3 程序代码 51
3.2 在界面上输出一个表格 56
3.3 显示用户输入信息 57
3.3.1 代码 57
3.3.2 表达式基本语法格式 58
3.3.3 运算符 58
3.3.4 隐含对象 59
3.3.5 变量的作用范围 60
3.4 处理乱码 61
3.4.1 处理乱码的代码 61
3.4.2 编写标签库 61
3.4.3 部署标签库 63
3.4.4 声明标签库 63
3.4.5 使用标签库中的标签 64
3.4.6 相关知识 64
3.5 动态赋值 65
3.5.1 标签的使用 65
3.5.2 基本表单元素赋值 65
3.5.3 单选按钮的赋值 65
3.5.4 下拉框的赋值 66
3.5.5 多行文本框的赋值 66
3.6 其他知识点 67
3.6.1 使用隐藏域传递值 67
3.6.2 在同一个表单中有多个处理文件 67
3.7 相关知识点 67
3.7.1 使用输出 68
3.7.2 使用表达式输出 68
3.7.3 使用脚本输出 68
小结 69
习题3 69
实训3:图书信息验证 70
第4章 登录 71
4.1 用户登录功能及效果 71
4.1.1 功能描述 71
4.1.2 运行效果 72
4.1.3 思路分析 72
4.2 创建登录界面 73
4.3 创建处理文件 75
4.3.1 判断用户的信息是否正确 75
4.3.2 保存用户信息 75
4.3.3 使用完成跳转 77
4.3.4 使用完成跳转 77
4.4 创建登录成功的界面 79
4.5 创建登录失败的界面 79
4.6 相关知识点 80
小结 80
习题4 81
实训4:登录过程模拟 81
第5章 系统业务逻辑 83
5.1 JavaBean 83
5.1.1 什么是JavaBean 83
5.1.2 编写JavaBean 84
5.1.3 编译JavaBean 85
5.2 部署 85
5.3 使用JavaBean 86
5.3.1 使用 86
5.3.2 使用 87
5.3.3 使用 88
5.3.4 调用业务方法 88
5.3.5 最佳实践 90
5.4 在Java代码中访问已有的JavaBean 91
小结 91
习题5 92
实训5:编写图书信息JavaBean 92
第6章 系统流程控制 94
6.1 Servlet 94
6.1.1 什么是Servlet 94
6.1.2 Servlet的主要方法 95
6.1.3 编写简单的Servlet 95
6.1.4 Servlet运行原理 98
6.2 使用Servlet完成控制 99
6.2.1 接收用户的输入信息 99
6.2.2 调用业务方法 100
6.2.3 使用request存储执行的结果 100
6.2.4 选择界面对用户进行响应 100
6.2.5 完整的代码 101
6.3 使用MVC模式 102
6.3.1 分层 102
6.3.2 传值 103
6.3.3 MVC模式在Java Web中的应用 105
6.3.4 如何实现MVC模式 107
6.4 信息存储 108
小结 109
习题6 110
实训6:编写图书信息添加Servlet 111
第7章 动态显示信息 112
7.1 目标及演示 112
7.1.1 功能描述 112
7.1.2 运行效果 113
7.1.3 相关文件 113
7.1.4 思路分析 113
7.2 使用MySQL 114
7.2.1 MySQL数据库的下载 114
7.2.2 MySQL数据库的安装 114
7.2.3 MySQL数据库的常用操作 119
7.3 编写UserBean 124
7.3.1 JDBC的基本用法 124
7.3.2 编写表示用户信息的JavaBean 128
7.3.3 编写查询所有用户的方法 130
7.3.4 采用数据库连接池 132
7.4 编写userlist.jsp 136
7.4.1 实现代码 137
7.4.2 标签 138
7.4.3 使用标准标签库中的SQL标签 139
7.5 创建控制器 144
7.5.1 代码 144
7.5.2 配置Servlet 146
小结 146
习题7 147
实训7:图书信息查询 148
第8章 分页显示 150
8.1 用户管理的分页显示 150
8.1.1 功能描述 150
8.1.2 运行效果 150
8.1.3 思路分析 152
8.2 在界面完成分页控制 153
8.2.1 修改UserBean.java 153
8.2.2 修改FindAllUserServlet 155
8.2.3 修改userlist.jsp 157
8.3 在UserBean中完成分页控制 159
8.3.1 修改UserBean.java 159
8.3.2 修改FindAllUserServlet 163
8.3.3 修改userlist.jsp 163
8.4 共享连接数据库的代码 164
8.4.1 编写DBBean 164
8.4.2 使用DBBean 166
小结 167
习题8 167
实训8:图书信息分页显示 168
第9章 信息添加 169
9.1 信息添加功能演示 169
9.1.1 功能描述 169
9.1.2 功能演示 169
9.1.3 思路分析 170
9.2 更新UserBean中的代码 171
9.2.1 动态SQL语句的编写 171
9.2.2 添加根据用户ID判断用户是否存在的方法 172
9.2.3 添加add方法 173
9.3 编写添加界面addUser.jsp 174
9.4 修改用户信息列表userlist.jsp 174
9.5 编写添加用户的Servlet 175
9.6 使用PrepraredStatement 178
小结 179
习题9 180
实训9:图书信息添加 180
第10章 修改和删除 181
10.1 修改功能和删除功能演示 181
10.1.1 功能描述 181
10.1.2 运行效果 181
10.1.3 思路分析 183
10.2 修改用户信息查看界面 184
10.2.1 添加功能按钮 184
10.2.2 传递用户ID 186
10.2.3 信息删除确认 187
10.2.4 添加提示信息 187
10.2.5 完整代码 188
10.3 修改UserBean的代码 190
10.3.1 添加根据ID查询用户信息的方法 190
10.3.2 添加修改信息的方法 192
10.3.3 添加信息删除的方法 193
10.4 修改功能中查询信息的Servlet 194
10.5 修改信息的Servlet 195
10.6 删除信息的Servlet 197
10.7 信息修改界面 199
10.8 简单事务处理 199
小结 200
习题10 200
实训10:图书信息修改和删除 201
第11章 国际化 202
11.1 目标演示 202
11.1.1 功能描述 202
11.1.2 运行效果 202
11.1.3 思路分析 203
11.2 编写资源文件 204
11.2.1 资源文件内容的确定 204
11.2.2 资源文件的格式 205
11.2.3 转换成Unicode编码 206
11.2.4 资源文件的名字 206
11.2.5 资源文件的部署 207
11.2.6 用户管理的资源文件 207
11.3 实现用户管理界面的国际化 211
11.3.1 设置所使用的语言 212
11.3.2 确定要访问的资源文件 212
11.3.3 访问资源文件中的内容 213
11.3.4 添加语言选择功能 215
11.3.5 修改后的文件 215
11.4 数字的格式化 218
11.4.1 格式化数字 218
11.4.2 转换数字 219
11.5 日期的格式化 219
11.5.1 格式化日期 219
11.5.2 转换日期 221
小结 221
习题11 221
实训11:图书管理界面的国际化 222
第12章 对系统异常进行处理 223
12.1 异常处理概述 223
12.2 Java代码中的异常处理 224
12.2.1 不好的编程习惯造成的异常 224
12.2.2 特殊类型的异常 224
12.2.3 方法调用产生的异常 225
12.3 JSP页面中的异常处理 226
12.3.1 使用进行异常处理 226
12.3.2 为页面指定异常处理文件 227
12.3.3 通过web.xml进行配置 227
小结 228
习题12 228
实训12:图书管理功能的异常处理 229
第13章 系统安全控制 230
13.1 完善登录功能 230
13.1.1 功能描述 230
13.1.2 思路分析 230
13.1.3 修改登录控制器Servlet 231
13.2 用户管理的安全控制 232
13.2.1 功能描述 232
13.2.2 运行效果 232
13.2.3 思路分析 233
13.2.4 操作session 233
13.2.5 修改登录处理的代码 234
13.2.6 在用户添加界面增加控制 236
13.2.7 对控制器进行安全控制 236
13.3 使用过滤器进行安全控制 237
13.3.1 Servlet过滤器简介 237
13.3.2 创建Servlet过滤器 237
13.3.3 配置过滤器 239
13.4 采用专门的安全控制页面 240
13.4.1 编写专门文件 240
13.4.2 修改图书添加界面代码 240
13.4.3 标签和<%@ include %>指令 241
13.5 集中的安全控制 241
13.6 页面的局部安全要求 242
13.7 增加图形验证码 242
13.7.1 图形验证码的作用 243
13.7.2 图形验证码的实现原理 243
小结 243
习题13 243
实训13:解决网站的安全问题 244
第14章 综合实训:购物车管理和订单管理 245
14.1 实训的目标 245
14.2 存储结构 245
14.3 实训指导 246
14.3.1 购物车的基本原理 246
14.3.2 购物车管理 249
14.3.3 订单管理 254
小结 256
第15章 程序调试 257
15.1 错误类型 257
15.1.1 编译错误 257
15.1.2 运行时错误 258
15.1.3 逻辑错误 258
15.1.4 特殊错误 258
15.2 常见编译错误 258
15.2.1 Java文件中的常见编译错误 258
15.2.2 JSP文件中的常见编译错误 260
15.3 特殊类型的错误 261
15.3.1 该页无法显示 261
15.3.2 找不到文件 262
15.3.3 文件修改后不起作用 263
15.4 运行时错误和逻辑错误的调试 263
附录A 常用功能 265
A.1 字符串 265
A.2 Stringbuffer 266
A.3 日期及其格式化 267
A.4 数字与字符串之间的转换 269
A.5 Vector类 270
A.6 哈希表 271
附录B 相关API 272
B.1 HttpServletRequest 272
B.2 HttpServletResponse 273
B.3 HttpSession 275
B.4 ServletContext 276
B.5 Cookie 277
附录C 知识点索引 279
C.1 Web概述与环境 279
C.2 HTML与JavaScript 279
C.3 指令和动作 280
C.4 JavaBean及其应用 281
C.5 表达式语言 281
C.6 标准标签库 281
C.7 JDBC 282
C.8 MVC模式 283
|
精彩片段: |
|
书 评: |
前 言
在多年的教学过程中,作者使用了多本JSP的教材,应该说这些教材都写得挺好。但是实际了解到的情况是学生听课的时候可以听懂,学完之后却不知道怎么去应用,要自己编写一个网站程序还是有困难。这几年作者也一直在研究其中的原因,逐渐发现了一些问题,并且想了一些方法来解决,还在一些班级进行了实验,效果比较好。现在想把这些想法与其他老师分享,让学生也能学有所用。
本书运用的思想
● 应用驱动而不是知识点驱动。
现有教材的编写基本上都是按照JSP知识点的分类来进行的,例如:JSP概述、JSP基础、内部对象、JSP动作和指令、JavaBean、JDBC、表达式语言、国际化、标准标签库等。这些教材都是以知识点驱动的,强调的是知识点。
在实际应用中我们需要解决各种问题,不同的问题需要不同的知识点,即实际中是以问题为驱动的。所以本书以应用为中心,围绕如何解决应用中的问题进行讲解,即完成相关功能需要什么知识点,就介绍什么知识点。
同时为了使学生能够全面掌握知识,我们在每一部分列出了相关的知识点。
● 提供完整的项目而不是不相关的例子。
多数JSP图书的不同章节采用的实例都没有关联性,这样在学完整个课程之后,学生会感觉例子很乱,没有整体的概念。
本书的所有内容都围绕一个项目进行,每一部分完成项目的一个功能,实训也是整个项目的一部分。这样当课程结束之后,学生就可以完成一个完整的项目。
● 不仅教学生如何实现,并且教学生如何设计。
对于每一个例子,不仅教学生如何编写程序,更重要的是教学生如何进行设计,这样学生就可以触类旁通了。
● 先模仿后自创。
每次介绍完一个案例之后,都要求学生完成一个类似的功能,通过这样的模仿来加深理解所学的知识,最后由学生再独立完成一部分功能。
● 理论与实训并重。
每部分内容都包括教师讲授和学生实训两部分,使得理论与实训结合紧密。
● JSP用于显示,Servlet用于控制。
在JSP的发展早期,开发Java Web应用的主要方式是在网页中嵌入Java代码,但这种方式的弊端逐渐显露出来。Java Web开发经常是由多种技术协同完成的:JSP主要完成与用户的交互过程,不应该包含处理代码和控制代码;而Servlet在显示信息方面没有优势,所以坚决不使用Servlet显示信息。本书严格遵循这种思想。
本书的内容组织
本书的内容组织围绕一个比较通用的项目——网上书店系统。整个项目分成三个部分:
● 图书信息管理。
● 用户管理。
● 购物车和订单管理。
每一部分的内容基本上都覆盖了JSP的所有知识点。整个课程的安排按照两条线进行:教师授课和学生实训。
教师授课内容是用户管理功能部分。把用户管理功能分解成各个小的案例,每个案例都可以完成一个功能,每个案例包含若干知识点。授课时边讲解边带领学生操作,把知识点融合在案例中。
学生实训内容是图书信息管理部分。每章最后都会有一个学生实训,这个实训与本章授课内容吻合,与教师讲解的案例功能基本相同。例如,教师讲解用户信息修改功能,学生实训的内容就是图书信息修改功能。
在完成基本内容的讲解和实训之后,在本书的最后给出了一个综合实例:购物车和订单管理。这部分内容由教师介绍知识点,然后由学生进行实训。
本书内容是根据JSP的最新规范编写的,采用的模式是MVC模式,它是几乎所有Java Web应用开发所采用的模式。JSP主要用于显示信息,所以在用到JSP的时候,要避免在JSP中嵌入Java代码。虽然Servlet能够像JSP一样向用户显示信息,但是Servlet主要用于控制。本书严格遵循这种思想,只在Servlet中编写控制代码。
学习任何一门语言时,学习者调试程序的能力都是一项非常基础但却非常重要的能力。本书专门使用一章的内容对常见的调试错误进行了分析,并对常用的调试方法进行了介绍。
本书首先描述目标,然后通过运行效果进一步展示目标,并根据目标分析编程思路,最后一步一步告诉读者如何编写这个代码。
学习目标
通过学习本书,学生应该达到以下目标:
● 创建一个网站。
包括搭建运行环境,创建网站的框架。
● 展示信息。
可以采用多种向用户展示信息的方式,通常情况下展示信息是Web应用的最基本的
功能。
● 提交信息。
通过界面提交信息到服务器是网站中信息更新功能所必需的。
● 检索信息。
信息检索功能能够帮助用户从网站提供的大量信息中查找需要的信息。这样的功能对于一个信息量非常大的网站来说是必不可少的。
● 处理信息。
能够完成网站中信息的处理。
● 管理信息。
能够管理各种网站中的大量信息。
● 进行安全控制。
包括实现登录功能和权限控制。
● 进行异常处理。
能够处理网站中的各种异常。
● 进行分页显示。
分页显示在很多网站中都存在,学习完本课程后,读者应该能够掌握其方法。
● 完成购物车管理。
几乎所有的电子商务网站中都有购物车功能,学习完本课程后,学生应该能够编写各种网站中的购物车管理代码。
主要内容
全书共分15章。第1章介绍如何构建Java Web应用。第2章和第3章介绍如何解决Java Web应用的输入和输出问题。第4~6章对登录功能进行了3次重构,这也就是Java Web技术的3个发展阶段。第7~10章进一步强化MVC模式的运用,并介绍数据库的常用操作。第11~13章介绍了Java Web应用的国际化、异常处理和安全控制问题。第14章是综合实训,分析了购物车功能和订单管理功能的主要编写思路,并给出了关键的知识点。第15章介绍了在编写和运行Java Web应用的过程中经常出现的错误以及如何调试程序。
本书最后有3个附录。附录A列出了Java Web开发中常用的功能,可以方便读者的学习。附录B列出了JSP技术中非常重要的API方法,读者在学习的过程中可以查找使用。附录C是本书的知识点索引,因为本书没有像其他书那样按照知识点分章节,而是按照应用划分,所以要查找知识点可以通过该索引进行。
编者分工
本书第1章及第9~15章由李绪成编写,第2、3章由闫海珍编写,第4~6章由王红编写,第7、8章由张阳编写。全书由李绪成统稿,闫海珍审定。
给学生的建议
● 一定要动手写程序,只有动手了才能发现问题。
● 不要害怕出错,编写程序不可能不出错,熟练之后,就会少出错了。
● 充分利用网络,网络上的各种资源非常丰富。
● 要学好英语,因为很多文档都是英文的。
● 要掌握Java基础,本书对JSP的语法讲得不多,难就难在Java语言本身。
给老师的建议
● 给学生动手的时间,不管你讲得有多好,如果学生不自己动手,一切都是徒劳。
● 帮助学生调试程序,调试程序的时候要给学生讲解,最好能够把你调试程序过程中心中想的东西告诉学生。要鼓励学生试着自己调试程序。
预备知识
预备知识包括三个方面:Java、HTML和JavaScript语言。
Java Web开发技术是以Java语言为基础的,其编码使用的都是Java的基本语法,最后也是按照Java程序的运行方式运行的。如果读者对Java不熟悉,需要补习一下Java。能够用到的Java知识包括:
● Java的基本语法,包括标识符、运算符、变量、方法和流程控制等。
● Java的面向对象特性,包括包、类、接口的定义和使用。
● Java的常用类库,包括字符串相关的String和StringBuffer、日期处理相关的Date和Calendar、日期和数字的格式化DateFormate和NumberFormat以及Collection框架等。
● 异常处理,在编写Java文件的时候不可避免地要使用它。
对于HTML语言,我们需要掌握最基本的语法,包括以下几个方面:
● 网页的结构。
● 表单元素。
JavaScript语言在客户端执行,所以如果希望在浏览器端执行功能,就需要使用JavaScript语言。现在在网站中使用比较多的JavaScript内容有客户端验证。
进一步学习的建议
Java Web开发技术属于Java企业级应用的一部分,属于Java企业级应用中的Web层。如果想更完整地学习Java企业级应用的各方面,可以学习Java EE企业级开发技术,它包括企业级JavaBean(EJB)技术和RMI、JNDI、JTA、JTS、数据源、JavaMail、JAAS、连接器等服务。
另外,本书介绍的是最基本的Java Web开发技术。为了提高Web应用的开发效率和方便Web应用的管理维护,人们设计出了很多基于Java Web技术的框架。常见的Web应用框架有:JSF、Struts、Tapestry和WebWork。它们都属于Web层框架,主要用于开发Web应用,其功能基本相同,但特性各有千秋。在Java企业级应用的最新版本中,JSF已经属于Java Web技术的一个组成部分。读者可以选择一种Web应用框架进行学习。
除了这些Web应用框架之外,还有一些能够简化对数据库进行操作的技术,通常称为持久层框架,常见的有Hibernate和TopLink。Hibernate相对来说比较流行,在很大程度上影响了后来的EJB3中Java持久性API的规范。读者可以从Hibernate和TopLink中选择其一进行学习,但如果读者要学习Java企业级应用,则可以不用学习这些持久性框架,因为在Java企业级应用中包含了Java持久性API,而且在Java企业级应用的早期版本中还有实体Bean。
还有一个比较流行的技术Spring,它是一个企业级应用的框架,与Java EE平行。它虽然不属于Java企业级应用开发的标准,但却非常成功,也是读者可以选择学习的一个不错的技术。
|
其 它: |
|
|
|