简介
本书是笔者在多年项目开发过程中的经验总结,它通过丰富的实例由浅
入深、循序渐进地介绍了目前采用Java进行Web开发的各种框架的使用方法
,从而帮助软件设计人员快速掌握这些Web开发技术的使用,并能将其应用
在实战中。
本书在编排上力争让读者能够快速掌握Java Web的设计方法。首先对
JavaEE的来源、整体框架和它的核心技术,以及MVC模式的设计思想、规范
及它的优缺点进行了讲解;然后对Java Web环境的建立、数据库的搭建、一
些基本技术比如JavaScript、JSP、Servlet、JDBC进行讲解;接着对Ajax、
Struts 2、Spring 2、Hibernate 3、JPA 进行了讲解;又对Log4j、Dom4j
、JUnit和JFreeChart等工具的使用方法进行了介绍,在介绍过程中,笔者
根据自己在项目中的经验,只讲解那些平常在实际项目中经常使用的一些功
能,目的只有一个,就是使读者快速地学会工具的使用。最后,笔者按照软
件开发的过程,采用面向对象的设计思想,通过不同的技术整合来进行一些
项目实战。
本书适用于初、中、高级软件设计人员阅读,同时也可用作高校相关专
业和社会培训班的教材。
目录
第0章 java web开发总览. 22
在阅读本书之前,请各位读者务必先阅读本章的内容。本章主要描述项目开发的流程、如何进行架构设计、如何设计包结构等内容,这些内容是本书编写的基础。通过对本章节的阅读,读者可以了解本书各章节安排的基本指导思想,本书精选案例的设计思路。
第一部分
第1章 java web开发思想 29
随着it技术的发展和企业对信息化需求的日益增加,在软件开发技术方面逐渐分为了两个阵营:java和.net。因为java在安全性、跨平台性以及分层次的架构方面有着不可比拟的优势,所以特别适合于大型企业级应用的开发,javaee就是java平台中专门为企业应用制订的标准框架。本章从javaee的发展讲起,在读者了解了javaee的运行模式后,再逐个讲解javaee的核心技术,然后通过对mvc模式的讲解,使读者认识到mvc是如何实现javaee框架的,最后讲解java web开发所需的常用技术。
1.1 javaee简介 30
1.1.1 javaee的发展 30
1.1.2 javaee运行模式 31
1.2 javaee核心技术 33
1.2.1 jsp(java服务页面) 33
1.2.2 servlet 34
1.2.3 ejb(企业javabean) 35
1.2.4 jdbc(java数据库连接) 36
1.2.5 jta(java事务) 37
1.2.6 javamail(java邮件服务) 38
1.2.7 jms(java消息服务) 38
1.2.8 rmi(远程方法调用) 39
1.2.9 jndi(java命名和目录服务) 40
1.2.10 xml(扩展标识语言) 41
1.2.11 jmx(java分布式管理) 41
.1.2.12 jacc(java容器授权合同) 42
1.2.13 jca(java连接器体系) 43
1.3 mvc模式原理 44
1.4 model规范 45
1.4.1 model 1规范 46
1.4.2 model 2规范 46
1.5 java web开发所需要的技术 47
1.5.1 ajax 47
1.5.2 mvc框架 50
1.5.3 持久层技术 51
1.6 java web开发学习路线图 52
1.7 小结 52
第2章 搭建java web开发和运行环境 53
要进行java web程序开发,就离不开编译java的环境jdk,也离不开运行jsp、servlet的容器,本书选择tomcat,此外还需要能够快速开发代码的辅助工具eclipse。本章首先建立java开发环境,然后配置tomcat和eclipse,通过本章开发环境的搭建,使读者能够在此基础上开发、创建和发布web应用。
2.1 搭建java开发环境 54
2.1.1 下载并安装jdk 54
2.1.2 设定环境变量 57
2.1.3 验证jdk环境是否配置成功 58
2.2 搭建java web运行环境 58
2.2.1 下载tomcat 58
2.2.2 设定tomcat_home 60
2.2.3 验证tomcat是否安装成功 61
2.2.4 在tomcat下创建和发布web应用 64
2.3 搭建eclipse的开发环境 66
2.3.1 下载并配置eclipse 66
2.3.2 整合eclipse和tomcat 67
2.4 使用eclipse创建和发布web应用 71
2.4.1 编写能输出helloworld的jsp文件 74
2.4.2 运行jsp文件 75
2.5 小结 75
第3章 搭建数据库开发环境 76
目前绝大多数的java web应用,都是建立在数据库基础上的,因此本章将讲解数据库环境的搭建。首先对mysql数据库进行简单的介绍,然后重点讲解mysql数据库的安装和使用方法。
3.1 mysql概述 77
3.1.1 mysql简介 77
3.1.2 下载并安装mysql 77
3.1.3 下载并安装xampp 82
3.1.4 配置mysql的数据库驱动程序 85
3.2 使用mysql数据库 86
3.2.1 采用xampp管理mysql数据库 87
3.2.2 创建数据库表 88
3.3 sql语法介绍 89
3.3.1 sql简介 89
3.3.2 sql基本语法 90
3.4 小结 93
第二部分
第4章 javascript技术详解 95
javascript在页面控制方面起着无可代替的作用,但它在编程方面的一些不好的习惯也饱受诟病,但自从prototype推出以后,开发人员突然发现,原来javascript也可以使用面向对象的方式编程,可以促使开发人员养成良好的编程习惯。
本章首先对javascript的基础知识进行介绍,然后重点讲解javascript的函数、对象和事件处理机制,以及如何使用javascript来面向对象编程,最后着重讲解xmlhttprequest对象,从而使读者真正理解javascript的强大功能。
4.1 javascript语言基础 96
4.1.1 变量和数据类型 96
4.1.2 运算符和表达式 97
4.1.3 程序控制语句 100
4.2 自定义函数 102
4.2.1 函数的定义 102
4.2.2 函数的使用 102
4.3 系统内部函数 103
4.3.1 使用eval返回字符串的值 103
4.3.2 使用escape进行字符编码 105
4.3.3 使用unescape进行字符解码 106
4.3.4 使用parseint和parsefloat进行数值转换 107
4.3.5 使用typeof判断对象类型 108
4.3.6 使用isfinite判断一个变量是否有界 109
4.3.7 使用isnan判断一个变量是否是数值 110
4.4 系统内部对象 111
4.4.1 array对象 111
4.4.2 object对象 112
4.4.3 window对象 113
4.4.4 navigator对象 116
4.4.5 location对象 117
4.4.6 history对象 119
4.4.7 screen对象 120
4.5 xmlhttprequest概述 121
4.5.1 xmlhttprequest的生命周期 121
4.5.2 xmlhttprequest的方法和属性 127
4.5.3 建立xmlhttprequest对象池 128
4.5.4 使用iframe代替xmlhttprequest 130
4.6 小结 135
第5章 jsp技术详解 136
本章重点讲解jsp的基本知识。jsp是一种纯java平台技术,采用jsp开发的web应用是跨平台的,既可以在windows下运行,也可以在unix下运行。
5.1 jsp技术简介 137
5.2 jsp的基本语法 137
5.2.1 基本语句 137
5.2.2 数据类型 139
5.3 jsp的内置对象 139
5.3.1 request对象 140
5.3.2 response对象 141
5.3.3 pagecontext对象 141
5.3.4 session对象 142
5.3.5 application对象 143
5.3.6 out对象 143
5.4 jsp技术应用 144
5.4.1 使用jsp操作cookie 144
5.4.2 利用缓存技术提高jsp性能 145
5.5 小结 146
第6章 servlet技术详解 147
本章首先对servlet进行简要的介绍,然后详细讲解servlet的生命周期,最后通过示例演示servlet的使用方法。
6.1 servlet技术简介 148
6.2 servlet的生命周期 150
6.2.1 加载servlet 150
6.2.2 初始化 150
6.2.3 处理请求 151
6.2.4 服务结束 151
6.3 filter技术 151
6.3.1 filter技术原理 151
6.3.2 filter示例 152
6.4 小结 153
第7章 jdbc技术详解 154
一般来讲,现在的java web开发已经很少直接使用jdbc进行数据库的相关操作了,一般都是自己对jdbc进行封装,或者直接使用开源的orm产品,但万变不离其宗,最终它们都离不开对jdbc的操作,因此了解jdbc的原理还是非常必要的。本章首先介绍jdbc的基础知识,然后通过示例讲解如何使用jdbc操作数据库,最后讲解事务管理和数据库连接池的相关知识。
7.1 jdbc概述 155
7.2 jdbc数据连接 155
7.2.1 jdbc数据连接示例 155
7.2.2 典型的jdbc数据连接的步骤 156
7.3 事务处理 159
7.3.1 事务处理概述 159
7.3.2 如何应用事务处理 159
7.4 jdbc技术应用 160
7.4.1 如何获取数据库表中的字段名和值 160
7.4.2 如何使用jndi 161
7.4.3 如何编写数据库连接池 162
7.5 小结 163
第三部分
第8章 ajax技术详解 165
近两年来,ajax逐渐成为一个炙手可热的名词,其良好的用户体验,得到人们越来越多的推崇。它整合了xmlhttprequest、javascript、dom、css、xml等众多技术,这一卓越的构想使得原来笨拙的web界面变得交互性实足。
本章从ajax的来源讲起,介绍ajax的工作原理、发展趋势和应用示例,然后分别介绍ajax的核心技术,最后介绍目前比较主流的ajax实现框架,并对此进行比较,目的是让读者真正明白什么是ajax,为什么要用ajax,以及使用ajax都要掌握哪些技术和哪些框架,来帮助开发人员快速应用ajax。
8.1 ajax概述 166
8.1.1 ajax的来源 166
8.1.2 ajax的工作原理 166
8.1.3 ajax的发展趋势 167
8.1.4 ajax的应用示例 168
8.2 ajax技术 169
8.2.1 xmlhttprequest技术 169
8.2.2 javascript(java脚本语言) 170
8.2.3 dom(文档对象模型) 172
8.2.4 css(层叠样式表单) 173
8.2.5 xml(可扩展标识语言) 174
8.3 ajax的主流框架 174
8.3.1 ext 174
8.3.2 prototype 176
8.3.3 dojo 177
8.3.4 dwr 178
8.3.5 gwt 179
8.3.6 buffalo 180
8.3.7 json-rpc 181
8.4 使用传统的web方式实现helloworld示例 182
8.4.1 编写jsp页面myhelloworldold.jsp 182
8.4.2 配置web.xml 183
8.4.3 编写servlet程序helloworldold.java 183
8.4.4 运行程序并查看输出结果 185
8.5 使用ajax方式实现helloworld示例 185
8.5.1 编写jsp页面myhelloworld.jsp 185
8.5.2 配置web.xml 187
8.5.3 编写servlet程序helloworld.java 187
8.5.4 运行程序并查看输出结果 189
8.6 两种实现方式对比分析 189
8.7 小结 189
第9章 struts 2技术详解 190
要学习java web开发技术,就绕不开开源框架struts,尽管现在spring比较流行,但struts仍然拥有大量的爱好者,特别是struts 2的发布,更是有了革命性的进步。本章首先对struts的基本情况和发展历史进行简要介绍,然后通过一个简单的示例让读者快速了解struts 2的使用方法,接下来着重讲解struts 2的特性,以加深认识。
9.1 struts 2介绍 191
9.2 struts 2的环境配置 191
9.2.1 下载struts 2 192
9.2.2 搭建struts 2的开发运行环境 193
9.3 struts 2入门示例 196
9.3.1 编写实现消息输出的helloworld.jsp页面 197
9.3.2 编写控制器helloworld.java 198
9.3.3 配置struts文档struts.xml和struts.properties 199
9.3.4 配置web.xml 200
9.3.5 测试运行该示例 201
9.4 struts 2的核心机制 201
9.4.1 filterdispatcher处理流程 202
9.4.2 struts 2的输入校验 205
9.4.3 struts 2的拦截机制 207
9.4.4 struts 2的国际化 211
9.4.5 struts 2的标签库 212
9.5 struts 2的配置文件 213
9.5.1 struts.properties 213
9.5.2 struts.xml 216
9.6 struts 2综合示例 218
9.6.1 档案管理系统的uml用例图 218
9.6.2 档案管理系统功能描述 218
9.6.3 描述系统的业务实体 225
9.6.4 组织系统的业务逻辑 227
9.6.5 档案存放位置实体的实现 228
9.6.6 档案基本信息实体的实现 230
9.6.7 档案借阅记录实体的实现 233
9.6.8 存放位置管理画面 238
9.6.9 档案管理画面 239
9.6.10 档案借阅记录管理画面 242
9.6.11 实现管理存放位置的功能 244
9.6.12 实现管理档案的功能 247
9.6.13 实现管理档案借阅记录的功能 253
9.6.14 实现struts的登录控制器类 258
9.6.15 编写配置文件 260
9.6.16 程序演示 264
9.7 小结 267
第10章 spring 2技术详解 268
如今在java web开发中,占据统治地位的无疑是spring框架了,它所具有的整合功能,使得它能很好地和其他框架结合使用,从而为java开发人员进行企业级的应用开发提供了一个一站式的解决方案。
本章首先讲解spring的历史和整体框架,然后建立spring的开发环境,接着通过一个入门的示例让读者建立起对spring开发的初步印象,最后讲解spring在事务处理、与其他框架整合方面的一些特性。
10.1 spring概述 269
10.1.1 spring简介 269
10.1.2 spring整体框架 269
10.2 spring的环境配置 270
10.2.1 下载spring 270
10.2.2 搭建spring的开发运行环境 273
10.3 spring入门示例 276
10.3.1 编写jsp页面helloworld.jsp 276
10.3.2 编写控制器helloworld.java 277
10.3.3 配置spring文档config.xml 279
10.3.4 配置web.xml 280
10.3.5 测试运行该示例 281
10.4 spring的核心机制 281
10.4.1 控制反转思想 281
10.4.2 分发器原理 285
10.5 spring的多动作控制器 288
10.5.1 多动作控制器的原理 289
10.5.2 多动作控制器的示例 291
10.6 spring综合示例 295
10.6.1 权限管理系统功能概述 295
10.6.2 业务实体设计 298
10.6.3 自动生成数据库表结构 303
10.6.4 dao模型的实现 314
10.6.5 业务逻辑功能实现 318
10.6.6 编写权限管理系统的jsp页面 322
10.6.7 编写spring的配置文件config.xml 326
10.6.8 测试运行该示例 330
10.7 小结 334
第11章 hibernate 3技术详解 335
hibernate是目前最流行的开源持久层框架,它对jdbc进行了非常轻量级的封装,使得开发人员可以使用面向对象的思想来设计数据库。
本章首先对hibernate进行简要介绍,并讲解它的下载和配置,然后重点讲解hibernate的核心类,以及对jpa的支持、映射关系和缓存机制,最后通过示例讲解如何将struts、spring和hibernate进行整合。
11.1 hibernate概述 336
11.1.1 hibernate简介 336
11.1.2 hibernate整体框架 336
11.2 hibernate的核心机制 339
11.2.1 hibernate的核心类 339
11.2.2 hibernate的主键介绍 340
11.3 hibernate对jpa的支持 341
11.3.1 jpa简介 341
11.3.2 persistence.xml详细配置 347
11.3.3 整合spring和jpa 347
11.4 hibernate的配置文件 349
11.4.1 hibernate的两种配置方式 349
11.4.2 配置数据库连接池 350
11.4.3 使用jndi 351
11.5 hibernate的关系映射 352
11.5.1 一对一映射 352
11.5.2 一对多和多对一映射 352
11.5.3 多对多映射 354
11.6 hibernate缓存机制 354
11.6.1 一级缓存 354
11.6.2 二级缓存 355
11.7 spring和hibernate整合示例 356
11.7.1 图书管理系统功能描述 356
11.7.2 spring和hibernate的整合方式 358
11.7.3 持久层功能的实现 363
11.7.4 实现对读者的管理功能 371
11.7.5 实现对图书的管理功能 372
11.7.6 实现维护借阅规则的功能 376
11.7.7 实现借阅和归还图书的功能 378
11.7.8 编写图书管理系统的jsp页面 383
11.7.9 编写配置文件config.xml 385
11.7.10 测试运行该示例 388
11.8 小结 392
第四部分
第12章 log4j使用指南 394
在log4j出现以前,在应用程序中添加日志记录最常用的做法就是在代码中添加打印语句,然后通过控制台或日志文件来观察变量的变化,或者跟踪代码运行的踪迹。现在,log4j是承担这个功能的最佳选择。本章首先简要介绍log4j,以及为什么要使用log4j,然后讲解如何下载和配置log4j,重点讲解log4j的使用方法。
12.1 log4j简介 395
12.1.1 log4j概述 395
12.1.2 为什么要使用log4j 396
12.2 建立log4j的开发环境 396
12.2.1 下载log4j 396
12.2.2 配置log4j 397
12.3 log4j的使用方法 397
12.3.1 log4j的基本使用方法 397
12.3.2 日志的输出格式 398
12.3.3 日志的输出位置 399
12.3.4 日志的优先级 400
12.4 小结 400
第13章 junit使用指南 401
junit是由 erich gamma 和 kent beck 编写的一个回归测试框架,使用起来非常简单,目前绝大多数开源框架都使用junit进行单元测试。本章首先对junit进行介绍并阐述为什么要使用junit,然后介绍junit的下载和安装、junit的使用方法,最后介绍junit的新特性。
13.1 为什么要进行单元测试 402
13.2 建立junit的开发环境 404
13.2.1 下载junit 404
13.2.2 配置junit 405
13.3 junit的使用方法 405
13.3.1 junit的基本使用方法 406
13.3.2 在spring中使用junit 408
13.3.3 junit与ant整合 409
13.4 小结 410
第14章 jfreechart使用指南 411
在java web开发中经常会用到图表,比如柱状图、饼图、条形图等,使用jfreechart可以很方便地生成这些图表。本章首先对jfreechart进行介绍,然后介绍jfreechart的下载和安装,最后介绍jfreechart的使用方法。
14.1 jfreechart概述 412
14.2 搭建jfreechart的开发环境.. 412
14.2.1 下载jfreechart 413
14.2.2 配置jfreechart 414
14.3 jfreechart的使用方法 414
14.3.1 jfreechart的核心类 414
14.3.2 用jfreechart生成柱状图 415
14.3.3 用jfreechart生成饼图 417
14.4 小结 419
第15章 dom4j使用指南 420
在当前的java web开发中,xml文件的使用越来越频繁,如何创建和解析xml文件就变得非常重要了,而dom4j就是一个非常好的读/写xml文件的工具。本章首先对dom4j进行介绍,并阐述为什么要使用dom4j,然后介绍dom4j的下载和安装,最后介绍dom4j的使用方法。
15.1 dom4j简介 421
15.2 建立dom4j的开发环境 421
15.2.1 下载dom4j 421
15.2.2 配置dom4j 423
15.3 dom4j的使用方法 424
15.3.1 dom4j的基本使用方法 424
15.3.2 dom4j使用示例 426
15.4 小结 428
第五部分
第16章 注册管理系统(jsp+javabean) 430
在struts和spring这些框架出现之前,第一代的java web开发技术就是jsp+javabean。采用这种技术组合开发速度非常快,但经常会造成代码逻辑混乱,后期维护困难。虽然现在新开发的项目基本没有人再使用这种技术组合,但作为最基本的技术,本章将通过注册管理系统简单地演示一下。
16.1 注册管理系统需求描述 431
16.1.1 注册功能 431
16.1.2 登录功能 431
16.1.3 查看注册用户列表功能 432
16.2 设计javabean 432
16.3 数据库设计 438
16.3.1 数据库表结构设计与建立 438
16.3.2 建立数据库连接辅助类 441
16.4 jsp页面实现 441
16.4.1 用户注册管理画面 441
16.4.2 登录画面 442
16.4.3 查看注册用户列表画面 442
16.5 程序演示 443
16.6 小结 445
第17章 新闻发布系统(jsp+servlet+dao) 446
每个企业都会用到新闻发布系统,对于企业内网来说,发布一些公司的新闻,以供内部员工了解公司的运营;对于企业外网来说,也可以让外部的客户了解企业的情况。
本章使用最基本的jsp+servlet+dao来实现一个简单的框架,实现和使用spring+jpa类似的功能,然后通过该框架实现新闻发布系统。
17.1 需求描述 447
17.2 功能预览 447
17.2.1 设定新闻类别功能 448
17.2.2 登录功能 448
17.2.3 登录成功后的选择功能 449
17.2.4 发布新闻功能 449
17.2.5 浏览新闻功能 450
17.3 采用jsp+servlet+dao+jdbc架构 450
17.3.1 设计视图层的架构 451
17.3.2 设计控制层的架构 451
17.3.3 设计模型层的架构 457
17.3.4 设计持久层的架构 458
17.4 系统设计 462
17.4.1 如何实现对数据库的操作 463
17.4.2 如何实现持久层的设计 463
17.4.3 如何实现新闻发布系统的业务逻辑 464
17.5 数据库设计 465
17.5.1 数据库表结构设计与建立 465
17.5.2 配置数据库连接 469
17.6 dao模型的实现 469
17.6.1 管理员dao的实现 470
17.6.2 新闻类别dao的实现 472
17.6.3 新闻dao的实现 474
17.7 编写新闻发布系统的业务逻辑类 477
17.7.1 管理管理员的业务逻辑实现 478
17.7.2 管理新闻类别的业务逻辑实现 480
17.7.3 管理新闻的业务逻辑实现 483
17.8 编写新闻发布系统的控制器类 487
17.8.1 管理员控制器类 487
17.8.2 新闻类别管理控制器类 488
17.8.3 发布浏览新闻控制器类 490
17.8.4 登录控制器类 494
17.9 前台页面的实现 495
17.9.1 新闻类别管理画面 495
17.9.2 发布新闻画面 497
17.9.3 登录画面 499
17.9.4 登录成功的画面 501
17.9.5 浏览新闻画面 502
17.10 编写配置文件newsrelease.xml 503
17.11 程序演示 504
17.12 小结 508
第18章 网上购物系统(ajax+struts+hibernate) 509
随着当当网、淘宝网的不断发展,越来越多的人开始在网上购物了。网上购物系统是如何实现的呢?本章就来讲解一下它的实现方式。ajax技术能够极大地提升用户的操作体验,因此本章采用ajax+struts+spring+jpa的方式实现网上购物系统,主要包括货物的维护与陈列、用户的浏览和购买,以及购物车的维护等基本功能。
18.1 系统概述 510
18.2 需求分析 510
18.2.1 购物者注册功能 511
18.2.2 对货物进行分类存放的功能 511
18.2.3 维护货物基本信息的功能 511
18.2.4 浏览购买货物的功能 512
18.2.5 管理购物车的功能 512
18.3 系统与架构设计 513
18.3.1 dwr和struts的整合方式 513
18.3.2 搭建开发环境 515
18.3.3 后台持久层设计 517
18.3.4 后台业务逻辑设计 518
18.4 构建数据库表结构 519
18.4.1 实现业务实体间的对应关系 519
18.4.2 配置数据连接文件 528
18.4.3 查看数据库表结构 528
18.5 后台持久层实现 529
18.5.1 购物者持久层实现 529
18.5.2 货物类别持久层实现 531
18.5.3 货物持久层实现 533
18.5.4 购物车持久层实现 534
18.6 后台业务逻辑的实现 536
18.6.1 管理购物者的功能实现 536
18.6.2 管理货物类别的功能实现 538
18.6.3 管理货物的功能实现 539
18.6.4 管理购物车的功能实现 540
18.7 编写网上购物系统的控制器类 542
18.7.1 货物类别管理控制器类 542
18.7.2 货物管理控制器类 544
18.7.3 购物车管理控制器类 545
18.7.4 登录验证的配置文件 549
18.8 前台jsp页面实现 552
18.8.1 采用dwr实现验证 552
18.8.2 货物类别管理画面 553
18.8.3 货物管理画面 554
18.8.4 浏览购买货物画面 556
18.8.5 修改购货记录画面 557
18.9 编写配置文件 559
18.10 程序演示 560
18.11 小结 563
第19章 用户管理系统(spring+hibernate) 564
所有的信息化系统都离不开对用户的管理,比如人事管理系统中需要对员工信息进行管理,学生管理系统中需要对学生信息进行管理,本章将采用spring+hibernate的整合来进行讲解。
本章的主要目的是使读者通过对spring+hibernate整合方法的学习,熟练地掌握这种组合方式,为后面的学习打下良好的基础。
19.1 需求的提出 565
19.2 需求分析 566
19.2.1 采用用例的方式分析需求 566
19.2.2 产生需求规格说明书 566
19.3 架构设计 570
19.3.1 用户管理系统采用的架构 570
19.3.2 在eclipse下建立项目usermanagement 570
19.3.3 配置本项目的web.xml文件 576
19.4 系统设计 577
19.4.1 实体域模型设计 577
19.4.2 dao模型设计 577
19.4.3 过程域模型设计 578
19.4.4 控制模型设计 579
19.4.5 视图模型设计 580
19.5 数据库设计 581
19.5.1 根据实体模型设计数据库表结构 581
19.5.2 根据数据库表生成对应的xml文件 584
19.5.3 根据xml文件生成持久化类 587
19.6 编写用户管理系统的dao 594
19.6.1 用户dao接口userdao.java 594
19.6.2 部门dao接口departmentdao.java 595
19.6.3 地址dao接口addressdao.java 595
19.6.4 联系电话dao接口phonedao.java 596
19.6.5 用户dao实现类userdaoimpl.java 596
19.6.6 部门dao实现类departmentdaoimpl.java 597
19.6.7 地址dao实现类addressdaoimpl.java 598
19.6.8 联系电话dao实现类phonedaoimpl.java 599
19.7 编写用户管理系统的业务逻辑类 600
19.7.1 管理用户接口userservice.java 600
19.7.2 管理部门接口departmentservice.java 601
19.7.3 管理地址接口addressservice.java 601
19.7.4 管理联系电话接口phoneservice.java 602
19.7.5 管理用户实现类userserviceimpl.java 602
19.7.6 管理部门实现类departmentserviceimpl.java 604
19.7.7 管理地址实现类addressserviceimpl.java 605
19.7.8 管理联系电话实现类phoneserviceimpl.java 607
19.8 编写用户管理系统的控制器类 608
19.8.1 登录控制器类logincontroller.java 608
19.8.2 用户管理控制器类usercontroller.java 610
19.9 编写用户管理系统的jsp页面 615
19.9.1 用户管理画面usermanagement.jsp 615
19.9.2 用户登录画面login.jsp 617
19.10 编写配置文件config.xml 618
19.11 程序演示 623
19.12 小结 625
第20章 留言簿管理系统(jsf+struts+spring) 626
在博客出现以前,论坛和留言簿是网站用来和浏览者交流的主要方式,本章就来探讨一下留言簿的实现原理。本章采用jsf作为视图层的实现技术,采用struts的控制器技术,采用spring来整合struts和jpa。
20.1 系统概述 627
20.2 需求分析 627
20.2.1 uml用例图 627
20.2.2 采用原型法进行分析 628
20.3 系统与架构设计 630
20.3.1 jsf和struts的整合方式 631
20.3.2 在eclipse下建立项目bbsmanagement 633
20.3.3 配置本项目的web.xml文件 633
20.3.4 持久层的设计 635
20.3.5 业务逻辑的设计 636
20.4 持久层设计与实现 637
20.4.1 数据模型设计 637
20.4.2 建立数据库表结构 644
20.4.3 留言内容的持久层实现 646
20.4.4 留言回复的持久层实现 647
20.5 前台jsp页面实现 649
20.5.1 发布留言内容管理画面 649
20.5.2 回复留言内容画面 650
20.5.3 浏览留言内容画面 651
20.5.4 使用jsf来实现画面 653
20.6 后台业务逻辑的实现 654
20.6.1 管理留言内容接口 654
20.6.2 管理留言回复接口 654
20.6.3 管理留言内容实现类 655
20.6.4 管理留言回复实现类 656
20.7 控制器类的实现 657
20.7.1 留言内容管理控制器类 657
20.7.2 留言回复管理控制器类 659
20.8 编写struts的配置文件struts.xml 662
20.9 编写spring的配置文件config.xml 663
20.10 程序演示 665
20.11 小结 667
第21章 网上考试系统(struts+spring+hibernate+jpa) 668
网上考试系统主要包括试题的维护、试卷的生成、参加考试,以及查看考试成绩等功能,本章按照标准的软件开发过程来进行,以使读者能够从头到尾了解整个网上考试系统的开发过程。
21.1 需求的提出 669
21.2 需求分析 670
21.2.1 组合试卷功能 670
21.2.2 维护试题题目功能 671
21.2.3 维护试题项目功能 672
21.2.4 参加考试自动评分功能 673
21.2.5 查看考试结果功能 674
21.3 架构选择 675
21.3.1 是否应该采用ajax或jsf 675
21.3.2 搭建和配置开发环境 676
21.3.3 网上考试系统的目录结构 676
21.4 系统设计 677
21.4.1 业务实体和持久层设计 677
21.4.2 业务逻辑和控制层设计 678
21.4.3 视图层设计 679
21.5 建立数据库表逻辑结构 681
21.5.1 业务实体的实现 681
21.5.2 配置生成数据库的相关文件 686
21.5.3 根据实体自动生成数据库表结构 687
21.6 dao模型实现 688
21.6.1 试卷基本信息dao 688
21.6.2 试题题目dao 690
21.6.3 试题项目dao 691
21.7 业务逻辑实现 692
21.7.1 添加试卷基本信息的业务逻辑 692
21.7.2 修改试卷基本信息的业务逻辑 696
21.7.3 删除试卷基本信息的业务逻辑 696
21.7.4 添加试题题目的业务逻辑 697
21.7.5 修改试题题目的业务逻辑 701
21.7.6 删除试题题目的业务逻辑 701
21.7.7 添加试题项目的业务逻辑 702
21.7.8 修改试题项目的业务逻辑 705
21.7.9 删除试题项目的业务逻辑 705
21.7.10 产生试卷的业务逻辑 706
21.7.11 自动评分的业务逻辑 706
21.8 编写网上考试系统的jsp页面 707
21.8.1 试卷基本信息管理画面 708
21.8.2 试题题目管理画面 709
21.8.3 试题项目管理画面 711
21.8.4 参加考试画面 712
21.8.5 查看考试成绩画面 714
21.9 编写struts的配置文件struts.xml 715
21.10 编写spring的配置文件config.xml 716
21.11 程序演示 718
21.12 小结... 721
在阅读本书之前,请各位读者务必先阅读本章的内容。本章主要描述项目开发的流程、如何进行架构设计、如何设计包结构等内容,这些内容是本书编写的基础。通过对本章节的阅读,读者可以了解本书各章节安排的基本指导思想,本书精选案例的设计思路。
第一部分
第1章 java web开发思想 29
随着it技术的发展和企业对信息化需求的日益增加,在软件开发技术方面逐渐分为了两个阵营:java和.net。因为java在安全性、跨平台性以及分层次的架构方面有着不可比拟的优势,所以特别适合于大型企业级应用的开发,javaee就是java平台中专门为企业应用制订的标准框架。本章从javaee的发展讲起,在读者了解了javaee的运行模式后,再逐个讲解javaee的核心技术,然后通过对mvc模式的讲解,使读者认识到mvc是如何实现javaee框架的,最后讲解java web开发所需的常用技术。
1.1 javaee简介 30
1.1.1 javaee的发展 30
1.1.2 javaee运行模式 31
1.2 javaee核心技术 33
1.2.1 jsp(java服务页面) 33
1.2.2 servlet 34
1.2.3 ejb(企业javabean) 35
1.2.4 jdbc(java数据库连接) 36
1.2.5 jta(java事务) 37
1.2.6 javamail(java邮件服务) 38
1.2.7 jms(java消息服务) 38
1.2.8 rmi(远程方法调用) 39
1.2.9 jndi(java命名和目录服务) 40
1.2.10 xml(扩展标识语言) 41
1.2.11 jmx(java分布式管理) 41
.1.2.12 jacc(java容器授权合同) 42
1.2.13 jca(java连接器体系) 43
1.3 mvc模式原理 44
1.4 model规范 45
1.4.1 model 1规范 46
1.4.2 model 2规范 46
1.5 java web开发所需要的技术 47
1.5.1 ajax 47
1.5.2 mvc框架 50
1.5.3 持久层技术 51
1.6 java web开发学习路线图 52
1.7 小结 52
第2章 搭建java web开发和运行环境 53
要进行java web程序开发,就离不开编译java的环境jdk,也离不开运行jsp、servlet的容器,本书选择tomcat,此外还需要能够快速开发代码的辅助工具eclipse。本章首先建立java开发环境,然后配置tomcat和eclipse,通过本章开发环境的搭建,使读者能够在此基础上开发、创建和发布web应用。
2.1 搭建java开发环境 54
2.1.1 下载并安装jdk 54
2.1.2 设定环境变量 57
2.1.3 验证jdk环境是否配置成功 58
2.2 搭建java web运行环境 58
2.2.1 下载tomcat 58
2.2.2 设定tomcat_home 60
2.2.3 验证tomcat是否安装成功 61
2.2.4 在tomcat下创建和发布web应用 64
2.3 搭建eclipse的开发环境 66
2.3.1 下载并配置eclipse 66
2.3.2 整合eclipse和tomcat 67
2.4 使用eclipse创建和发布web应用 71
2.4.1 编写能输出helloworld的jsp文件 74
2.4.2 运行jsp文件 75
2.5 小结 75
第3章 搭建数据库开发环境 76
目前绝大多数的java web应用,都是建立在数据库基础上的,因此本章将讲解数据库环境的搭建。首先对mysql数据库进行简单的介绍,然后重点讲解mysql数据库的安装和使用方法。
3.1 mysql概述 77
3.1.1 mysql简介 77
3.1.2 下载并安装mysql 77
3.1.3 下载并安装xampp 82
3.1.4 配置mysql的数据库驱动程序 85
3.2 使用mysql数据库 86
3.2.1 采用xampp管理mysql数据库 87
3.2.2 创建数据库表 88
3.3 sql语法介绍 89
3.3.1 sql简介 89
3.3.2 sql基本语法 90
3.4 小结 93
第二部分
第4章 javascript技术详解 95
javascript在页面控制方面起着无可代替的作用,但它在编程方面的一些不好的习惯也饱受诟病,但自从prototype推出以后,开发人员突然发现,原来javascript也可以使用面向对象的方式编程,可以促使开发人员养成良好的编程习惯。
本章首先对javascript的基础知识进行介绍,然后重点讲解javascript的函数、对象和事件处理机制,以及如何使用javascript来面向对象编程,最后着重讲解xmlhttprequest对象,从而使读者真正理解javascript的强大功能。
4.1 javascript语言基础 96
4.1.1 变量和数据类型 96
4.1.2 运算符和表达式 97
4.1.3 程序控制语句 100
4.2 自定义函数 102
4.2.1 函数的定义 102
4.2.2 函数的使用 102
4.3 系统内部函数 103
4.3.1 使用eval返回字符串的值 103
4.3.2 使用escape进行字符编码 105
4.3.3 使用unescape进行字符解码 106
4.3.4 使用parseint和parsefloat进行数值转换 107
4.3.5 使用typeof判断对象类型 108
4.3.6 使用isfinite判断一个变量是否有界 109
4.3.7 使用isnan判断一个变量是否是数值 110
4.4 系统内部对象 111
4.4.1 array对象 111
4.4.2 object对象 112
4.4.3 window对象 113
4.4.4 navigator对象 116
4.4.5 location对象 117
4.4.6 history对象 119
4.4.7 screen对象 120
4.5 xmlhttprequest概述 121
4.5.1 xmlhttprequest的生命周期 121
4.5.2 xmlhttprequest的方法和属性 127
4.5.3 建立xmlhttprequest对象池 128
4.5.4 使用iframe代替xmlhttprequest 130
4.6 小结 135
第5章 jsp技术详解 136
本章重点讲解jsp的基本知识。jsp是一种纯java平台技术,采用jsp开发的web应用是跨平台的,既可以在windows下运行,也可以在unix下运行。
5.1 jsp技术简介 137
5.2 jsp的基本语法 137
5.2.1 基本语句 137
5.2.2 数据类型 139
5.3 jsp的内置对象 139
5.3.1 request对象 140
5.3.2 response对象 141
5.3.3 pagecontext对象 141
5.3.4 session对象 142
5.3.5 application对象 143
5.3.6 out对象 143
5.4 jsp技术应用 144
5.4.1 使用jsp操作cookie 144
5.4.2 利用缓存技术提高jsp性能 145
5.5 小结 146
第6章 servlet技术详解 147
本章首先对servlet进行简要的介绍,然后详细讲解servlet的生命周期,最后通过示例演示servlet的使用方法。
6.1 servlet技术简介 148
6.2 servlet的生命周期 150
6.2.1 加载servlet 150
6.2.2 初始化 150
6.2.3 处理请求 151
6.2.4 服务结束 151
6.3 filter技术 151
6.3.1 filter技术原理 151
6.3.2 filter示例 152
6.4 小结 153
第7章 jdbc技术详解 154
一般来讲,现在的java web开发已经很少直接使用jdbc进行数据库的相关操作了,一般都是自己对jdbc进行封装,或者直接使用开源的orm产品,但万变不离其宗,最终它们都离不开对jdbc的操作,因此了解jdbc的原理还是非常必要的。本章首先介绍jdbc的基础知识,然后通过示例讲解如何使用jdbc操作数据库,最后讲解事务管理和数据库连接池的相关知识。
7.1 jdbc概述 155
7.2 jdbc数据连接 155
7.2.1 jdbc数据连接示例 155
7.2.2 典型的jdbc数据连接的步骤 156
7.3 事务处理 159
7.3.1 事务处理概述 159
7.3.2 如何应用事务处理 159
7.4 jdbc技术应用 160
7.4.1 如何获取数据库表中的字段名和值 160
7.4.2 如何使用jndi 161
7.4.3 如何编写数据库连接池 162
7.5 小结 163
第三部分
第8章 ajax技术详解 165
近两年来,ajax逐渐成为一个炙手可热的名词,其良好的用户体验,得到人们越来越多的推崇。它整合了xmlhttprequest、javascript、dom、css、xml等众多技术,这一卓越的构想使得原来笨拙的web界面变得交互性实足。
本章从ajax的来源讲起,介绍ajax的工作原理、发展趋势和应用示例,然后分别介绍ajax的核心技术,最后介绍目前比较主流的ajax实现框架,并对此进行比较,目的是让读者真正明白什么是ajax,为什么要用ajax,以及使用ajax都要掌握哪些技术和哪些框架,来帮助开发人员快速应用ajax。
8.1 ajax概述 166
8.1.1 ajax的来源 166
8.1.2 ajax的工作原理 166
8.1.3 ajax的发展趋势 167
8.1.4 ajax的应用示例 168
8.2 ajax技术 169
8.2.1 xmlhttprequest技术 169
8.2.2 javascript(java脚本语言) 170
8.2.3 dom(文档对象模型) 172
8.2.4 css(层叠样式表单) 173
8.2.5 xml(可扩展标识语言) 174
8.3 ajax的主流框架 174
8.3.1 ext 174
8.3.2 prototype 176
8.3.3 dojo 177
8.3.4 dwr 178
8.3.5 gwt 179
8.3.6 buffalo 180
8.3.7 json-rpc 181
8.4 使用传统的web方式实现helloworld示例 182
8.4.1 编写jsp页面myhelloworldold.jsp 182
8.4.2 配置web.xml 183
8.4.3 编写servlet程序helloworldold.java 183
8.4.4 运行程序并查看输出结果 185
8.5 使用ajax方式实现helloworld示例 185
8.5.1 编写jsp页面myhelloworld.jsp 185
8.5.2 配置web.xml 187
8.5.3 编写servlet程序helloworld.java 187
8.5.4 运行程序并查看输出结果 189
8.6 两种实现方式对比分析 189
8.7 小结 189
第9章 struts 2技术详解 190
要学习java web开发技术,就绕不开开源框架struts,尽管现在spring比较流行,但struts仍然拥有大量的爱好者,特别是struts 2的发布,更是有了革命性的进步。本章首先对struts的基本情况和发展历史进行简要介绍,然后通过一个简单的示例让读者快速了解struts 2的使用方法,接下来着重讲解struts 2的特性,以加深认识。
9.1 struts 2介绍 191
9.2 struts 2的环境配置 191
9.2.1 下载struts 2 192
9.2.2 搭建struts 2的开发运行环境 193
9.3 struts 2入门示例 196
9.3.1 编写实现消息输出的helloworld.jsp页面 197
9.3.2 编写控制器helloworld.java 198
9.3.3 配置struts文档struts.xml和struts.properties 199
9.3.4 配置web.xml 200
9.3.5 测试运行该示例 201
9.4 struts 2的核心机制 201
9.4.1 filterdispatcher处理流程 202
9.4.2 struts 2的输入校验 205
9.4.3 struts 2的拦截机制 207
9.4.4 struts 2的国际化 211
9.4.5 struts 2的标签库 212
9.5 struts 2的配置文件 213
9.5.1 struts.properties 213
9.5.2 struts.xml 216
9.6 struts 2综合示例 218
9.6.1 档案管理系统的uml用例图 218
9.6.2 档案管理系统功能描述 218
9.6.3 描述系统的业务实体 225
9.6.4 组织系统的业务逻辑 227
9.6.5 档案存放位置实体的实现 228
9.6.6 档案基本信息实体的实现 230
9.6.7 档案借阅记录实体的实现 233
9.6.8 存放位置管理画面 238
9.6.9 档案管理画面 239
9.6.10 档案借阅记录管理画面 242
9.6.11 实现管理存放位置的功能 244
9.6.12 实现管理档案的功能 247
9.6.13 实现管理档案借阅记录的功能 253
9.6.14 实现struts的登录控制器类 258
9.6.15 编写配置文件 260
9.6.16 程序演示 264
9.7 小结 267
第10章 spring 2技术详解 268
如今在java web开发中,占据统治地位的无疑是spring框架了,它所具有的整合功能,使得它能很好地和其他框架结合使用,从而为java开发人员进行企业级的应用开发提供了一个一站式的解决方案。
本章首先讲解spring的历史和整体框架,然后建立spring的开发环境,接着通过一个入门的示例让读者建立起对spring开发的初步印象,最后讲解spring在事务处理、与其他框架整合方面的一些特性。
10.1 spring概述 269
10.1.1 spring简介 269
10.1.2 spring整体框架 269
10.2 spring的环境配置 270
10.2.1 下载spring 270
10.2.2 搭建spring的开发运行环境 273
10.3 spring入门示例 276
10.3.1 编写jsp页面helloworld.jsp 276
10.3.2 编写控制器helloworld.java 277
10.3.3 配置spring文档config.xml 279
10.3.4 配置web.xml 280
10.3.5 测试运行该示例 281
10.4 spring的核心机制 281
10.4.1 控制反转思想 281
10.4.2 分发器原理 285
10.5 spring的多动作控制器 288
10.5.1 多动作控制器的原理 289
10.5.2 多动作控制器的示例 291
10.6 spring综合示例 295
10.6.1 权限管理系统功能概述 295
10.6.2 业务实体设计 298
10.6.3 自动生成数据库表结构 303
10.6.4 dao模型的实现 314
10.6.5 业务逻辑功能实现 318
10.6.6 编写权限管理系统的jsp页面 322
10.6.7 编写spring的配置文件config.xml 326
10.6.8 测试运行该示例 330
10.7 小结 334
第11章 hibernate 3技术详解 335
hibernate是目前最流行的开源持久层框架,它对jdbc进行了非常轻量级的封装,使得开发人员可以使用面向对象的思想来设计数据库。
本章首先对hibernate进行简要介绍,并讲解它的下载和配置,然后重点讲解hibernate的核心类,以及对jpa的支持、映射关系和缓存机制,最后通过示例讲解如何将struts、spring和hibernate进行整合。
11.1 hibernate概述 336
11.1.1 hibernate简介 336
11.1.2 hibernate整体框架 336
11.2 hibernate的核心机制 339
11.2.1 hibernate的核心类 339
11.2.2 hibernate的主键介绍 340
11.3 hibernate对jpa的支持 341
11.3.1 jpa简介 341
11.3.2 persistence.xml详细配置 347
11.3.3 整合spring和jpa 347
11.4 hibernate的配置文件 349
11.4.1 hibernate的两种配置方式 349
11.4.2 配置数据库连接池 350
11.4.3 使用jndi 351
11.5 hibernate的关系映射 352
11.5.1 一对一映射 352
11.5.2 一对多和多对一映射 352
11.5.3 多对多映射 354
11.6 hibernate缓存机制 354
11.6.1 一级缓存 354
11.6.2 二级缓存 355
11.7 spring和hibernate整合示例 356
11.7.1 图书管理系统功能描述 356
11.7.2 spring和hibernate的整合方式 358
11.7.3 持久层功能的实现 363
11.7.4 实现对读者的管理功能 371
11.7.5 实现对图书的管理功能 372
11.7.6 实现维护借阅规则的功能 376
11.7.7 实现借阅和归还图书的功能 378
11.7.8 编写图书管理系统的jsp页面 383
11.7.9 编写配置文件config.xml 385
11.7.10 测试运行该示例 388
11.8 小结 392
第四部分
第12章 log4j使用指南 394
在log4j出现以前,在应用程序中添加日志记录最常用的做法就是在代码中添加打印语句,然后通过控制台或日志文件来观察变量的变化,或者跟踪代码运行的踪迹。现在,log4j是承担这个功能的最佳选择。本章首先简要介绍log4j,以及为什么要使用log4j,然后讲解如何下载和配置log4j,重点讲解log4j的使用方法。
12.1 log4j简介 395
12.1.1 log4j概述 395
12.1.2 为什么要使用log4j 396
12.2 建立log4j的开发环境 396
12.2.1 下载log4j 396
12.2.2 配置log4j 397
12.3 log4j的使用方法 397
12.3.1 log4j的基本使用方法 397
12.3.2 日志的输出格式 398
12.3.3 日志的输出位置 399
12.3.4 日志的优先级 400
12.4 小结 400
第13章 junit使用指南 401
junit是由 erich gamma 和 kent beck 编写的一个回归测试框架,使用起来非常简单,目前绝大多数开源框架都使用junit进行单元测试。本章首先对junit进行介绍并阐述为什么要使用junit,然后介绍junit的下载和安装、junit的使用方法,最后介绍junit的新特性。
13.1 为什么要进行单元测试 402
13.2 建立junit的开发环境 404
13.2.1 下载junit 404
13.2.2 配置junit 405
13.3 junit的使用方法 405
13.3.1 junit的基本使用方法 406
13.3.2 在spring中使用junit 408
13.3.3 junit与ant整合 409
13.4 小结 410
第14章 jfreechart使用指南 411
在java web开发中经常会用到图表,比如柱状图、饼图、条形图等,使用jfreechart可以很方便地生成这些图表。本章首先对jfreechart进行介绍,然后介绍jfreechart的下载和安装,最后介绍jfreechart的使用方法。
14.1 jfreechart概述 412
14.2 搭建jfreechart的开发环境.. 412
14.2.1 下载jfreechart 413
14.2.2 配置jfreechart 414
14.3 jfreechart的使用方法 414
14.3.1 jfreechart的核心类 414
14.3.2 用jfreechart生成柱状图 415
14.3.3 用jfreechart生成饼图 417
14.4 小结 419
第15章 dom4j使用指南 420
在当前的java web开发中,xml文件的使用越来越频繁,如何创建和解析xml文件就变得非常重要了,而dom4j就是一个非常好的读/写xml文件的工具。本章首先对dom4j进行介绍,并阐述为什么要使用dom4j,然后介绍dom4j的下载和安装,最后介绍dom4j的使用方法。
15.1 dom4j简介 421
15.2 建立dom4j的开发环境 421
15.2.1 下载dom4j 421
15.2.2 配置dom4j 423
15.3 dom4j的使用方法 424
15.3.1 dom4j的基本使用方法 424
15.3.2 dom4j使用示例 426
15.4 小结 428
第五部分
第16章 注册管理系统(jsp+javabean) 430
在struts和spring这些框架出现之前,第一代的java web开发技术就是jsp+javabean。采用这种技术组合开发速度非常快,但经常会造成代码逻辑混乱,后期维护困难。虽然现在新开发的项目基本没有人再使用这种技术组合,但作为最基本的技术,本章将通过注册管理系统简单地演示一下。
16.1 注册管理系统需求描述 431
16.1.1 注册功能 431
16.1.2 登录功能 431
16.1.3 查看注册用户列表功能 432
16.2 设计javabean 432
16.3 数据库设计 438
16.3.1 数据库表结构设计与建立 438
16.3.2 建立数据库连接辅助类 441
16.4 jsp页面实现 441
16.4.1 用户注册管理画面 441
16.4.2 登录画面 442
16.4.3 查看注册用户列表画面 442
16.5 程序演示 443
16.6 小结 445
第17章 新闻发布系统(jsp+servlet+dao) 446
每个企业都会用到新闻发布系统,对于企业内网来说,发布一些公司的新闻,以供内部员工了解公司的运营;对于企业外网来说,也可以让外部的客户了解企业的情况。
本章使用最基本的jsp+servlet+dao来实现一个简单的框架,实现和使用spring+jpa类似的功能,然后通过该框架实现新闻发布系统。
17.1 需求描述 447
17.2 功能预览 447
17.2.1 设定新闻类别功能 448
17.2.2 登录功能 448
17.2.3 登录成功后的选择功能 449
17.2.4 发布新闻功能 449
17.2.5 浏览新闻功能 450
17.3 采用jsp+servlet+dao+jdbc架构 450
17.3.1 设计视图层的架构 451
17.3.2 设计控制层的架构 451
17.3.3 设计模型层的架构 457
17.3.4 设计持久层的架构 458
17.4 系统设计 462
17.4.1 如何实现对数据库的操作 463
17.4.2 如何实现持久层的设计 463
17.4.3 如何实现新闻发布系统的业务逻辑 464
17.5 数据库设计 465
17.5.1 数据库表结构设计与建立 465
17.5.2 配置数据库连接 469
17.6 dao模型的实现 469
17.6.1 管理员dao的实现 470
17.6.2 新闻类别dao的实现 472
17.6.3 新闻dao的实现 474
17.7 编写新闻发布系统的业务逻辑类 477
17.7.1 管理管理员的业务逻辑实现 478
17.7.2 管理新闻类别的业务逻辑实现 480
17.7.3 管理新闻的业务逻辑实现 483
17.8 编写新闻发布系统的控制器类 487
17.8.1 管理员控制器类 487
17.8.2 新闻类别管理控制器类 488
17.8.3 发布浏览新闻控制器类 490
17.8.4 登录控制器类 494
17.9 前台页面的实现 495
17.9.1 新闻类别管理画面 495
17.9.2 发布新闻画面 497
17.9.3 登录画面 499
17.9.4 登录成功的画面 501
17.9.5 浏览新闻画面 502
17.10 编写配置文件newsrelease.xml 503
17.11 程序演示 504
17.12 小结 508
第18章 网上购物系统(ajax+struts+hibernate) 509
随着当当网、淘宝网的不断发展,越来越多的人开始在网上购物了。网上购物系统是如何实现的呢?本章就来讲解一下它的实现方式。ajax技术能够极大地提升用户的操作体验,因此本章采用ajax+struts+spring+jpa的方式实现网上购物系统,主要包括货物的维护与陈列、用户的浏览和购买,以及购物车的维护等基本功能。
18.1 系统概述 510
18.2 需求分析 510
18.2.1 购物者注册功能 511
18.2.2 对货物进行分类存放的功能 511
18.2.3 维护货物基本信息的功能 511
18.2.4 浏览购买货物的功能 512
18.2.5 管理购物车的功能 512
18.3 系统与架构设计 513
18.3.1 dwr和struts的整合方式 513
18.3.2 搭建开发环境 515
18.3.3 后台持久层设计 517
18.3.4 后台业务逻辑设计 518
18.4 构建数据库表结构 519
18.4.1 实现业务实体间的对应关系 519
18.4.2 配置数据连接文件 528
18.4.3 查看数据库表结构 528
18.5 后台持久层实现 529
18.5.1 购物者持久层实现 529
18.5.2 货物类别持久层实现 531
18.5.3 货物持久层实现 533
18.5.4 购物车持久层实现 534
18.6 后台业务逻辑的实现 536
18.6.1 管理购物者的功能实现 536
18.6.2 管理货物类别的功能实现 538
18.6.3 管理货物的功能实现 539
18.6.4 管理购物车的功能实现 540
18.7 编写网上购物系统的控制器类 542
18.7.1 货物类别管理控制器类 542
18.7.2 货物管理控制器类 544
18.7.3 购物车管理控制器类 545
18.7.4 登录验证的配置文件 549
18.8 前台jsp页面实现 552
18.8.1 采用dwr实现验证 552
18.8.2 货物类别管理画面 553
18.8.3 货物管理画面 554
18.8.4 浏览购买货物画面 556
18.8.5 修改购货记录画面 557
18.9 编写配置文件 559
18.10 程序演示 560
18.11 小结 563
第19章 用户管理系统(spring+hibernate) 564
所有的信息化系统都离不开对用户的管理,比如人事管理系统中需要对员工信息进行管理,学生管理系统中需要对学生信息进行管理,本章将采用spring+hibernate的整合来进行讲解。
本章的主要目的是使读者通过对spring+hibernate整合方法的学习,熟练地掌握这种组合方式,为后面的学习打下良好的基础。
19.1 需求的提出 565
19.2 需求分析 566
19.2.1 采用用例的方式分析需求 566
19.2.2 产生需求规格说明书 566
19.3 架构设计 570
19.3.1 用户管理系统采用的架构 570
19.3.2 在eclipse下建立项目usermanagement 570
19.3.3 配置本项目的web.xml文件 576
19.4 系统设计 577
19.4.1 实体域模型设计 577
19.4.2 dao模型设计 577
19.4.3 过程域模型设计 578
19.4.4 控制模型设计 579
19.4.5 视图模型设计 580
19.5 数据库设计 581
19.5.1 根据实体模型设计数据库表结构 581
19.5.2 根据数据库表生成对应的xml文件 584
19.5.3 根据xml文件生成持久化类 587
19.6 编写用户管理系统的dao 594
19.6.1 用户dao接口userdao.java 594
19.6.2 部门dao接口departmentdao.java 595
19.6.3 地址dao接口addressdao.java 595
19.6.4 联系电话dao接口phonedao.java 596
19.6.5 用户dao实现类userdaoimpl.java 596
19.6.6 部门dao实现类departmentdaoimpl.java 597
19.6.7 地址dao实现类addressdaoimpl.java 598
19.6.8 联系电话dao实现类phonedaoimpl.java 599
19.7 编写用户管理系统的业务逻辑类 600
19.7.1 管理用户接口userservice.java 600
19.7.2 管理部门接口departmentservice.java 601
19.7.3 管理地址接口addressservice.java 601
19.7.4 管理联系电话接口phoneservice.java 602
19.7.5 管理用户实现类userserviceimpl.java 602
19.7.6 管理部门实现类departmentserviceimpl.java 604
19.7.7 管理地址实现类addressserviceimpl.java 605
19.7.8 管理联系电话实现类phoneserviceimpl.java 607
19.8 编写用户管理系统的控制器类 608
19.8.1 登录控制器类logincontroller.java 608
19.8.2 用户管理控制器类usercontroller.java 610
19.9 编写用户管理系统的jsp页面 615
19.9.1 用户管理画面usermanagement.jsp 615
19.9.2 用户登录画面login.jsp 617
19.10 编写配置文件config.xml 618
19.11 程序演示 623
19.12 小结 625
第20章 留言簿管理系统(jsf+struts+spring) 626
在博客出现以前,论坛和留言簿是网站用来和浏览者交流的主要方式,本章就来探讨一下留言簿的实现原理。本章采用jsf作为视图层的实现技术,采用struts的控制器技术,采用spring来整合struts和jpa。
20.1 系统概述 627
20.2 需求分析 627
20.2.1 uml用例图 627
20.2.2 采用原型法进行分析 628
20.3 系统与架构设计 630
20.3.1 jsf和struts的整合方式 631
20.3.2 在eclipse下建立项目bbsmanagement 633
20.3.3 配置本项目的web.xml文件 633
20.3.4 持久层的设计 635
20.3.5 业务逻辑的设计 636
20.4 持久层设计与实现 637
20.4.1 数据模型设计 637
20.4.2 建立数据库表结构 644
20.4.3 留言内容的持久层实现 646
20.4.4 留言回复的持久层实现 647
20.5 前台jsp页面实现 649
20.5.1 发布留言内容管理画面 649
20.5.2 回复留言内容画面 650
20.5.3 浏览留言内容画面 651
20.5.4 使用jsf来实现画面 653
20.6 后台业务逻辑的实现 654
20.6.1 管理留言内容接口 654
20.6.2 管理留言回复接口 654
20.6.3 管理留言内容实现类 655
20.6.4 管理留言回复实现类 656
20.7 控制器类的实现 657
20.7.1 留言内容管理控制器类 657
20.7.2 留言回复管理控制器类 659
20.8 编写struts的配置文件struts.xml 662
20.9 编写spring的配置文件config.xml 663
20.10 程序演示 665
20.11 小结 667
第21章 网上考试系统(struts+spring+hibernate+jpa) 668
网上考试系统主要包括试题的维护、试卷的生成、参加考试,以及查看考试成绩等功能,本章按照标准的软件开发过程来进行,以使读者能够从头到尾了解整个网上考试系统的开发过程。
21.1 需求的提出 669
21.2 需求分析 670
21.2.1 组合试卷功能 670
21.2.2 维护试题题目功能 671
21.2.3 维护试题项目功能 672
21.2.4 参加考试自动评分功能 673
21.2.5 查看考试结果功能 674
21.3 架构选择 675
21.3.1 是否应该采用ajax或jsf 675
21.3.2 搭建和配置开发环境 676
21.3.3 网上考试系统的目录结构 676
21.4 系统设计 677
21.4.1 业务实体和持久层设计 677
21.4.2 业务逻辑和控制层设计 678
21.4.3 视图层设计 679
21.5 建立数据库表逻辑结构 681
21.5.1 业务实体的实现 681
21.5.2 配置生成数据库的相关文件 686
21.5.3 根据实体自动生成数据库表结构 687
21.6 dao模型实现 688
21.6.1 试卷基本信息dao 688
21.6.2 试题题目dao 690
21.6.3 试题项目dao 691
21.7 业务逻辑实现 692
21.7.1 添加试卷基本信息的业务逻辑 692
21.7.2 修改试卷基本信息的业务逻辑 696
21.7.3 删除试卷基本信息的业务逻辑 696
21.7.4 添加试题题目的业务逻辑 697
21.7.5 修改试题题目的业务逻辑 701
21.7.6 删除试题题目的业务逻辑 701
21.7.7 添加试题项目的业务逻辑 702
21.7.8 修改试题项目的业务逻辑 705
21.7.9 删除试题项目的业务逻辑 705
21.7.10 产生试卷的业务逻辑 706
21.7.11 自动评分的业务逻辑 706
21.8 编写网上考试系统的jsp页面 707
21.8.1 试卷基本信息管理画面 708
21.8.2 试题题目管理画面 709
21.8.3 试题项目管理画面 711
21.8.4 参加考试画面 712
21.8.5 查看考试成绩画面 714
21.9 编写struts的配置文件struts.xml 715
21.10 编写spring的配置文件config.xml 716
21.11 程序演示 718
21.12 小结... 721
实战Ajax, JSP, Struts 2, Spring, Hibernate
- 名称
- 类型
- 大小
光盘服务联系方式: 020-38250260 客服QQ:4006604884
云图客服:
用户发送的提问,这种方式就需要有位在线客服来回答用户的问题,这种 就属于对话式的,问题是这种提问是否需要用户登录才能提问
Video Player
×
Audio Player
×
pdf Player
×
亲爱的云图用户,
光盘内的文件都可以直接点击浏览哦
无需下载,在线查阅资料!