描述
开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787302463108丛书名: 全国高等院校应用型创新规划教材·计算机系列
本书以技术需求为导向,以技术应用为核心,以开发模式为主线,以应用开发为重点,以能力提升为目标,遵循案例教学、任务驱动与项目驱动的思想,结合教学规律与开发规范,按照由浅入深、循序渐进的原则,精心设计,合理安排,全面介绍了基于Java EE的企业级应用开发的关键技术、流行框架、主要模式、实施要点与方法步骤。全书实例翔实、案例丰富、编排合理、循序渐进、结构清晰,共分为10章,包括Java EE概述、JSP基础、JDBC技术、JavaBean技术、Servlet技术、Struts 2框架、Hibernate框架、Spring框架、Ajax应用与Web应用案例。各章均有”本章要点””学习目标”与”本章小结”,既便于抓住重点、明确目标,也利于温故而知新。书中的诸多内容均设有相应的”说明””注意””提示”等知识点,以便于读者的理解与提高,并为其带来”原来如此””豁然开朗”的美妙感觉。此外,各章均安排有相应的思考题,以便于读者的及时回顾与检测。书末还附有全面的实验指导,以便于读者的上机实践。
本书内容全面,结构清晰,语言流畅,通俗易懂,准确严谨,颇具特色,集系统性、条理性、针对性于一身,融资料性、实用性、技巧性于一体,注重应用开发能力的培养,可充分满足课程教学的实际需要,适合各个层面、各种水平的读者,既可作为各高校本科或高职高专计算机、电子商务、信息管理与信息系统及相关专业软件开发技术课程的教材或教学参考书,也可作为Java EE应用开发与维护人员的技术参考书以及初学者的自学教程。
本书所有示例的代码均已通过调试,并能成功运行,其开发环境为Windows 7、JDK 1.7.0_51、Tomcat 7.0.50、MyEclipse 10.7.1与SQL Server 2008。
本书以技术需求为导向,以技术应用为核心,以开发模式为主线,以应用开发为重点,以能力提升为目标,全面介绍了基于Java EE的企业级应用开发的关键技术、流行框架、主要模式、实施要点与方法步骤。全书共10章,包括Java EE概述、JSP基础、JDBC技术、JavaBean技术、Servlet技术、Struts 2框架、Hibernate框架、Spring框架、Ajax应用与Web应用案例等内容,并附有相应的思考题与实验指导。
本书内容全面、实例翔实、案例丰富,注重应用开发能力的培养,可作为各高校本科或高职高专计算机、电子商务、信息管理与信息系统及相关专业软件开发技术课程的教材或教学参考书,也可作为Java EE应用开发与维护人员的技术参考书以及初学者的自学教程。
本书所有示例的代码均已通过调试,并能成功运行,其开发环境为Windows7、JDK 1.7.0_51、Tomcat 7.0.50、MyEclipse 10.7.1与SQL Server 2008。
目 录
第1章 Java EE概述…. 1
1.1
Java EE简介… 2
1.2
Java Web应用开发的
主要技术与框架… 3
1.3
Java Web应用开发环境的搭建… 4
1.3.1 JDK的安装与配置… 4
1.3.2 Tomcat的安装与配置… 7
1.3.3 MyEclipse的安装与配置… 10
1.3.4 SQL Server的安装与配置… 15
1.4
Java Web项目的创建与部署… 19
1.5
Java Web项目的导出、删除与导入… 23
本章小结… 25
思考题… 25
第2章 JSP基础…. 27
2.1
JSP简介… 28
2.2
JSP基本语法… 29
2.2.1 声明… 29
2.2.2 表达式… 29
2.2.3 脚本小程序… 30
2.2.4 JSP指令标记… 32
2.2.5 JSP动作标记… 35
2.2.6 JSP注释… 40
2.3
JSP内置对象… 42
2.3.1 out对象… 42
2.3.2 request对象… 44
2.3.3 response对象… 49
2.3.4 session对象… 55
2.3.5 application对象… 57
2.3.6 exception对象… 62
2.3.7 page对象… 63
2.3.8 config对象… 65
2.3.9 pageContext对象… 66
2.4
JSP应用案例… 68
2.4.1 系统登录… 68
2.4.2 简易聊天室… 71
本章小结… 74
思考题… 74
第3章 JDBC技术…. 77
3.1
JDBC简介… 78
3.2 JDBC的核心类与接口… 78
3.2.1 DriverManager类… 79
3.2.2 Driver接口… 79
3.2.3 Connection接口… 80
3.2.4 Statement接口… 81
3.2.5 PreparedStatement接口… 83
3.2.6
CallableStatement接口… 84
3.2.7 ResultSet接口… 85
3.3 JDBC基本应用… 87
3.4
JDBC应用案例… 97
3.4.1 系统登录… 97
3.4.2 数据添加… 99
3.4.3 数据维护… 102
本章小结… 116
思考题… 116
第4章 JavaBean技术…. 117
4.1 JavaBean简介… 118
4.2 JavaBean的规范… 118
4.3 JavaBean的创建… 119
4.4 JavaBean的使用… 120
4.4.1 动作标记… 120
4.4.2 动作标记… 121
4.4.3 动作标记… 121
4.5 JavaBean的应用案例… 125
4.5.1 系统登录… 125
4.5.2 数据添加… 128
4.5.3 数据维护… 131
本章小结… 132
思考题… 132
第5章 Servlet技术…. 133
5.1
Servlet简介… 134
5.2 Servlet的技术规范… 136
5.3 Servlet的创建与配置… 136
5.3.1
Servlet的创建… 136
5.3.2 Servlet的配置… 140
5.4
Servlet的基本应用… 142
5.5
Servlet的应用案例… 148
5.5.1 系统登录… 148
5.5.2 数据添加… 150
本章小结… 153
思考题… 153
第6章 Struts 2框架…. 155
6.1
Struts 2概述… 156
6.2
Struts 2基本应用… 157
6.2.1 Struts 2开发包… 157
6.2.2 Struts 2基本用法… 158
6.2.3 Struts 2核心过滤器的配置… 164
6.2.4 Struts 2 Action的实现… 166
6.2.5 Struts 2 Action的配置… 168
6.3
Struts 2拦截器… 176
6.3.1 拦截器的实现… 176
6.3.2 拦截器的配置… 177
6.4
Struts 2 OGNL. 181
6.4.1 OGNL表达式… 181
6.4.2 OGNL集合… 183
6.5
Struts 2标签库… 184
6.5.1 数据标签… 184
6.5.2 控制标签… 189
6.5.3 表单标签… 193
6.5.4 非表单标签… 199
6.6
Struts 2数据验证… 199
6.6.1 数据校验… 199
6.6.2 校验框架… 201
6.7
Struts 2文件上传… 206
6.7.1 单文件上传… 206
6.7.2 多文件上传… 208
6.8
Struts 2文件下载… 211
6.9
Struts 2应用案例… 213
6.9.1 系统登录… 213
6.9.2 数据添加… 215
本章小结… 223
思考题… 223
第7章 Hibernate框架…. 225
7.1
Hibernate概述… 226
7.1.1 ORM简介… 226
7.1.2 Hibernate体系结构… 227
7.2 Hibernate基本应用… 227
7.2.1
Hibernate基本用法… 227
7.2.2 Hibernate相关文件… 233
7.3 Hibernate核心接口… 240
7.3.1 Configuration接口… 240
7.3.2 SessionFactory接口… 240
7.3.3 Session接口… 240
7.3.4 Transaction接口… 241
7.3.5 Query接口… 241
7.4
HQL基本用法… 241
7.4.1 HQL查询… 242
7.4.2 HQL更新… 243
7.4.3 HQL语句的执行… 243
7.5 Hibernate对象状态… 247
7.5.1 瞬时态… 247
7.5.2 持久态… 247
7.5.3 脱管态… 248
7.6 Hibernate批量处理… 248
7.6.1 批量插入… 248
7.6.2 批量修改… 251
7.6.3 批量删除… 253
7.7 Hibernate事务管理… 254
7.7.1 事务的基本概念… 254
7.7.2 基于JDBC的事务管理… 254
7.7.3 基于JTA的事务管理… 256
7.8 Hibernate应用案例… 257
7.8.1 数据查询… 257
7.8.2 系统登录… 262
7.9
Hibernate与Struts 2整合应用… 266
本章小结… 269
思考题… 269
第8章 Spring框架…. 271
8.1 Spring概述… 272
8.2 Spring基本应用… 274
8.2.1 工厂模式… 274
8.2.2 Spring基本用法… 276
8.2.3 Spring依赖注入… 278
8.3
Spring关键配置… 281
8.3.1 Bean的基本定义… 282
8.3.2 Bean的依赖配置… 282
8.3.3 Bean的别名设置… 287
8.3.4 Bean的作用域设置… 288
8.3.5 Bean的生命周期方法设置… 290
8.4 Spring核心接口… 292
8.4.1 BeanFactory. 293
8.4.2 ApplicationContext 294
8.5 Spring AOP. 295
8.5.1 AOP简介… 295
8.5.2 AOP的相关术语… 295
8.5.3 AOP的实现机制… 296
8.5.4
Spring AOP的基本应用… 301
8.6
Spring事务支持… 305
8.6.1 使用TransactionProxyFactoryBean
创建事务代理… 306
8.6.2 使用Bean继承配置事务
代理… 307
8.6.3 使用BeanNameAutoProxyCreator
自动创建事务代理… 309
8.6.4 使用DefaultAdvisorAutoProxyCreator
自动创建事务代理… 310
8.7
Spring与Struts 2的整合应用… 311
8.8 Spring与Hibernate的整合应用… 314
8.9
Spring与Struts 2、Hibernate的
整合应用… 321
本章小结… 325
思考题… 325
第9章 Ajax应用…. 327
9.1
Ajax简介… 328
9.1.1 Ajax的基本概念… 328
9.1.2 Ajax的应用场景… 328
9.2
Ajax应用基础… 330
9.2.1 XMLHttpRequest对象简介… 330
9.2.2 Ajax的请求与响应过程… 331
9.2.3 Ajax的基本应用… 332
9.3
Ajax开源框架DWR.. 335
9.3.1 DWR简介… 335
9.3.2 DWR的工作原理… 335
9.3.3 DWR的基本应用… 336
9.3.4 DWR与Struts 2、Spring、
Hibernate的整合应用… 338
本章小结… 344
思考题… 344
第10章 Web应用案例…. 347
10.1
系统简介… 348
10.1.1 系统功能… 348
10.1.2 系统用户… 349
10.2
开发方案… 349
10.2.1 分层模型… 349
10.2.2 开发模式… 350
10.2.3 开发顺序… 351
10.3
数据库结构… 351
10.4
项目总体架构… 352
10.5
持久层及其实现… 353
10.5.1 POJO类与映射文件… 353
10.5.2 用户管理DAO组件及其
实现… 355
10.5.3 部门管理DAO组件及其
实现… 358
10.5.4 职工管理DAO组件及其
实现… 360
10.6
业务层及其实现… 362
10.6.1 用户管理Service组件及其
实现… 362
10.6.2 部门管理Service组件及其
实现… 364
10.6.3 职工管理Service组件及其
实现… 366
10.7
表示层及其实现… 367
10.7.1 素材文件的准备… 368
10.7.2 公用模块的实现… 369
10.7.3 登录功能的实现… 372
10.7.4 系统主界面的实现… 377
10.7.5 当前用户功能的实现… 381
10.7.6 用户管理功能的实现… 386
10.7.7 部门管理功能的实现… 399
10.7.8 职工管理功能的实现… 411
本章小结… 424
思考题… 424
附录 实验指导…. 425
参考文献….. 436
前
言
Java EE是当前构建企业级Java Web应用的主流开发技术与平台之一,其应用已相当广泛。为满足社会不断发展的实际需求,并提高学生或学员的专业技能与就业能力,多数高校的计算机、电子商务、信息管理与信息系统等相关专业以及各地的相关培训机构均开设了Java EE程序设计或Java EE开发技术等课程。
本书以技术需求为导向,以技术应用为核心,以开发模式为主线,以应用开发为重点,以能力提升为目标,遵循案例教学、任务驱动与项目驱动的思想,结合教学规律与开发规范,按照由浅入深、循序渐进的原则,精心设计,合理安排,全面介绍了基于Java EE的企业级应用开发的关键技术、流行框架、主要模式、实施要点与方法步骤。全书实例翔实、案例丰富、编排合理、循序渐进、结构清晰,共分为10章,包括Java EE概述、JSP基础、JDBC技术、JavaBean技术、Servlet技术、Struts 2框架、Hibernate框架、Spring框架、Ajax应用与Web应用案例。各章均有”本章要点””学习目标”与”本章小结”,既便于抓住重点、明确目标,也利于温故而知新。书中的诸多内容均设有相应的”说明””注意””提示”等知识点,以便于读者的理解与提高,并为其带来”原来如此””豁然开朗”的美妙感觉。此外,各章均安排有相应的思考题,以便于读者的及时回顾与检测。书末还附有全面的实验指导,以便于读者的上机实践。
本书内容全面,结构清晰,语言流畅,通俗易懂,准确严谨,颇具特色,集系统性、条理性、针对性于一身,融资料性、实用性、技巧性于一体,注重应用开发能力的培养,可充分满足课程教学的实际需要,适合各个层面、各种水平的读者,既可作为各高校本科或高职高专计算机、电子商务、信息管理与信息系统及相关专业软件开发技术课程的教材或教学参考书,也可作为Java EE应用开发与维护人员的技术参考书以及初学者的自学教程。
本书所有示例的代码均已通过调试,并能成功运行,其开发环境为Windows 7、JDK 1.7.0_51、Tomcat 7.0.50、MyEclipse 10.7.1与SQL Server 2008。
本书的写作与出版,得到了作者所在单位及清华大学出版社的大力支持与帮助,在此表示衷心感谢。在紧张的写作过程中,自始至终也得到了家人、同事的理解与支持,在此也一并深表谢意。
由于作者经验不足、水平有限,且时间较为仓促,书中不妥之处在所难免,恳请广大读者多加指正、不吝赐教,并将宝贵的意见或建议反馈至作者的电子邮箱[email protected]。
编 者
第3章 JDBC技术
JDBC是Java语言中通用的一种数据库访问技术,其实质是Java与数据库间的一套接口规范。在各类Java应用中,JDBC的使用是相当普遍的。
本章要点:
* JDBC简介;
* JDBC的核心类与接口;
* JDBC的基本应用。
学习目标:
* 了解JDBC的概况;
* 掌握JDBC核心类与接口的基本用法;
* 掌握JDBC的数据库编程技术;
* 掌握Web应用系统开发的JSP JDBC模式。
3.1
JDBC简介
JDBC(Java Data Base Connectivity,Java数据库连接)是一种用于执行SQL语句的Java
API(Application Programming Interface,应用编程接口或应用程序编程接口),由一组用Java语言编写的类和接口组成,可让开发人员以纯Java的方式连接数据库,并完成相应的操作。
从结构上看,JDBC是Java语言访问数据库的一套接口集合。而从本质上看,JDBC则是调用者(开发人员)与执行者(数据库厂商)之间的一种协议。JDBC的实现由数据库厂商以驱动程序的形式提供。对于不同类型的数据库管理系统(DBMS)来说,其JDBC驱动程序是不同的。而对于某些数据库管理系统,若其版本不同,则所用的JDBC驱动程序也可能有所不同。
JDBC为各种数据库的访问提供了一致的方式,从而便于开发人员使用Java语言编写数据库应用程序。使用JDBC,应用程序能自动地将SQL语句传送给相应的数据库管理系统,因此,在开发数据库应用时,Java与JDBC的结合可让开发人员真正实现”一次编写,处处运行”。
在JSP中,可使用JDBC技术实现对数据库的访问,并完成有关表中记录的查询、增加、修改、删除等操作。
3.2
JDBC的核心类与接口
JDBC的类库包含在两个包中,即java.sql包
与javax.sql包。
java.sql包提供了JDBC的一些基本功能,主要针对基本的数据库编程服务(如生成连接、执行语句以及准备语句与运行批处理查询等),同时也有一些高级的处理(如批处理更新、事务隔离与可滚动结果集等)。JDBC的核心类库均包含在java.sql包中。java.sql包所包含的重要类与接口主要有java.sql.DriverManager类、java.sql.Driver接口、java.sql.Connection接口、java.sql.Statement接口、java.sql.PreparedStatement接口、java.sql.CallableStatement接口、java.sql.ResultSet接口等。
javax.sql包初是作为JDBC 2.0的可选包而引入的,提供了JDBC的一些扩展功能,主要是为数据库方面的高级操作提供相应的接口与类。例如,为连接管理、分布式事务与旧有的连接提供更好的抽象,引入了容器管理的连接池、分布式事务与行集等。javax.sql包所包含的重要的接口有javax.sql.DataSource、javax.sql.RowSet等。
3.2.1
DriverManager类
DriverManager类相当于驱动程序的管理器,负责注册JDBC驱动程序,建立与指定数据库(或数据源)的连接。该类的常用方法见表3.1。
表3.1 DriverManager类的常用方法
方 法
说 明
Connection getConnection(String url,String
user,String password)
建立与指定数据库的连接,并返回一个数据库连接对象
void setLoginTimeout(int seconds)
设置连接数据库时驱动程序等待的时间(以秒为单位)
void registerDriver(Driver driver)
注册指定的驱动程序
Enumeration getDrivers()
返回当前加载的驱动程序的枚举
Driver getDriver(String url)
在已向DriverManager注册的驱动程序中查找并返回一个能打开指定数据库的驱动程序
对于DriverManager类来说,常用的方法应该是getConnection()。该方法的常用方式为:
Static Connection getConnection(String
url,String user,String password) throw SQLException
其中,参数user为连接数据库时所使用的用户名,password为相应用户的密码,url则为所要连接的数据库(或数据源)的URL(相当于连接字符串)。数据库(或数据源)不同,其URL的格式往往是不同的,如以下示例:
//
ODBC数据源
String
url=”jdbc:odbc:”;
//SQL
Server 2005/2008数据库
String
url=”jdbc:sqlserver://localhost:1433;databaseName=”;
//Mysql数据库
String
url=”jdbc:mysql://localhost:3306/”;
//Oracle数据库
String
url=”jdbc:oracle:thin:@localhost:1521:”;
其中,表示数据源名,表示数据库名。
3.2.2
Driver接口
Driver接口是每个JDBC驱动程序都要实现的接口。换言之,每个JDBC驱动程序都要提供一个实现Driver接口的类。DriverManager会尝试加载尽可能多的可以找到的驱动程序,并让每个驱动程序依次尝试连接到指定的目标URL。在加载某个Driver类时,会创建相应的实例并向DriverManager注册。
要使用JDBC访问数据库,首先要加载相应的驱动程序。驱动程序的加载与注册可通过调用Class类(在java.lang包中)的静态方法forName()实现。该方法的常用方式为:
Class.forName(String driverClassName);
其中,参数driverClassName用于指定JDBC驱动程序的类名。
说明: Class.forName()实例化相应的驱动程序类并自动向DriverManager注册,因此无须再显式地调用DriverManager.registerDriver()方法进行注册。
对于Java应用来说,目前常用的数据库访问方式主要有两种,即JDBC-ODBC桥驱动方式与直接驱动方式。
要通过JDBC-ODBC桥驱动方式访问数据库,加载驱动程序的代码如下:
Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”);
要通过直接驱动方式访问数据库,则针对不同的DBMS(数据库管理系统),所要加载的驱动程序是不同的。例如:
//SQL Server数据库
Class.forName(“com.microsoft.jdbc.sqlserver.SQLServerDriver”);
//Mysql数据库
Class.forName(“com.mysql.jdbc.Driver”);
//Oracle数据库
Class.forName(“Oracle.jdbc.driver.OracleDriver”);
评论
还没有评论。