第1章 J2EE快速入门 1
1.1 J2EE概述 2
1.1.1 J2EE的来源 2
1.1.2 J2EE整体框架 3
1.1.3 从J2EE到JavaEE 3
1.2 J2EE组件 5
1.2.1 客户端组件 5
1.2.2 Web组件 5
1.2.3 业务逻辑组件 5
1.3 J2EE容器 5
1.3.1 容器服务 6
1.3.2 容器类型 6
1.4 J2EE核心技术 6
1.4.1 Servlet 7
1.4.2 JSP(Java服务页面) 8
1.4.3 EJB(企业JavaBean) 9
1.4.4 JDBC(Java数据库连接) 9
1.4.5 JTA/JTS(Java事务) 10
1.4.6 JNDI(Java命名和目录服务) 11
1.4.7 JavaMail(Java邮件服务) 11
1.4.8 RMI(远程方法调用) 11
1.4.9 JMS(Java消息服务) 12
1.4.10 JMX(Java分布式管理) 12
1.4.11 JACC(Java容器授权合同) 12
1.4.12 JCA(Java连接器体系) 12
1.5 小结 13
第2章 使用MVC更好地实现J2EE 14
2.1 MVC模式概述 15
2.1.1 MVC模式的设计思想 15
2.1.2 MVC模式的处理过程 16
2.2 Model规范概述 17
2.2.1 Model1简介 17
2.2.2 Model2简介 17
2.3 使用MVC的优劣 18
2.3.1 使用MVC模式的优点 18
2.3.2 使用MVC模式的劣势 18
2.4 小结 19
第3章 建立Java的开发平台 20
3.1 建立Java的开发环境 21
3.1.1 下载JDK 21
3.1.2 安装JDK 23
3.1.3 设定Path,CLASSPATH和JAVA_HOME 25
3.2 验证JDK是否安装成功 26
3.3 建立J2EE的开发环境 26
3.3.1 下载SDK 26
3.3.2 安装SDK 29
3.3.3 设定Path,CLASSPATH和J2EE_HOME 31
3.4 小结 32
第4章 Tomcat使用指南 33
4.1 Tomcat简介 34
4.1.1 Tomcat的目录结构 34
4.1.2 Tomcat的配置参数 34
4.2 建立Tomcat的开发环境 37
4.2.1 下载Tomcat 37
4.2.2 设定TOMCAT_HOME 38
4.3 验证Tomcat是否安装成功 38
4.4 创建和发布Web应用程序 41
4.4.1 创建和发布JSP应用程序 41
4.4.2 创建和发布Servlet应用程序 44
4.5 小结 46
第5章 Eclipse使用指南 47
5.1 Eclipse简介 48
5.1.1 Eclipse的历史 48
5.1.2 Eclipse的运行机制 48
5.2 建立Eclipse的开发环境 48
5.2.1 下载Eclipse 48
5.2.2 配置Eclipse 49
5.3 整合Eclipse和Tomcat 50
5.3.1 下载Eclipse的Tomcat插件 50
5.3.2 为Eclipse配置Tomcat插件 50
5.4 使用Eclipse建立Web开发项目 52
5.5 Eclipse的常用快捷键 56
5.5.1 有关格式化的快捷键 56
5.5.2 有关调试的快捷键 56
5.5.3 有关重构的快捷键 57
5.6 小结 57
第6章 Log4j使用指南 58
6.1 Log4j介绍 59
6.1.1 Log4j历史 59
6.1.2 Log4j组成 59
6.2 建立Log4j的开发环境 60
6.2.1 下载Log4j 60
6.2.2 配置Log4j 61
6.3 Log4j的使用方法 61
6.3.1 配置Log4j 61
6.3.2 配置根Logger 62
6.3.3 指定日志输出位置 63
6.3.4 指定日志输出格式 64
6.3.5 指定日志输出优先级 65
6.3.6 在代码中使用Log4j 65
6.4 改进Log4j 65
6.5 小结 67
第7章 Ant使用指南 68
7.1 Ant介绍 69
7.1.1 Ant简介 69
7.1.2 为什么要使用Ant 69
7.2 建立Ant的开发环境 71
7.2.1 下载Ant 71
7.2.2 配置Ant 72
7.3 Ant的使用方法 73
7.3.1 Ant能完成的工作 73
7.3.2 配置文件build.xml 73
7.3.3 编译源代码 75
7.3.4 创建JAR文件 76
7.4 小结 76
第8章 JUnit使用指南 77
8.1 JUnit介绍 78
8.1.1 JUnit简介 78
8.1.2 为什么要使用JUnit 78
8.2 建立JUnit的开发环境 79
8.2.1 下载JUnit 79
8.2.2 配置JUnit 79
8.3 JUnit的使用方法 81
8.3.1 继承TestCase 81
8.3.2 编写测试方法 83
8.3.3 编写断言 84
8.4 JUnit的新特性 89
8.4.1 改变测试方法的命名方式 89
8.4.2 不再继承TestCase 89
8.4.3 改变初始化和销毁方式 90
8.4.4 改变异常处理的方式 91
8.5 小结 93
第9章 CVS使用指南 94
9.1 CVS介绍 95
9.1.1 CVS简介 95
9.1.2 为什么要使用CVS 95
9.2 建立CVS的开发环境 95
9.2.1 下载CVS 95
9.2.2 配置CVS 97
9.3 CVS的使用方法 99
9.3.1 添加CVS资源库 100
9.3.2 提交和更新代码 104
9.4 小结 106
第10章 使用Spring快速实现Web开发 107
10.1 Spring介绍 108
10.1.1 Spring简介 108
10.1.2 下载Spring 109
10.1.3 配置Spring 111
10.2 Spring核心思想 111
10.2.1 反向控制(IoC) 111
10.2.2 依赖注入(DI) 115
10.3 利用Spring在JSP页面输出“HelloWorld”的示例 117
10.3.1 建立myHelloWorld工程 117
10.3.2 编写JSP页面helloWorld.jsp 120
10.3.3 编写控制器HelloWorldController.java 121
10.3.4 建立Spring的配置文档dispatcherServlet-servlet.xml 121
10.3.5 配置web.xml 122
10.3.6 启动Tomcat运行程序 123
10.4 Spring的视图(View) 124
10.4.1 视图简介 124
10.4.2 视图解析 128
10.5 Spring的控制器(Controller) 132
10.5.1 Controller接口 132
10.5.2 命令控制器(BaseCommandController) 135
10.5.3 表单控制器(SimpleFormController) 142
10.5.4 多动作控制器(MultiActionController) 145
10.6 Spring的视图映射机制 157
10.6.1 分发器(DispatcherServlet) 157
10.6.2 视图映射 172
10.7 Spring的模型(Model) 173
10.7.1 模型简介 173
10.7.2 模型封装 175
10.8 小结 176
第11章 使用Struts快速实现Web开发 177
11.1 Struts介绍 178
11.1.1 Struts简介 178
11.1.2 Struts和Spring比较 178
11.1.3 下载Struts 179
11.1.4 配置Struts 180
11.2 Struts的核心 183
11.2.1 ActionServlet(分发器) 184
11.2.2 Action(控制器) 202
11.2.3 Action Mapping(映射) 206
11.2.4 ActionForm(表单控制器) 210
11.2.5 ActionErrors(错误处理) 215
11.2.6 DispatchAction(多动作控制器) 216
11.3 利用Struts实现用户登录的示例 222
11.3.1 编写实现登录的页面login.jsp 222
11.3.2 编写存储登录用户信息的类User.java 222
11.3.3 编写控制器LoginAction.java 223
11.3.4 配置Struts文档struts-config.xml 224
11.3.5 配置web.xml 224
11.3.6 启动Tomcat运行示例 225
11.4 整合Spring和Struts 226
11.4.1 Spring和Struts的整合方式 226
11.4.2 编写实现登录的页面regedit.jsp 238
11.4.3 编写存储登录用户信息的类User.java 239
11.4.4 编写控制器RegeditAction.java 239
11.5 小结 243
第12章 使用Hibernate快速实现持久层处理 244
12.1 Hibernate介绍 245
12.1.1 Hibernate简介 245
12.1.2 下载Hibernate 245
12.1.3 配置Hibernate 248
12.2 Hibernate的核心 252
12.2.1 Configuration(配置Connection) 252
12.2.2 SessionFactory(Connection工厂) 269
12.2.3 Session(提供Connection) 271
12.3 使用Hibernate操作数据库的示例 276
12.3.1 创建数据库表 276
12.3.2 编写表对应的JavaBean 279
12.3.3 编写JavaBean对应的xml 279
12.3.4 编写Hibernate的配置文件 282
12.3.5 编写并验证测试程序 284
12.4 Hibernate的配置文件 286
12.4.1 Hibernate的两种配置方式 286
12.4.2 配置数据库连接池 287
12.4.3 使用JNDI 288
12.5 使用Hibernate的工具快速生成映射文件和POJO 289
12.5.1 使用MiddleGen根据数据库产生映射文件 289
12.5.2 使用hbm2java根据映射文件产生POJO 297
12.6 整合Struts,Spring和Hibernate实现用户管理 299
12.6.1 Struts,Spring和Hibernate的整合方式 300
12.6.2 编写用户注册画面regedit.jsp 303
12.6.3 编写用户登录画面login.jsp 303
12.6.4 编写注册控制器RegeditAction.java 304
12.6.5 编写登录控制器LoginAction.java 304
12.6.6 建立数据库表 305
12.6.7 生成映射文件User.hbm.xml 305
12.6.8 生成POJO 306
12.6.9 编写注册的业务逻辑接口Regedit.java 308
12.6.10 编写注册的业务逻辑类RegeditImpl.java 309
12.6.11 编写登录的业务逻辑接口Login.java 310
12.6.12 编写登录的业务逻辑类LoginImpl.java 311
12.6.13 编写用户接口UserDAO.java 312
12.6.14 编写用户实现类UserDAOImpl.java 314
12.6.15 编写Struts的配置文件struts-config.xml 316
12.6.16 编写Spring和Hibernate的配置文件spring-config.xml 317
12.6.17 编写web.xml 318
12.6.18 验证示例 319
12.7 小结 321
第13章 网上调查系统 322
13.1 系统概述 323
13.2 需求分析 324
13.2.1 系统用例图 324
13.2.2 需求规格说明书 324
13.3 系统设计 329
13.3.1 设计视图层 329
13.3.2 设计持久层 348
13.3.3 设计业务逻辑层 359
13.3.4 设计控制层 360
13.4 架构设计和环境搭配 361
13.4.1 网上调查系统采用的架构 361
13.4.2 在Eclipse下建立项目mySurvey 361
13.4.3 编写本项目的Ant build文件 366
13.4.4 配置本项目的web.xml文件 367
13.5 编写网上调查系统的JSP页面 368
13.5.1 用户注册页面regedit.jsp 368
13.5.2 用户登录页面login.jsp 369
13.5.3 设定调查题目的页面surveyName.jsp 370
13.5.4 设定调查项目的页面surveyOption.jsp 372
13.5.5 设定调查子项目的页面surveyChildOption.jsp 373
13.5.6 填写调查的页面survey.jsp 375
13.5.7 查看调查结果的页面surveyOK.jsp 376
13.6 根据数据库表生成XML和POJO 377
13.6.1 生成对应的XML 378
13.6.2 生成POJO 392
13.7 编写网上调查系统的DAO 400
13.7.1 用户DAO接口UserDAO.java 400
13.7.2 调查题目DAO接口SurveyDAO.java 401
13.7.3 调查项目DAO接口SurveyOptionDAO.java 401
13.7.4 调查子项目DAO接口SurveyChildDAO.java 401
13.7.5 调查结果DAO接口SurveyChildCountDAO.java 402
13.7.6 用户DAO实现类UserDAOImpl.java 402
13.7.7 调查题目DAO实现类SurveyDAOImpl.java 403
13.7.8 调查项目DAO实现类SurveyOptionDAOImpl.java 404
13.7.9 调查子项目DAO实现类SurveyChildDAOImpl.java 405
13.7.10 调查结果DAO实现类SurveyChildCountDAOImpl.java 406
13.8 编写网上调查系统的业务逻辑类 407
13.8.1 注册接口Regedit.java 407
13.8.2 登录接口Login.java 407
13.8.3 设定调查题目接口SetSurvey.java 407
13.8.4 设定调查项目接口SetSurveyOption.java 408
13.8.5 设定调查子项目接口SetSurveyChild.java 408
13.8.6 统计调查结果接口SetSurveyChildCount.java 409
13.8.7 注册实现类RegeditImpl.java 409
13.8.8 登录实现类LoginImpl.java 410
13.8.9 设定调查题目实现类SetSurveyImpl.java 411
13.8.10 设定调查项目实现类SetSurveyOptionImpl.java 412
13.8.11 设定调查子项目实现类SetSurveyChildImpl.java 413
13.8.12 统计调查结果实现类SetSurveyChildCountImpl.java 413
13.9 编写网上调查系统的控制器类 414
13.9.1 登录控制器类LoginAction.java 414
13.9.2 注册控制器类RegeditAction.java 416
13.9.3 设定调查题目控制器类SurveyAction.java 417
13.9.4 设定调查项目控制器类SetSurveyAction.java 418
13.10 编写配置文件dispatcherServlet-servlet.xml 427
13.11 运行验证程序 433
13.12 小结 437
第14章 内容管理系统 438
14.1 系统概述 439
14.2 需求分析 440
14.2.1 系统用例图 440
14.2.2 需求规格说明书 440
14.3 系统设计 444
14.3.1 设计视图层 444
14.3.2 设计持久层 451
14.3.3 设计业务逻辑层 459
14.3.4 设计控制层 459
14.4 架构设计和环境搭配 460
14.4.1 内容管理系统采用的架构 460
14.4.2 在Eclipse下建立项目myEdition 460
14.4.3 编写本项目的Ant build文件 464
14.4.4 配置本项目的web.xml文件 465
14.5 编写内容管理系统的JSP页面 465
14.5.1 用户注册页面regedit.jsp 466
14.5.2 用户登录页面login.jsp 466
14.5.3 设定内容类别的页面type.jsp 467
14.5.4 发布内容页面edit.jsp 468
14.5.5 浏览内容页面index.jsp 470
14.6 根据数据库表生成XML和POJO 471
14.6.1 生成对应的XML 471
14.6.2 生成POJO 482
14.7 编写内容管理系统的DAO 487
14.7.1 用户DAO接口UserDAO.java 487
14.7.2 内容类别DAO接口ContentTypeDAO.java 488
14.7.3 内容DAO接口ContentDAO.java 488
14.7.4 用户DAO实现类UserDAOImpl.java 489
14.7.5 内容类别DAO实现类ContentTypeDAOImpl.java 489
14.7.6 内容DAO实现类ContentDAOImpl.java 490
14.8 编写内容管理系统的业务逻辑类 491
14.8.1 注册接口Regedit.java 491
14.8.2 登录接口Login.java 492
14.8.3 设定内容类别的接口SetContentType.java 492
14.8.4 发布接口Edit.java 492
14.8.5 注册实现类RegeditImpl.java 493
14.8.6 登录实现类LoginImpl.java 494
14.8.7 设定内容类别的实现类SetContentTypeImpl.java 494
14.8.8 发布实现类EditImpl.java 495
14.9 编写内容管理系统的控制器类 496
14.9.1 登录控制器类LoginAction.java 496
14.9.2 注册控制器类RegeditAction.java 498
14.9.3 设定内容类别的控制器类ContentTypeAction.java 498
14.9.4 发布控制器类EditAction.java 499
14.9.5 内容控制器类ContentAction.java 501
14.9.6 浏览内容的控制器类IndexAction.java 501
14.10 编写Struts的配置文件struts-config.xml 503
14.11 编写Spring和Hibernate的配置文件spring-config.xml 504
14.12 解决Struts的中文乱码问题 507
14.13 运行验证程序 509
14.14 小结 512
第15章 在线考试系统 513
15.1 系统概述 514
15.2 需求分析 515
15.2.1 系统用例图 515
15.2.2 需求规格说明书 515
15.3 系统设计 520
15.3.1 设计视图层 520
15.3.2 设计持久层 531
15.3.3 设计业务逻辑层 540
15.3.4 设计控制层 541
15.4 架构设计和环境搭配 541
15.4.1 在线考试系统采用的架构 542
15.4.2 在Eclipse下建立项目myExam 542
15.4.3 编写本项目的Ant build文件 545
15.4.4 配置本项目的web.xml文件 546
15.5 编写在线考试系统的JSP页面 548
15.5.1 用户注册页面regedit.jsp 548
15.5.2 用户登录页面login.jsp 549
15.5.3 设定试题种类的页面shitiType.jsp 549
15.5.4 设定试题基本信息的页面shiti.jsp 550
15.5.5 设定试题项目的页面shitiOption.jsp 552
15.5.6 组织试卷的页面examInfo.jsp 554
15.5.7 参加考试的页面exam.jsp 555
15.5.8 考试成绩的页面examChengji.jsp 557
15.6 根据数据库表生成XML和POJO 558
15.6.1 生成对应的XML 558
15.6.2 生成POJO 571
15.7 编写在线考试系统的DAO 580
15.7.1 用户DAO接口UserDAO.java 580
15.7.2 试题种类DAO接口ShitiTypeDAO.java 581
15.7.3 试题题目DAO接口ShitiDAO.java 581
15.7.4 试题项目DAO接口ShitiOptionDAO.java 582
15.7.5 试卷DAO接口ExamDAO.java 582
15.7.6 用户DAO实现类UserDAOImpl.java 582
15.7.7 试题种类DAO实现类ShitiTypeDAOImpl.java 583
15.7.8 试题题目DAO实现类ShitiDAOImpl.java 584
15.7.9 试题项目DAO实现类ShitiOptionDAOImpl.java 585
15.7.10 试卷DAO实现类ExamDAOImpl.java 586
15.8 编写在线考试系统的业务逻辑类 587
15.8.1 注册接口Regedit.java 587
15.8.2 登录接口Login.java 588
15.8.3 设定试题种类接口SetShitiType.java 588
15.8.4 设定试题题目接口SetShiti.java 588
15.8.5 设定试题项目接口SetShitiOption.java 589
15.8.6 设定试卷接口SetExam.java 589
15.8.7 注册实现类RegeditImpl.java 590
15.8.8 登录实现类LoginImpl.java 591
15.8.9 设定试题种类实现类SetShitiTypeImpl.java 591
15.8.10 设定试题题目实现类SetShitiImpl.java 592
15.8.11 设定试题项目实现类SetShitiOptionImpl.java 593
15.8.12 设定试卷实现类SetExamImpl.java 594
15.9 编写在线考试系统的控制器类 595
15.9.1 登录控制器类LoginAction.java 595
15.9.2 注册控制器类RegeditAction.java 597
15.9.3 设定试题种类控制器类ShitiTypeAction.java 598
15.9.4 设定试题题目控制器类ShitiAction.java 598
15.9.5 设定试题项目控制器类ShitiOptionAction.java 600
15.9.6 试卷控制器类ExamAction.java 602
15.10 编写配置文件dispatcherServlet-servlet.xml 606
15.11 解决Spring的中文乱码问题 613
15.12 运行验证程序 615
15.13 小结 620
第16章 信息发布系统 621
16.1 系统概述 622
16.2 需求分析 622
16.2.1 系统功能模块划分 622
16.2.2 系统流程分析 623
16.2.3 系统设计 623
16.3 建立项目 624
16.3.1 在MyEclipse下建立项目 624
16.3.2 编写Ant文件 628
16.3.3 配置Web.xml文件 629
16.4 建立数据库表 630
16.4.1 存放用户信息的数据库表 631
16.4.2 存放信息的数据库表 632
16.4.3 存放信息类别的数据库表 634
16.4.4 存放用户权限的数据库表 636
16.4.5 建立表之间的关系 637
16.5 设计信息发布系统 640
16.5.1 生成对应的Hibernate映射文件 640
16.5.2 生成持久化POJO文件 650
16.5.3 设计值对象类VO对象 658
16.5.4 信息发布系统在持久层的整体UML图 662
16.5.5 初步设计原型静态页面 662
16.6 显示层设计 669
16.6.1 显示信息的页面show.jsp 669
16.6.2 发布信息页面release.jsp 671
16.6.3 用户注册页面regedit.jsp 672
16.6.4 登录页面login.jsp 673
16.6.5 错误处理的页面error.jsp 673
16.7 编写值对象VO和DAO层 674
16.7.1 用户类 675
16.7.2 用户权限类 676
16.7.3 信息类 676
16.7.4 信息类别类 678
16.7.5 开发用户DAO接口 678
16.7.6 开发信息DAO接口 678
16.7.7 信息类别DAO接口 679
16.7.8 实现用户DAO接口 679
16.7.9 实现信息DAO接口 680
16.7.10 实现信息类别DAO接口 681
16.8 开发业务逻辑层 682
16.8.1 开发登录接口 682
16.8.2 开发注册用户接口 683
16.8.3 开发发布接口 683
16.8.4 开发登录实现类 683
16.8.5 开发注册实现类 684
16.8.6 开发发布实现类 685
16.9 开发控制器层 686
16.9.1 开发用户登录控制器类 687
16.9.2 开发用户注册控制器类 688
16.9.3 开发信息发布控制器类 689
16.9.4 开发显示信息控制器类 691
16.10 编写辅助工具类 692
16.11 编写Spring配置文件 699
16.12 测试本项目程序 703
16.13 小结 708