编辑推荐
本书宗旨
提高读者学习Java EE的效率,增强其项目实战能力。本书摒弃了软件公司中不常用或不实用的技术,而是采用近200个开发案例,为读者讲解了开发商业软件的知识,帮助读者进行“精要”式的学习,汲取Java EE的思想,正确地进行项目实战。
本书特色
不留遗漏——覆盖主流Java EE轻量级框架
直击要害——实战化案例精准定位开发细节
学以致用——精要式项目确保开发/ 学习不脱节
潜移默化——研磨式知识讲解参透技术要点
提升效率——垂直式技术精解不绕弯路
循序提升——渐进式知识点统排确保连贯
以点概面——解决方案式项目,知识独立却又体系完整
成功案例——全面经过项目过程锤炼,提升学习/ 开发效率
内容简介
《Java EE核心框架实战(第2版)》的宗旨是提高读者学习Java EE的效率,增强其项目实战能力。为此,本书摒弃了软件公司中不常用或不实用的技术,而是采用近200个开发案例,为读者讲解了开发商业软件的知识,帮助读者进行“精要”式的学习,汲取Java EE的思想,正确地进行项目实战。
《Java EE核心框架实战(第2版)》涵盖了MyBatis 3、Struts 2、Ajax、JSON、jQuery、Spring 4 MVC、Hibernate 5、Spring 4等主流Java EE框架的核心开发技术,介绍了MVC框架的原理实现、上传、下载、数据验证、国际化、多模块分组开发、转发/重定向、JSON的解析;将Ajax及JSON和MVC框架进行整合开发;ORM框架的CURD操作以及MyBatis和Hibernate中的映射文件使用。本书还使用大量篇幅介绍了Spring 4中的核心技术DI与AOP,以及企业中常用框架的整合开发,框架包含Struts 2、Spring 4 MVC、MyBatis 3、Hibernate 5、Spring 4整合开发等内容。
《Java EE核心框架实战(第2版)》语言简洁,示例丰富,可帮助读者迅速掌握使用主流开源Java EE框架进行开发所需的各种技能。本书适合具有一定Java编程基础的读者,以及使用Java进行软件开发、测试的从业人员阅读。
作者简介
高洪岩,毕业于东北电力大学计算机科学与技术专业,获得软件工程硕士学位。曾任职
于大连东软软件公司、北京中软、中国海洋石油集团、中国石化,现工作于教育与技术
之间,喜欢分享,快乐学习。
目录
第1章 MyBatis 3操作数据库 1
1.1 MyBatis介绍 1
1.2 MyBatis基本使用 4
1.2.1 使用XML配置文件创建SqlSessionFactory对象 5
1.2.2 SqlSessionFactoryBuilder和SqlSessionFactory类信息 7
1.2.3 使用MyBatis Generator工具逆向操作Oracle数据库 7
1.2.4 使用MyBatis Generator工具逆向操作MySQL数据库 14
1.3 使用MyBatis实现CURD-2种数据库(Oracle-MySQL) 16
1.3.1 针对Oracle的CURD 17
1.3.2 针对MySQL的CURD 23
1.3.3 SQL映射文件中namespace命名空间的作用 24
1.4 MyBatis核心对象的生命周期与封装 26
1.4.1 创建GetSqlSessionFactory.java类 27
1.4.2 创建GetSqlSession.java类 28
1.4.3 创建DBOperate.java类 29
1.4.4 创建userinfoMapping.xml映射文件 29
1.4.5 创建连接数据库mybatis-config.xml配置文件 30
1.4.6 创建名称为test的Servlet对象 30
1.4.7 添加记录及异常回滚的测试 31
1.4.8 删除记录 33
1.4.9 更改记录 34
1.4.10 查询单条记录 35
1.4.11 查询多条记录 36
第2章 MyBatis 3必备开发技能 37
2.1 使用getMapper()面向接口编程 37
2.1.1 接口-SQL映射的对应关系 37
2.1.2 创建Userinfo.java实体类 38
2.1.3 创建UserinfoMapper.java接口 38
2.1.4 创建SQL映射文件UserinfoMapper.xml 39
2.1.5 增加记录insert的操作代码 39
2.1.6 查询全部selectAll的操作代码 41
2.1.7 查询单条记录selectById的操作代码 41
2.1.8 修改记录updateById的操作代码 42
2.1.9 删除记录deleteById的操作代码 43
2.2 使用typeAliases配置别名 43
2.2.1 使用typeAlias单独配置别名 44
2.2.2 使用package批量配置别名 44
2.3 使用properties文件保存数据库信息 46
2.3.1 在mybatis-config.xml配置文件中读取properties文件中的参数 46
2.3.2 将数据库信息封装进properties属性文件中 47
2.4 与数据源DataSource有关的操作 49
2.4.1 配置多个environment环境 49
2.4.2 什么是JNDI以及如何从JNDI获得数据源DataSource 50
2.4.3 如何在MyBatis中使用数据源DataSource 54
2.4.4 在MyBatis中使用HikariCP连接池 57
2.5 多数据库执行不同SQL语句的支持 60
2.6 多种获取Mapper的方式 61
2.7 MyBatis3的SQL映射文件与动态SQL 62
2.7.1 标签 62
2.7.2 标签 64
2.7.3 使用${}拼接SQL语句 65
2.7.4 插入null值时的处理第1种方法jdbcType 67
2.7.5 插入null值时的处理第2种方法 68
2.7.6 标签 69
2.7.7 标签的使用 71
2.7.8 标签的使用 72
2.7.9 标签的使用 73
2.7.10 使用标签对like语句进行适配 77
2.8 插入超大的字符串String文本内容 81
2.9 对查询的数据进行分页 84
2.10 批处理SQL语句 86
第3章 Struts 2必备开发技能 88
3.1 使用Struts 2进行登录功能的开发 88
3.1.1 为什么要使用MVC 89
3.1.2 准备jar文件 94
3.1.3 创建Web项目、添加jar文件及配置web.xml文件 96
3.1.4 创建控制层Controller文件-Login.java 96
3.1.5 创建业务逻辑层Model文件-UserinfoService.java 97
3.1.6 创建视图层View文件-login.jsp 98
3.1.7 添加核心配置文件struts.xml及解释 98
3.1.8 添加ok.jsp和no.jsp登录结果文件 99
3.1.9 运行项目 99
3.1.10 Struts 2的拦截器 101
3.1.11 Struts 2的数据类型自动转换 106
3.2 MVC框架的开发模型 112
3.2.1 基础知识准备1——XML文件的CURD 113
3.2.2 基础知识准备2——Java的反射 120
3.2.3 实现MVC模型——自定义配置文件 122
3.2.4 实现MVC模型——ActionMapping.java封装信息 123
3.2.5 实现MVC模型——ResultMapping.java封装信息 124
3.2.6 实现MVC模型——管理映射信息的ActionMappingManager.java对象 124
3.2.7 实现MVC模型——创建反射Action的ActionManager.java对象 126
3.2.8 实现MVC模型——创建核心控制器ActionServlet.java 127
3.2.9 实现MVC模型——创建Action接口及控制层Controller实现类 129
3.2.10 实现MVC模型——创建视图层V对应的JSP文件 130
3.2.11 实现MVC模型——在web.xml中配置核心控制器 131
3.2.12 实现MVC模型——运行效果 131
3.3 Struts 2的刷新验证功能 131
3.3.1 Action接口 132
3.3.2 Validateable和ValidationAware接口 133
3.3.3 TextProvider和LocaleProvider接口 134
3.3.4 使用ActionSupport实现有刷新的验证 134
3.4 对Struts 2有刷新验证的示例进行升级 137
3.4.1 加入xml配置来屏蔽自动生成的table/tr/td代码 137
3.4.2 解决“出错信息不能自动显示”的问题 139
3.5 用标签显示全部出错信息 142
3.6 出错信息进行传参及国际化 144
3.6.1 创建info_en_US.properties和info_zh_CN.properties属性文件 144
3.6.2 在JSP文件中显示国际化的静态文本 147
3.6.3 在JSP文件中显示国际化的静态文本时传递参数 149
3.6.4 在Action中使用国际化功能 149
3.7 用实体类封装URL中的参数——登录功能的URL封装 151
3.8 Struts 2中的转发操作 153
3.8.1 Servlet中的转发操作 153
3.8.2 Struts 2中的转发操作 154
3.9 由Action重定向到Action——无参数 157
3.9.1 什么样的情况下使用重定向 157
3.9.2 新建起始控制层Login.java 157
3.9.3 新建目的控制层List.java 157
3.9.4 在struts.xml文件中配置重定向的重点 158
3.9.5 新建显示列表的JSP文件 159
3.10 由Action重定向到Action——有参数 159
3.10.1 什么样的情况下需要重定向传递参数 159
3.10.2 新建起始控制层Login.java文件 159
3.10.3 更改struts.xml配置文件 160
3.10.4 新建目的控制层List.java文件 161
3.10.5 用JSTL和EL在JSP文件中打印数据 162
3.11 让Struts 2支持多模块多配置文件开发 164
3.11.1 新建4个模块的控制层 164
3.11.2 新建3个模块的配置文件 165
3.11.3 使用include标记导入多个配置文件 167
3.11.4 创建各模块使用的JSP文件 167
3.11.5 运行各模块的效果 168
3.12 在Action中有多个业务方法时的处理 169
3.13 自定义全局result 171
3.13.1 新建全局result实例和控制层代码 171
3.13.2 声明全局的result对象 172
3.13.3 部属项目并运行 172
3.14 在Action中使用servlet的API(紧耦版) 173
3.14.1 将数据放到不同的作用域中 173
3.14.2 从不同作用域中取值 174
3.15 在Action中使用Servlet的API(松耦版) 175
3.15.1 新建控制层 175
3.15.2 新建JSP视图 176
第4章 Struts 2文件的上传与下载 178
4.1 使用Struts 2进行单文件上传 178
4.1.1 Struts 2上传功能的底层依赖 178
4.1.2 新建上传文件的JSP文件 178
4.1.3 新建上传文件的控制层Register.java文件 179
4.1.4 Action中File实例的命名规则 180
4.1.5 设置上传文件的大小 180
4.1.6 设计struts.xml配置文件 180
4.1.7 成功上传单个文件 181
4.2 使用Struts 2进行多文件上传 181
4.2.1 新建上传多个文件的JSP 182
4.2.2 设计上传的控制层代码 182
4.2.3 成功上传多个文件 184
4.3 使用属性驱动形式的文件上传 185
4.3.1 创建上传多个文件的JSP 185
4.3.2 设计上传文件的控制层 186
4.3.3 新建上传文件的封装类 187
4.3.4 将JSP文件中s:file标签的name属性进行更改 188
4.3.5 以属性驱动方式成功上传多个文件 189
4.4 用Struts 2实现下载文件的功能(支持中文文件名与IE和FireFix兼容) 190
4.4.1 新建下载文件的JSP文件 190
4.4.2 新建下载文件的控制层文件 191
4.4.3 更改struts.xml配置文件 192
4.4.4 成功下载中文文件名的文件 192
第5章 JSON、Ajax和jQuery与Struts 2联合使用 193
5.1 JSON介绍 193
5.2 用JSON创建对象 194
5.2.1 JSON创建对象的语法格式 194
5.2.2 在JSP中用JSON创建一个对象 194
5.2.3 运行效果 194
5.3 用JSON创建字符串的限制 195
5.3.1 需要转义的特殊字符 195
5.3.2 在JSP中对JSON特殊字符进行转义 195
5.3.3 运行效果 196
5.4 用JSON创建数字类型语法格式 196
5.4.1 在JSP中用JSON创建数字类型 196
5.4.2 运行效果 197
5.5 用JSON创建数组对象的语法格式 197
5.5.1 JSON创建一个数组对象 198
5.5.2 运行效果 198
5.6 用JSON创建嵌套的对象类型 198
5.7 将对象转成JSON字符串 200
5.7.1 什么情况下需要将对象转成JSON字符串 200
5.7.2 使用stringify方法将对象转成JSON字符串 200
5.8 将对象转成JSON字符串提交到Action并解析(以post方式提交) 201
5.8.1 在JSP中创建JSON和Ajax对象 201
5.8.2 用Action控制层接收通过Ajax传递过来的JSON字符串 202
5.8.3 运行效果 203
5.8.4 在控制台输出的数据 204
5.9 将对象转成JSON字符串提交到Action并解析(get方式提交) 204
5.9.1 新建创建JSON字符串的JSP文件 204
5.9.2 新建接收JSON字符串的Action控制层 205
5.9.3 运行结果 206
5.9.4 在控制台输出的数据 206
5.10 将数组转成JSON字符串提交到Action并解析(get和post方式提交) 207
5.10.1 在服务器端用get方法解析JSON字符串 208
5.10.2 在服务器端用post方法解析JSON字符串 209
5.10.3 运行结果 210
5.10.4 在控制台输出的数据 210
5.11 使用Ajax调用Action并生成JSON再传递到客户端(get和post方式
提交) 210
5.11.1 新建具有Ajax提交功能的JSP 211
5.11.2 在Action控制层创建List中存String 213
5.11.3 在Action控制层创建List中存Bean 214
5.11.4 在Action控制层创建Map中存放的String 215
5.11.5 在Action控制层创建Map中存放的Bean 216
5.11.6 单击不同的button按钮调用不同的Action 217
5.12 jQuery、JSON和Struts 2 218
5.12.1 jQuery框架的Ajax功能介绍 218
5.12.2 用jQuery的Ajax功能调用远程action(无返回结果) 219
5.12.3 jQuery的Ajax方法结构 220
5.12.4 用jQuery的Ajax功能调用远程action(有返回结果) 221
5.12.5 用jQuery的Ajax功能调用远程action并且传递JSON格式参数(有返回值) 223
5.12.6 用jQuery解析从action返回List中存String的JSON字符串 226
5.13 在服务器端解析复杂结构的JSON对象 228
第6章 用Hibernate 5操作数据库 230
6.1 Hibernate概述与优势 230
6.2 持久层、持久化与ORM 231
6.3 用MyEclipse开发第一个Hibernate示例 233
6.3.1 在MyEclipse中创建MyEclipse Database Explorer数据库连接 233
6.3.2 创建Web项目并添加Hibernate框架 235
6.3.3 开始Hibernate逆向 239
6.3.4 数据访问层DAO与实体类entity的代码分析 241
6.3.5 使用Hibernate进行持久化 242
6.3.6 映射文件Userinfo.hbm.xml的代码分析 243
6.3.7 查询—修改—删除的操作代码 245
6.3.8 其他类解释 247
第7章 Hibernate 5核心技能 248
7.1 工厂类HibernateSessionFactory.java中的静态代码块 248
7.2 SessionFactory介绍 249
7.3 Session介绍 249
7.4 使用Session实现CURD功能 250
7.4.1 数据表userinfo结构与映射文件 250
7.4.2 创建SessionFactory工厂类 251
7.4.3 添加记录 251
7.4.4 查询单条记录 252
7.4.5 更改记录 253
7.4.6 删除记录 253
7.5 Hibernate使用JNDI技术 254
7.5.1 备份Tomcat/conf路径下的配置文件 254
7.5.2 更改配置文件context.xml 254
7.5.3 更改配置文件web.xml 254
7.5.
Java EE核心框架实战 第2版 电子书 下载 mobi epub pdf txt