《Java EE核心框架实战 第2版》PDF下载

  • 购买积分:16 如何计算积分?
  • 作  者:高洪岩著
  • 出 版 社:北京:人民邮电出版社
  • 出版年份:2017
  • ISBN:9787115463616
  • 页数:520 页
图书介绍:本书基于MyBatis3+Hibernate5+Struts2+Spring4MVC+Spring4,融合了作者多年软件开发和培训的经验,面向实战,通过丰富且有参考价值的案例,展现了JavaEE开发领域中最核心、最实用的开发技术,帮助读者全面提升开发技能。

第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 〈resultMap〉标签 62

2.7.2 〈sql〉标签 64

2.7.3 使用${}拼接SQL语句 65

2.7.4 插入null值时的处理第1种方法jdbcType 67

2.7.5 插入null值时的处理第2种方法〈if〉 68

2.7.6 〈where〉标签 69

2.7.7 〈choose〉标签的使用 71

2.7.8 〈set〉标签的使用 72

2.7.9 〈foreach〉标签的使用 73

2.7.10 使用〈bind〉标签对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封装〈action〉信息 123

3.2.5 实现MVC模——ResultMapping.java封装〈result〉信息 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 用〈s:actionerror〉标签显示全部出错信息 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.4 添加Hibernate框架配置的关键步骤 255

7.5.5 逆向工程 255

7.5.6 支持JNDI的hibernate.cfg.xml配置文件内容 255

7.5.7 创建查询数据的Servlet 256

7.5.8 部属项目验证结果 256

7.6 缓存与实体状态 256

7.6.1 Hibernate的OID与缓存 256

7.6.2 Hibernate中的对象状态:瞬时状态、持久化状态和游离状态 258

7.7 双向一对多在MyEclipse中的实现 258

7.7.1 添加主表记录 261

7.7.2 添加子表记录 262

7.7.3 更改主表数据 262

7.7.4 更改子表数据 262

7.7.5 删除子表数据 263

7.7.6 删除主表main数据 263

7.7.7 通过主表获取子表数据 264

7.8 Hibernate备忘知识点 265

7.9 对主从表结构中的HashSet进行排序 267

7.10 延迟加载与load()和get()的区别 267

7.10.1 主从表表结构的设计 267

7.10.2 对省表和市表内容的添充 268

7.10.3 更改映射文件 268

7.10.4 新建测试用的Servlet对象 268

7.10.5 更改映射文件Sheng.hbm.xml 269

7.11 Hibernate对Oracle中CLOB字段类型的读处理 270

7.12 Hibernate中的inverse与cascade的测试 270

第8章 Hibernate 5使用HQL语言进行检索 275

8.1 Hibernate的检索方式 275

8.1.1 HQL表别名 276

8.1.2 HQL对结果进行排序与list()和iterator()方法的区别 278

8.1.3 HQL索引参数绑定 281

8.1.4 HQL命名参数绑定与安全性 282

8.1.5 HQL方法链的使用 284

8.1.6 HQL中的uniqueResult方法的使用 284

8.1.7 HQL中的where子句与查询条件 285

8.1.8 查询日期——字符串格式 287

8.1.9 查询日期——数字格式 288

8.1.10 分页的处理 289

8.1.11 HQL中的聚集函数:distinct-count-min-max-sum-avg 290

8.1.12 HQL中的分组查询 292

第9章 JPA核心技能 294

9.1 什么是JPA以及为什么要使用JPA 294

9.2 搭建JPA开发环境与逆向 295

9.3 分析逆向出来的Java类 300

9.4 使用IUserinfoDAO.java接口中的方法 301

9.4.1 方法public void save(Userinfo entity)的使用 302

9.4.2 方法public Userinfo findById(Long id)的使用 303

9.4.3 方法public List〈Userinfo〉findByProperty(String propertyName,final Object value,final int...rowStartIdxAndCount)的使用 304

9.4.4 方法public List〈Userinfo〉findByUsername(Object username,int...rowStartIdxAndCount)的使用 304

9.4.5 方法public List〈Userinfo〉findByPassword(Object password,int...rowStartIdxAndCount)的使用 304

9.4.6 方法public List〈Userinfo〉findByAge(Object age,int...rowStartIdxAndCount)的使用 305

9.4.7 方法public List〈Userinfo〉findAll(final int...rowStartIdxAndCount)的使用 305

9.4.8 方法public Userinfo update(Userinfo entity)的使用 305

9.4.9 方法public void delete(Userinfo entity)的使用 306

9.5 JPA核心接口介绍 306

9.5.1 类Persistence 306

9.5.2 JPA中的事务类型 307

9.5.3 接口EntityManagerFactory 308

9.5.4 接口EntityManager 308

9.6 实体类的状态 308

9.7 使用原生JPA的API实现1个添加记录的操作 309

9.8 从零开始搭建JPA开发环境 309

9.9 EntityManager核心方法的使用 311

9.9.1 方法voidpersist(Object entity)保存一条记录 311

9.9.2 〈T〉Tmerge(Tentity)方法和〈T〉Tfind(Class〈T〉entityClass,ObjectprimaryKey)方法 311

9.9.3 方法void remove(Object entity) 312

9.9.4 getReference(Class〈T〉.Object)方法 312

9.9.5 createNativeQuery(string)方法 315

9.9.6 clear()和contains(Object)方法 317

9.9.7 createQuery(String)方法 319

9.10 双向一对多的CURD实验 319

9.10.1 逆向Main.java和Sub.java实体类 319

9.10.2 创建Main 322

9.10.3 创建Sub 322

9.10.4 更新Main 323

9.10.5 更新Sub 323

9.10.6 删除Main时默认将Sub也一同删除 324

9.10.7 从Main加载Sub时默认为延迟加载 324

9.11 JPQL语言的使用 325

9.11.1 参数索引式查询 325

9.11.2 命名式参数查询 326

9.11.3 JPQL支持的运算符与聚合函数与排序 326

9.11.4 is null为空运算符的使用 327

9.11.5 查询指定字段的示例 327

9.11.6 JPQL语言对日期的判断 329

9.11.7 JPQL语言中的分页功能 331

第10章 Spring 4的DI与AOP 332

10.1 Spring介绍 332

10.2 依赖注入 333

10.3 DI容器 333

10.4 AOP的介绍 334

10.5 Spring的架构 334

10.6 一个使用传统方式保存数据功能的测试 335

10.7 在Spring中创建JavaBean 336

10.7.1 使用xml声明法创建对象 337

10.7.2 使用Annotation注解法创建对象 340

10.8 DI的使用 350

10.8.1 使用xml声明法注入对象 350

10.8.2 使用注解声明法注入对象 352

10.8.3 多实现类的歧义性 353

10.8.4 使用@Autowired注解向构造方法参数注入 356

10.8.5 在set方法中使用@Autowired注解 357

10.8.6 使用@Bean向工厂方法的参数传参 358

10.8.7 使用@Autowired(required=false)的写法 358

10.8.8 使用@Bean注入多个相同类型的对象时出现异常 360

10.8.9 使用@Bean对JavaBean的id重命名 361

10.8.10 对构造方法进行注入 362

10.8.11 使用P命名空间对属性进行注入 368

10.8.12 Spring上下文环境的相关知识 370

10.8.13 使用Spring的DI方式保存数据功能的测试 375

10.8.14 BeanFactory与ApplicationContext 377

10.8.15 注入null类型 377

10.8.16 注入Properties类型 378

10.8.17 在DI容器中创建Singleton单例和Prototype多例的JavaBean对象 379

10.8.18 Spring中注入外部属性文件的属性值 381

10.9 面向切面编程AOP的使用 383

10.9.1 AOP的原理之代理设计模式 384

10.9.2 与AOP相关的必备概念 391

10.9.3 面向切面编程AOP核心案例 395

10.9.4 Strust 2、Spring 4整合及应用AOP切面 432

第11章 Struts 2+Hibernate 5+Spring 4整合 436

11.1 目的 436

11.2 创建数据库环境 436

11.2.1 新建数据表userinfo 436

11.2.2 创建序列对象 437

11.3 新建整合用的Web项目 437

11.4 添加Struts 2框架支持 437

11.4.1 添加Struts 2框架 437

11.4.2 在web.xml文件中注册Struts 2的过滤器 438

11.4.3 在项目的src目录下创建struts.xml配置文件 438

11.5 添加Hibernate 5框架支持 439

11.6 添加Spring 4框架支持 440

11.7 创建spring-dao.xml文件 440

11.8 创建spring-service.xml文件 440

11.9 创建spring-controller.xml文件 441

11.10 创建applicationContext.xml文件 441

11.11 在web.xml文件中注册Spring监听器 442

11.12 加Spring 4框架后的Web项目结构 443

11.13 创建Hibernate中的实体类与映射文件 444

11.14 创建Hibernate 5的DAO类 445

11.15 创建UserinfoService.java服务对象 445

11.16 新建一个操作userinfo表数据的Controller控制层 446

11.17 测试成功的结果 447

11.18 测试回滚的结果 448

第12章 Spring 4 MVC核心技能 450

12.1 Spring 4 MVC介绍 450

12.1.1 Spring 4 MVC核心控制器 451

12.1.2 基于注解的Spring 4 MVC开发 452

12.2 Spring 4 MVC第一个登录测试 452

12.2.1 添加Spring4MVC的依赖jar文件 452

12.2.2 在web.xml中配置核心控制器 453

12.2.3 新建springMVC-servlet.xml配置文件 453

12.2.4 新建相关的JSP文件 453

12.2.5 新建控制层Java类文件 454

12.2.6 部署项目并运行 455

12.2.7 第一个示例的总结 456

12.2.8 Spring MVC取参还能更加方便 456

12.3 执行控制层与限制提交的方式 457

12.3.1 新建控制层ListUsername.java文件 457

12.3.2 新建登录及显示数据的JSP文件 458

12.3.3 部署项目并测试 458

12.4 解决多人开发路径可能重复问题 460

12.4.1 错误的情况 460

12.4.2 解决办法 461

12.5 在控制层中处理指定的提交get或post方式 463

12.5.1 控制层代码 463

12.5.2 新建JSP文件并运行 464

12.6 控制层重定向到控制层——无参数传递 465

12.6.1 新建控制层Java文件 465

12.6.2 创建JSP文件并运行项目 466

12.7 控制层重定向到控制层——有参数传递 467

12.7.1 创建两个控制层Java文件 467

12.7.2 部署项目并运行 468

12.8 匹配URL路径执行指定控制层 468

12.8.1 新建控制层文件 468

12.8.2 部署项目并运行 469

12.9 在服务器端取得JSON字符串并解析——方式1 470

12.9.1 在web.xml中配置字符编码过滤器 470

12.9.2 新建JSP文件 471

12.9.3 新建控制层Java文件 472

12.9.4 添加依赖的jar包文件 472

12.9.5 运行项目 473

12.10 在服务器端取得JSON字符串并解析——方式2 473

12.10.1 新建封装JSON对象属性的实体类 473

12.10.2 新建控制层 474

12.10.3 在配置文件中添加〈mvc:annotation-driven/〉注解 474

12.10.4 新建JSP文件 475

12.10.5 添加jacksonJSON解析处理类库并运行 475

12.10.6 解析不同格式的JSON字符串示例 476

12.11 将URL中的参数转成实体的示例 478

12.11.1 新建控制层文件 478

12.11.2 新建登录用途的JSP文件 479

12.11.3 在web.xml中注册编码过滤器 479

12.11.4 运行结果 479

12.12 在控制层返回JSON对象示例 479

12.12.1 新建控制层文件 480

12.12.2 新建JSP文件 480

12.12.3 部署项目并运行 481

12.13 在控制层传回JSON字符串示例 482

12.13.1 新建控制层文件 482

12.13.2 新建JSP文件及在配置文件中注册utf-8编码处理 482

12.13.3 运行项目 483

12.14 在控制层取得HttpServletRequest和HttpServletResponse对象 483

12.14.1 新建控制层 484

12.14.2 JSP文件中的EL代码及运行结果 484

12.14.3 直接使用HttpServletResopnse对象输出响应字符 484

12.15 通过URL参数访问指定的业务方法 486

12.15.1 新建控制层文件List.java 486

12.15.2 运行结果 487

12.16 Spring 4 MVC单文件上传——写法1 487

12.16.1 新建控制层 487

12.16.2 在配置文件springMVC-servlet.xml中声明上传请求 488

12.16.3 创建前台JSP文件 489

12.16.4 程序运行结果 489

12.17 Spring 4 MVC单文件上传——写法2 489

12.18 Spring 4 MVC多文件上传 490

12.18.1 新建控制层及JSP文件 490

12.18.2 运行结果 491

12.19 Spring 4 MVC支持中文文件名的文件下载 491

12.20 控制层返回List对象及实体的效果 493

12.20.1 新建控制层文件 493

12.20.2 新建JSP文件 493

12.20.3 更改springMVC-servlet.xml配置文件 494

12.20.4 程序运行结果 494

12.21 控制层ModelMap对象 495

12.21.1 新建控制层 495

12.21.2 JSP文件代码 496

12.21.3 运行效果 496

12.22 Spring 4 MVC提交的表单进行手动数据验证 497

12.22.1 创建控制层文件 497

12.22.2 创建JSP文件 497

12.22.3 运行结果 498

第13章 Spring 4 MVC必备知识 499

13.1 web.xml中的不同配置方法 499

13.1.1 存放于src资源路径中 499

13.1.2 指定存放路径 500

13.1.3 指定多个配置文件 500

13.2 路径中添加通配符的功能 501

13.3 业务逻辑层在控制层中进行注入 502

13.3.1 新建业务逻辑层 502

13.3.2 创建控制层文件 502

13.3.3 设计springMVC-servlet.xml配置文件 502

13.3.4 程序运行结果 503

13.3.5 多个实现类的情况 503

13.4 对象ModelAndView的使用 504

13.4.1 创建控制层及JSP文件 504

13.4.2 程序运行结果 505

13.5 控制层返回void数据的情况 505

13.5.1 创建控制层及index.jsp文件 505

13.5.2 更改配置文件 506

13.5.3 部署项目运行程序 506

13.6 使用Spring 4 MVC中的注解来操作HttpSession中的对象 507

13.6.1 创建控制层文件PutGetSession.java 507

13.6.2 创建显示不同作用域中的值的JSP文件 508

13.6.3 部署项目并运行程序 508

第14章 Spring 4 MVC+MyBatis 3+Spring 4整合 509

14.1 准备Spring 4的JAR包文件 509

14.2 准备MyBatis的JAR包文件 510

14.3 准备MyBatis 3与Spring 4整合的JAR文件 510

14.4 创建Web项目 510

14.5 配置web.xml文件 511

14.6 配置springMVC-servlet.xml文件 512

14.7 配置MyBatis配置文件 513

14.8 创建MyBatis与映射有关文件 513

14.9 配置applicationContext.xml文件 514

14.10 创建Service对象 516

14.11 创建Controller对象 516

14.12 测试正常的效果 517

14.13 测试回滚的效果 517