图书简介:
目 录
第0篇 入 门 篇
第0章 概述 1
0.1 Java EE是什么 1
0.2 Java EE发展史 1
0.3 Java EE到底要解决什么问题 2
0.4 Java EE组件、容器、服务器 2
0.4.1 组件(Component) 2
0.4.2 容器(Container) 2
0.4.3 服务器(Server) 3
0.4.4 组件、容器、服务器三者的功能 3
0.4.5 组件体系结构 3
0.5 Java EE主要技术 4
0.5.1 JSP,Servlet 4
0.5.2 EJB(Enterprise JavaBean) 5
0.5.3 Container(容器) 5
0.5.4 RMI 6
0.5.5 JMS 6
0.5.6 JTA 7
0.5.7 JAAS 7
0.5.8 Connector 7
第1篇 基 础 篇
第1章 CoreJava 8
1.1 Java简介与使用 8
1.1.1 JDK 8
1.1.2 设置Java开发环境 9
1.1.3 为什么发明Java 9
1.1.4 Java虚拟机的特征 9
1.1.5 垃圾回收集的概念 10
1.1.6 Java平台代码安全实现策略 11
1.1.7 定义类、包、applets和应用程序 11
1.2 标识、关键字、类型 13
1.2.1 注释 13
1.2.2 分号、块和空格 14
1.2.3 标识符 14
1.2.4 关键字 14
1.2.5 基本类型和引用类型 15
1.2.6 boolean类型 15
1.2.7 文本数据类型 16
1.2.8 整数类型 17
1.2.9 浮点类型 18
1.2.10 变量的声明和赋值 19
1.2.11 推荐命名规则 19
1.2.12 创建类 19
1.2.13 创建实例 21
1.3 表达式和程序控制 21
1.3.1 局部变量 21
1.3.2 实例变量 22
1.3.3 操作符 24
1.3.4 类型转换 27
1.3.5 条件语句 28
1.3.6 循环语句 29
1.3.7 循环语句中流程跳转 30
1.4 数组 31
1.4.1 数组变量的声明 31
1.4.2 初始化 32
1.4.3 多维数组 33
1.4.4 数组的边界 33
1.4.5 数组的复制 34
1.5 高级语言特性 34
1.5.1 OOP中的基本概念 34
1.5.2 类和对象 35
1.5.3 定义方法的形式及参数传递 35
1.5.4 封装 36
1.5.5 方法重载 37
1.5.6 创建和初始化对象 37
1.5.7 构造方法 37
1.5.8 继承 39
1.5.9 方法覆盖 39
1.5.10 this和super关键字 40
1.5.11 多态及对象类型转换 43
1.5.12 static修饰符 44
1.5.13 final修饰符 45
1.5.14 接口 47
1.5.15 访问控制 48
1.6 集合 53
1.6.1 Collection和Iterator接口 53
1.6.2 Set、List、Map集合 54
1.6.3 反射机制 59
1.7 异常 61
1.7.1 异常的基本概念 61
1.7.2 try...catch语句 62
1.7.3 finally语句 62
1.7.4 异常调用栈 64
1.7.5 异常层级关系 64
1.7.6 异常声明和处理 65
1.7.7 断言 67
1.8 线程 68
1.8.1 线程概念 68
1.8.2 线程的组成部分 68
1.8.3 线程的创建和启动 68
1.8.4 线程状态 70
1.8.5 线程调度 71
1.8.6 线程的同步 72
1.8.7 线程的通信 73
1.8.8 线程死锁、线程让步 75
1.8.9 调整线程优先级 76
1.9 IO流和文件流 76
1.9.1 流的概念 76
1.9.2 字节输入流和输出流 77
1.9.3 输入流和输出流层级结构 78
1.9.4 字符输入/输出流 79
1.9.5 文件流 80
1.9.6 对象的序列化和反序列化 82
1.10 网络编程 84
1.10.1 网络相关概念 84
1.10.2 基于TCP的Socket编程步骤 85
1.10.3 基于UDP的Socket编程步骤 87
习题 89
第2章 Java新特性 93
2.1 Jdk1.5新特性 93
2.1.1 自动装箱/拆箱 93
2.1.2 增强for循环 96
2.1.3 类型安全枚举 96
2.1.4 可变长参数 99
2.1.5 静态导入 100
2.1.6 格式化输出 100
2.1.7 泛型 101
2.1.8 Annotation 103
2.2 JDK1.6新特性 106
2.3 JDK7新特性 108
2.4 JDK8新特性 110
2.4.1 接口的默认方法 110
2.4.2 Lambda 表达式 111
2.4.3 函数式接口 112
2.4.4 方法与构造函数引用 112
2.4.5 访问局部变量 113
2.4.6 访问对象字段与静态变量 113
2.4.7 访问接口的默认方法 114
2.4.8 Date API 116
2.4.9 多重Annotation 注解 118
习题 119
第3章 SQL+MySQL 120
3.1 SQL概述 120
3.2 MySQL 122
习题 137
第4章 XML 138
4.1 标记语言 138
4.2 XML语法规则 139
4.3 DTD/Schema 143
4.3.1 DTD/Schema的由来 143
4.3.2 DTD中的定义规则 143
4.3.3 文档类型定义 146
4.3.4 Schema 147
4.4 JAXP解析XML 148
习题 155
第5章 HTML/CSS+Bootstrap 156
5.1 HTML 156
5.1.1 HTML基础 156
5.1.2 几个重要的标记 158
5.2 CSS 168
5.2.1 CSS定义 168
5.2.2 CSS选择器 168
5.2.3 样式的继承 172
5.2.4 样式的优先级 172
5.2.5 关键属性 173
5.2.6 块标记和行内标记 174
5.2.7 常见的属性 174
5.3 Bootstrap 179
习题 184
第6章 JavaScript+AJAX 185
6.1 JavaScript 185
6.1.1 JavaScript相关概念 185
6.1.2 JavaScript的基本语法 187
6.1.3 JavaScript中常见内置对象 192
6.1.4 DOM 198
6.1.5 BOM 203
6.2 AJAX 208
6.2.1 AJAX定义 208
6.2.2 AJAX编程 209
6.2.3 XmlHttpRequest对象的重要
属性 211
6.2.4 缓存问题 211
6.2.5 用户注册案例 211
6.2.6 AJAX的优点和编码问题 216
6.2.7 级联下拉列表案例 217
6.3 JSON 217
6.4 jQuery 218
6.4.1 jQuery的定义 218
6.4.2 jQuery使用 218
6.4.3 jQuery DOM操作 219
6.4.4 jQuery事件处理 220
6.4.5 jQuery操作数组的方法 220
6.4.6 jQuery对AJAX的支持 221
习题 222
第7章 Servlet 223
7.1 Servlet原理 223
7.1.1 Servlet相关概念 223
7.1.2 Servlet开发流程 224
7.1.3 Servlet Web应用的流程 224
7.1.4 Servlet通信 226
7.2 Servlet的生命周期 230
7.3 服务器内部和外部跳转 232
7.3.1 服务器内部跳转 232
7.3.2 服务器外部跳转 232
7.4 Session、Cookie、URL重写 233
7.4.1 Session 233
7.4.2 Cookie 235
7.4.3 URL重写 236
7.5 ServletConfig与ServletContext 239
7.6 Filter(Servlet过滤器) 242
7.7 Listener(Servlet监听器) 244
习题 249
第8章 JSP 250
8.1 JSP相关概念 250
8.2 JSP的使用 252
8.2.1 第一个JSP 252
8.2.2 JSP脚本元素 253
8.2.3 JSP中的注释 254
8.2.4 动作元素 256
8.2.5 JSP中默认的内置对象 257
8.2.6 JSP模型 258
8.2.7 JavaBean 259
8.2.8 EL表达式 261
8.2.9 JSTL 264
习题 267
第2篇 框 架 篇
第9章 Struts2 269
9.1 Struts2概述 269
9.2 Struts2工作原理 270
9.3 构件基于Struts2的应用 273
9.4 第一个Struts2应用程序 276
习题 278
第10章 持久层框架技术 279
10.1 JDBC 279
10.1.1 JDBC相关概念 279
10.1.2 JDBC的使用 280
10.2 Hibernate 284
10.2.1 Hibernate相关概念 284
10.2.2 Hibernate工作原理 284
10.2.3 持久化对象 284
10.2.4 延迟加载机制 286
10.2.5 关系映射 287
10.3 MyBatis 294
10.3.1 MyBatis相关概念 294
10.3.2 MyBatis的工作流程 295
10.3.3 基础配置 296
10.3.4 SQL映射 298
10.3.5 SqlSession接口 299
习题 300
第11章 Spring 302
11.1 Spring概述 302
11.2 IoC注入 305
11.2.5 继承装入 311
11.3 PropertyEditor和创建Bean 312
11.3.1 PropertyEditor 312
11.3.2 创建Bean 314
11.4 Bean的生命周期 315
11.5 IoC中的annotation配置 315
11.5.1 @Autowired 315
11.5.2 @Resource 316
11.5.3 @PostConstruct 和
@PreDestroy 316
11.5.4 @Component 317
11.6 AOP 318
11.7 Advice 324
11.8 AutoProxy和aop:config标签 325
11.8.1 AutoProxy 325
11.8.2 aop:config标签 326
11.9 Spring+jdbc 327
11.10 Spring+Hibernate 329
11.11 Spring事务管理机制 330
11.11.1 编程式事务管理 330
11.11.2 声明式事务管理 331
11.11.3 事务描述 333
11.12 HibernateTemplate类与
HibernateDaoSupport类 335
习题 336
第3篇 平 台 篇
第12章 快速开发平台 337
12.1 平台的概念 337
12.2 平台的模式 338
12.3 TDFY快速开发平台简介 338
12.4 内置功能 338
12.5 设计思想 339
12.6 技术选型 339
12.7 安装部署 340
12.8 文件结构 341
12.9 系统配置文件 343
第13章 常用组件 345
第14章 代码生成器应用 351
第15章 手机端基础接口 358
第4篇 应 用 篇
第16章 公共资源交易平台 362
16.1 项目概述 362
16.2 需求分析 363
16.3 公共资源交易系统功能设计 365
16.4 场地安排模块快速开发实例 367
16.4.1 利用PowerDesigner设计表 367
16.4.2 使用代码生成器生成代码 368
16.4.3 Java各层代码修改 372
16.4.4 MyBatis映射文件修改 390
16.4.5 WebApp展示层代码修改 395
16.4.6 权限控制 397
16.4.7 程序调试 399
习题 400
参考文献 401
展开
前 言
Java EE是一套全然不同于传统应用开发的技术架构,包含许多组件,主要可简化且规范应用系统的开发与部署,进而提高可移植性、安全性与再用价值。
Java EE的核心是一组技术规范与指南,其中所包含的各类组件、服务架构及技术层次,均有共同的标准及规则,让各种依循Java EE架构的不同平台之间,存在良好的兼容性,解决了过去企业后端使用的信息产品彼此之间无法兼容,导致企业内部或外部难以互通的问题。
Java EE典型有四层结构组件:客户层组件(HTML,脚本语言,各种标签);WEB层组件(JSP页面,Servlets,使用JavaBean处理用户输入);业务层组件(EJB进行处理);EIS层组件。企业级javaBean有三种:会话Bean(与客户端程序的临时交互),实体Bean(数据库表中的永久记录),消息驱动(允许业务层组件亦不接受JMS消息)。
为了帮助众多的软件开发人员尽快地掌握Java EE平台的相关知识,尽快地步入实际项目的开发中,作者根据多年教学和项目开发经验编写了此书。
本书既介绍了Java EE的基本知识,也对项目开发中流行的几个框架进行了讲解,还通过一个真实案例向读者介绍了Java EE项目完整的开发步骤。读者通过本书可以尽快地掌握在Java EE平台下进行项目开发的技能。
本书具有以下特点:
1.内容饱满、由浅入深
本书内容既包括Java EE平台下开发的基础知识,也有项目编程的实用技巧,还提供了多个真实案例供读者学习。本书在知识的层次上由浅入深,使读者可以从Java EE的门外汉平稳、快速地步入Java EE开发的殿堂。
2.结构清晰、语言简洁
本书中所有案例都是按照笔者的真实项目开发过程进行介绍的,结构清晰,语言简洁,便于实际练习。为了帮助读者更好地理解相关知识点,全书穿插了很多实用技巧及温馨提示。
3.实际商业案例
本书的案例均具有实际商业价值,如果进行开发,价格要数万元,笔者将其完整地展现给了读者。
本书共分17章:第0章是Java EE概述;第1章全面讲述了Java的发展、开发环境、Java语法及基础知识,通过学习这些基础知识,读者可以对Java有更深入的了解,在理解后续框架时候会更容易些;第2章主要讲述了jdk1.5、jdk1.6、jdk7、jdk8的一些新特性,了解jdk版本更新带给开发者的一些最新技术;第3章全面讲述了SQL和MySQL的相关概念与使用,通过本章内容的学习,读者可以对数据库的常见概念有所了解,并学会使用常用的SQL语句对数据库的数据记录进行操作;第4章主要介绍了标记语言XML,并对XML的语法规则进行详细介绍,最后介绍了如何使用JAXP解析XML,通过学习本章内容读者可以对XML有更深入的了解;第5章全面讲述了HTML、CSS的概念以及使用,帮助开发者更灵活地使用HTML和CSS,本章还对Bootstrap这个近期比较流行的响应式框架做了介绍,利用Bootstrap可以简单迅速地做出漂亮的前端页面;第6章主要介绍了前端开发中需要用到的Javascript、AJAX、Json、JQuery等技术的概念、语法以及使用等内容,使开发者对这些技术有基本的了解;第7章主要讲述了Serlvet技术,通过4节内容分别对Servlet原理、生命周期、服务器内部调整和外部跳转、Session、Cookie、URL重写等内容进行了介绍;第8章主要讲述了JSP的概念以及如何使用JSP,通过本章的学习读者可以知道如何在前端页面中显示Java服务器端的数据;第9章通过MVC模式简介、Struts 2框架来历简介、Struts 2概述、Struts 2原理的介绍、构件基于Struts 2的应用等内容全面讲述了Struts 2这个框架,通过学习本章内容,读者可以很轻松运用Struts 2来实现Java与前端页面的数据交互;第10章讲述了JDBC、Hibernate、MyBatis等持久层技术的相关概念以及使用的详细讲解,通过学习持久层框架技术,读者可以很方便地通过配置XML文件属性的方法简单地实现Java与数据库的交互;第11章讲述了Spring的概念以及Spring的IoC注入、AOP、代理模式以及Spring事务管理机制等内容,通过学习本章内容可以对Spring框架整体有所了解,通过使用Spring的控制反转和面向切面的特性来编程可以大大提高开发效率;第12章通过快速开发平台内置功能、设计思想、技术选型、安装部署、文件结构、系统配置文件等方面内容的介绍,对快速开发平台做了全面的讲述;第13章全面介绍了快速开发平台的各种组件,包括布局组件、用户工具、全局缓存、字典工具、功能权限控制、数据权限等常用组件,通过认识这些组件,在开发过程中遇到类似的开发需求就可以直接调用组件而不用重新开发,所以使用组件开发可以提升开发效率;第14章详细讲述了快速开发平台中代码生成器的详细使用步骤,利用代码生成器组件可以根据数据库表的信息快速生成Java代码,提高开发效率;第15章全面讲述了快速开发平台对手机端应用程序提供的基础接口,介绍了传输格式、账号登录、登录成功、登录失败、请求页面、获取基础信息等方面的内容;第16章通过讲述公共资源交易平台系统这样一个真实的项目案例,来带领读者了解真正的软件是怎样的开发流程,都包括哪些内容,如何去开发一个实用的应用系统。这里主要从项目概述、需求分析、系统设计、功能设计、场地安排模块等方面详细讲解公共资源交易平台系统。
本书的内容通俗易懂,涵盖了Java EE相关的所有基础技术,并向读者介绍了真实项目的开发流程,特别适合做为软件工程、计算机科学与技术、物联网工程、计算机应用、电子商务等专业的高年级本科生和研究生的教材,也适合相关软件开发技术人员参考,同时也是职业技术类学院和各种软件开发培训机构的首选教材。
作者从事工程应用软件开发15年,主持开发的工程应用系统有:建设工程招投标信息处理系统、建设工程(土建、装饰、安装、市政、园林绿化、抗震加固、水利水电、电力、公路、邮电通信、煤炭)造价信息处理系统、建筑工程三维可视化算量软件、建设工程招投标企业信用信息系统、建筑工程监管信息系统、公共资源交易系统、重点项目(重点企业)动态监察系统、混凝土质量动态监管系统、大型建筑工地太阳能3G无线远程视频监控系统、大型流域和城市防洪预警会商系统、城市火灾预警和消防装备全生命周期管理系统、路灯景观灯照明控制系统等。其中基于Zigbee和 GPRS的路灯照明调光节能控制系统已在太原市滨河东路景观照明系统工程、太原市汾河公园照明工程、长风商务区景观照明工程、汾东商务区路灯照明工程、江苏宜兴团氿公园景观照明工程、山东曹县路灯照明工程、河南中牟县路灯照明工程中推广应用。
本书共17章,分为入门篇、基础篇、框架篇、平台篇、应用篇五个部分,总学时为48学时,其中授课时间为40学时,试验练习时间为8个学时。
本书由张军朝担任主编,制定本书大纲、内容安排并指导文字写作;高保禄负责全书的组织工作;孙靖宇负责全书的统稿工作;赵荣香负责本书所有源代码的调试工作;王浩负责本书应用篇的项目编程规划编写。张军朝编写了第0、1、2、3章;赵荣香编写了第4、5、6章;高保禄编写了第7、8、9章;孙靖宇编写了第10、11、12章;吕丰德编写了第13、14章,张江华编写了第15章,王浩编写了第16章。本书由太原理工大学陈俊杰教授主审。
在本书的编写过程中得到了计算机专业教学指导委员会委员、太原理工大学陈俊杰教授,太原理工大学崔冬华教授,山西太原天地方圆电子科技有限公司赵荣香高工、吕丰德工程师、张江华工程师自始至终的支持和帮助;太原理工大学赵阳硕士、王青文硕士、陶亚男硕士在编写和校对过程中也做了大量的工作。在此一并致以衷心的感谢!
编者力求将实践和理论相结合,科研和教学相结合,工程和教学相结合,硬件和软件相结合,先进和实用相结合,编写出高质量、高水平的教材,但由于编者水平有限,书中错误和不当之处在所难免,敬请读者谅解和指正,联系邮箱:zhangjunchao@tyut.edu.cn。
张军朝
2016年1月1日 于 太原理工大学 国交楼
展开