本书宗旨 提高读者学习Java EE的效率,增强其项目实战能力。本书摒弃了软件公司中不常用或不实用的技术,而是采用近200个发案例,为读者讲解了发商业软件的知识,帮助读者行“精要”式的学习,汲取Java EE的思想,正确地行项目实战。 本书特色 不留遗漏——覆盖主流Java EE轻量级框架 直要害——实战化案例精准定位发细节 学以致用——精要式项目确保发/ 学习不脱节
售 价:¥
纸质售价:¥74.20购买纸书
温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印
为你推荐
内容提要
前言
本书面向的读者
本书的结构
如何使用本书
代码下载
与作者联系
第1章 MyBatis 3操作数据库
1.1 MyBatis介绍
1.2 MyBatis基本使用
1.2.1 使用XML配置文件创建SqlSessionFactory对象
1.2.2 SqlSessionFactoryBuilder和SqlSessionFactory类信息
1.2.3 使用MyBatis Generator工具逆向操作Oracle数据库
1.2.4 使用MyBatis Generator工具逆向操作MySQL数据库
1.3 使用MyBatis实现CURD-2种数据库(Oracle-MySQL)
1.3.1 针对Oracle的CURD
1.准备开发环境
2.创建获取SqlSession对象工具类
3.插入多条记录
4.根据id值查询记录
5.查询所有记录
6.更新记录
7.删除记录
1.3.2 针对MySQL的CURD
1.准备开发环境
2.增加一条记录并且返回主键值
3.其他业务方法的测试
1.3.3 SQL映射文件中namespace命名空间的作用
1.4 MyBatis核心对象的生命周期与封装
1.4.1 创建GetSqlSessionFactory.java类
1.4.2 创建GetSqlSession.java类
1.4.3 创建DBOperate.java类
1.4.4 创建userinfoMapping.xml映射文件
1.4.5 创建连接数据库mybatis-config.xml配置文件
1.4.6 创建名称为test的Servlet对象
1.4.7 添加记录及异常回滚的测试
1.4.8 删除记录
1.4.9 更改记录
1.4.10 查询单条记录
1.4.11 查询多条记录
第2章 MyBatis 3必备开发技能
2.1 使用getMapper()面向接口编程
2.1.1 接口-SQL映射的对应关系
2.1.2 创建Userinfo.java实体类
2.1.3 创建UserinfoMapper.java接口
2.1.4 创建SQL映射文件UserinfoMapper.xml
2.1.5 增加记录insert的操作代码
2.1.6 查询全部selectAll的操作代码
2.1.7 查询单条记录selectById的操作代码
2.1.8 修改记录updateById的操作代码
2.1.9 删除记录deleteById的操作代码
2.2 使用typeAliases配置别名
2.2.1 使用typeAlias单独配置别名
2.2.2 使用package批量配置别名
2.3 使用properties文件保存数据库信息
2.3.1 在mybatis-config.xml配置文件中读取properties文件中的参数
2.3.2 将数据库信息封装进properties属性文件中
2.4 与数据源DataSource有关的操作
2.4.1 配置多个environment环境
2.4.2 什么是JNDI以及如何从JNDI获得数据源DataSource
2.4.3 如何在MyBatis中使用数据源DataSource
2.4.4 在MyBatis中使用HikariCP连接池
2.5 多数据库执行不同SQL语句的支持
2.6 多种获取Mapper的方式
2.7 MyBatis3的SQL映射文件与动态SQL
2.7.1 <resultMap>标签
2.7.2 <sql>标签
2.7.3 使用${}拼接SQL语句
2.7.4 插入null值时的处理第1种方法jdbcType
2.7.5 插入null值时的处理第2种方法<if>
2.7.6 <where>标签
2.7.7 <choose>标签的使用
2.7.8 <set>标签的使用
2.7.9 <foreach>标签的使用
2.7.10 使用<bind>标签对like语句进行适配
2.8 插入超大的字符串String文本内容
2.9 对查询的数据进行分页
2.10 批处理SQL语句
第3章 Struts 2必备开发技能
3.1 使用Struts 2进行登录功能的开发
3.1.1 为什么要使用MVC
3.1.2 准备jar文件
3.1.3 创建Web项目、添加jar文件及配置web.xml文件
3.1.4 创建控制层Controller文件-Login.java
3.1.5 创建业务逻辑层Model文件-UserinfoService.java
3.1.6 创建视图层View文件-login.jsp
3.1.7 添加核心配置文件struts.xml及解释
3.1.8 添加ok.jsp和no.jsp登录结果文件
3.1.9 运行项目
3.1.10 Struts2的拦截器
3.1.11 Struts 2的数据类型自动转换
3.2 MVC框架的开发模型
3.2.1 基础知识准备1——XML文件的CURD
3.2.2 基础知识准备2——Java的反射
3.2.3 实现MVC模型——自定义配置文件
3.2.4 实现MVC模型——ActionMapping.java封装<action>信息
3.2.5 实现MVC模型——ResultMapping.java封装<result>信息
3.2.6 实现MVC模型——管理映射信息的ActionMappingManager.java对象
3.2.7 实现MVC模型——创建反射Action的ActionManager.java对象
3.2.8 实现MVC模型——创建核心控制器ActionServlet.java
3.2.9 实现MVC模型——创建Action接口及控制层Controller实现类
3.2.10 实现MVC模型——创建视图层V对应的JSP文件
3.2.11 实现MVC模型——在web.xml中配置核心控制器
3.2.12 实现MVC模型——运行效果
3.3 Struts 2的刷新验证功能
3.3.1 Action接口
3.3.2 Validateable和ValidationAware接口
3.3.3 TextProvider和LocaleProvider接口
3.3.4 使用ActionSupport实现有刷新的验证
3.4 对Struts 2有刷新验证的示例进行升级
3.4.1 加入xml配置来屏蔽自动生成的table/tr/td代码
3.4.2 解决“出错信息不能自动显示”的问题
3.5 用<s:actionerror>标签显示全部出错信息
3.6 出错信息进行传参及国际化
3.6.1 创建info_en_US.properties和info_zh_CN.properties属性文件
3.6.2 在JSP文件中显示国际化的静态文本
3.6.3 在JSP文件中显示国际化的静态文本时传递参数
3.6.4 在Action中使用国际化功能
3.7 用实体类封装URL中的参数——登录功能的URL封装
3.8 Struts 2中的转发操作
3.8.1 Servlet中的转发操作
3.8.2 Struts 2中的转发操作
3.9 由Action重定向到Action——无参数
3.9.1 什么样的情况下使用重定向
3.9.2 新建起始控制层Login.java
3.9.3 新建目的控制层List.java
3.9.4 在struts.xml文件中配置重定向的重点
3.9.5 新建显示列表的JSP文件
3.10 由Action重定向到Action——有参数
3.10.1 什么样的情况下需要重定向传递参数
3.10.2 新建起始控制层Login.java文件
3.10.3 更改struts.xml配置文件
3.10.4 新建目的控制层List.java文件
3.10.5 用JSTL和EL在JSP文件中打印数据
3.11 让Struts 2支持多模块多配置文件开发
3.11.1 新建4个模块的控制层
3.11.2 新建3个模块的配置文件
3.11.3 使用include标记导入多个配置文件
3.11.4 创建各模块使用的JSP文件
3.11.5 运行各模块的效果
3.12 在Action中有多个业务方法时的处理
3.13 自定义全局result
3.13.1 新建全局result实例和控制层代码
3.13.2 声明全局的result对象
3.13.3 部属项目并运行
3.14 在Action中使用servlet的API(紧耦版)
3.14.1 将数据放到不同的作用域中
3.14.2 从不同作用域中取值
3.15 在Action中使用Servlet的API(松耦版)
3.15.1 新建控制层
3.15.2 新建JSP视图
第4章 Struts 2文件的上传与下载
4.1 使用Struts 2进行单文件上传
4.1.1 Struts 2上传功能的底层依赖
4.1.2 新建上传文件的JSP文件
4.1.3 新建上传文件的控制层Register.java文件
4.1.4 Action中File实例的命名规则
4.1.5 设置上传文件的大小
4.1.6 设计struts.xml配置文件
4.1.7 成功上传单个文件
4.2 使用Struts 2进行多文件上传
4.2.1 新建上传多个文件的JSP
4.2.2 设计上传的控制层代码
4.2.3 成功上传多个文件
4.3 使用属性驱动形式的文件上传
4.3.1 创建上传多个文件的JSP
4.3.2 设计上传文件的控制层
4.3.3 新建上传文件的封装类
4.3.4 将JSP文件中s:file标签的name属性进行更改
4.3.5 以属性驱动方式成功上传多个文件
4.4 用Struts 2实现下载文件的功能(支持中文文件名与IE和FireFix兼容)
4.4.1 新建下载文件的JSP文件
4.4.2 新建下载文件的控制层文件
4.4.3 更改struts.xml配置文件
4.4.4 成功下载中文文件名的文件
第5章 JSON、Ajax和jQuery与Struts 2联合使用
5.1 JSON介绍
什么是JSON
5.2 用JSON创建对象
5.2.1 JSON创建对象的语法格式
5.2.2 在JSP中用JSON创建一个对象
5.2.3 运行效果
5.3 用JSON创建字符串的限制
5.3.1 需要转义的特殊字符
5.3.2 在JSP中对JSON特殊字符进行转义
5.3.3 运行效果
5.4 用JSON创建数字类型语法格式
5.4.1 在JSP中用JSON创建数字类型
5.4.2 运行效果
5.5 用JSON创建数组对象的语法格式
5.5.1 JSON创建一个数组对象
5.5.2 运行效果
5.6 用JSON创建嵌套的对象类型
运行效果
5.7 将对象转成JSON字符串
5.7.1 什么情况下需要将对象转成JSON字符串
5.7.2 使用stringify方法将对象转成JSON字符串
5.8 将对象转成JSON字符串提交到Action并解析(以post方式提交)
5.8.1 在JSP中创建JSON和Ajax对象
5.8.2 用Action控制层接收通过Ajax传递过来的JSON字符串
5.8.3 运行效果
5.8.4 在控制台输出的数据
5.9 将对象转成JSON字符串提交到Action并解析(以get方式提交)
5.9.1 新建创建JSON字符串的JSP文件
5.9.2 新建接收JSON字符串的Action控制层
5.9.3 运行结果
5.9.4 在控制台输出的数据
5.10 将数组转成JSON字符串提交到Action并解析(以get和post方式提交)
5.10.1 在服务器端用get方法解析JSON字符串
5.10.2 在服务器端用post方法解析JSON字符串
5.10.3 运行结果
5.10.4 在控制台输出的数据
5.11 使用Ajax调用Action并生成JSON再传递到客户端(以get和post方式提交)
5.11.1 新建具有Ajax提交功能的JSP
5.11.2 在Action控制层创建List中存String
5.11.3 在Action控制层创建List中存Bean
5.11.4 在Action控制层创建Map中存放的String
5.11.5 在Action控制层创建Map中存放的Bean
5.11.6 单击不同的button按钮调用不同的Action
5.12 jQuery、JSON和Struts 2
5.12.1 jQuery框架的Ajax功能介绍
5.12.2 用jQuery的Ajax功能调用远程action(无返回结果)
5.12.3 jQuery的Ajax方法结构
5.12.4 用jQuery的Ajax功能调用远程action(有返回结果)
5.12.5 用jQuery的Ajax功能调用远程action并且传递JSON格式参数(有返回值)
5.12.6 用jQuery解析从action返回List中存String的JSON字符串
5.13 在服务器端解析复杂结构的JSON对象
第6章 用Hibernate 5操作数据库
6.1 Hibernate概述与优势
6.2 持久层、持久化与ORM
6.3 用MyEclipse开发第一个Hibernate示例
6.3.1 在MyEclipse中创建MyEclipse Database Explorer数据库连接
6.3.2 创建Web项目并添加Hibernate框架
6.3.3 开始Hibernate逆向
6.3.4 数据访问层DAO与实体类entity的代码分析
6.3.5 使用Hibernate进行持久化
6.3.6 映射文件Userinfo.hbm.xml的代码分析
6.3.7 查询—修改—删除的操作代码
6.3.8 其他类解释
第7章 Hibernate 5核心技能
7.1 工厂类HibernateSessionFactory.java中的静态代码块
7.2 SessionFactory介绍
7.3 Session介绍
7.4 使用Session实现CURD功能
7.4.1 数据表userinfo结构与映射文件
7.4.2 创建SessionFactory工厂类
7.4.3 添加记录
7.4.4 查询单条记录
7.4.5 更改记录
7.4.6 删除记录
7.5 Hibernate使用JNDI技术
7.5.1 备份Tomcat/conf路径下的配置文件
7.5.2 更改配置文件context.xml
7.5.3 更改配置文件web.xml
7.5.4 添加Hibernate框架配置的关键步骤
7.5.5 逆向工程
7.5.6 支持JNDI的hibernate.cfg.xml配置文件内容
7.5.7 创建查询数据的Servlet
7.5.8 部属项目验证结果
7.6 缓存与实体状态
7.6.1 Hibernate的OID与缓存
7.6.2 Hibernate中的对象状态:瞬时状态、持久化状态和游离状态
7.7 双向一对多在MyEclipse中的实现
7.7.1 添加主表记录
7.7.2 添加子表记录
7.7.3 更改主表数据
7.7.4 更改子表数据
7.7.5 删除子表数据
7.7.6 删除主表main数据
7.7.7 通过主表获取子表数据
7.8 Hibernate备忘知识点
7.9 对主从表结构中的HashSet进行排序
7.10 延迟加载与load()和get()的区别
7.10.1 主从表表结构的设计
7.10.2 对省表和市表内容的添充
7.10.3 更改映射文件
7.10.4 新建测试用的Servlet对象
7.10.5 更改映射文件Sheng.hbm.xml
7.11 Hibernate对Oracle中CLOB字段类型的读处理
第8章 Hibernate 5使用HQL语言进行检索
8.1 Hibernate的检索方式
8.1.1 HQL表别名
8.1.2 HQL对结果进行排序与list()和iterator()方法的区别
8.1.3 HQL索引参数绑定
8.1.4 HQL命名参数绑定与安全性
8.1.5 HQL方法链的使用
8.1.6 HQL中的uniqueResult方法的使用
8.1.7 HQL中的where子句与查询条件
8.1.8 查询日期——字符串格式
8.1.9 查询日期——数字格式
8.1.10 分页的处理
8.1.11 HQL中的聚集函数:distinct-count-min-max-sum-avg
8.1.12 HQL中的分组查询
第9章 JPA核心技能
9.1 什么是JPA以及为什么要使用JPA
9.2 搭建JPA开发环境与逆向
9.3 分析逆向出来的Java类
9.4 使用IUserinfoDAO.java接口中的方法
9.4.1 方法public void save(Userinfo entity)的使用
9.4.2 方法public Userinfo findById(Long id)的使用
9.4.3 方法public List<Userinfo> findByProperty(String propertyName, final Object value, final int... rowStartIdxAndCount)的使用
9.4.4 方法public List<Userinfo> findByUsername(Object username, int... rowStartIdxAndCount)的使用
9.4.5 方法public List<Userinfo> findByPassword(Object password, int... rowStartIdxAndCount)的使用
9.4.6 方法public List<Userinfo> findByAge(Object age, int... rowStartIdxAndCount)的使用
9.4.7 方法public List<Userinfo> findAll(final int... rowStartIdxAndCount)的使用
9.4.8 方法public Userinfo update(Userinfo entity)的使用
9.4.9 方法public void delete(Userinfo entity)的使用
9.5 JPA核心接口介绍
9.5.1 类Persistence
9.5.2 JPA中的事务类型
9.5.3 接口EntityManagerFactory
9.5.4 接口EntityManager
9.6 实体类的状态
9.7 使用原生JPA的API实现1个添加记录的操作
9.8 从零开始搭建JPA开发环境
9.9 EntityManager核心方法的使用
9.9.1 方法void persist(Object entity)保存一条记录
9.9.2 <T> T merge(T entity)方法和<T> T find(Class<T> entityClass, Object primaryKey)方法
9.9.3 方法void remove(Object entity)
9.9.4 getReference(Class<T>, Object)方法
9.9.5 createNativeQuery(string)方法
9.9.6 clear()和contains(Object)方法
9.9.7 createQuery(String)方法
9.10 双向一对多的CURD实验
9.10.1 逆向Main.java和Sub.java实体类
9.10.2 创建Main
9.10.3 创建Sub
9.10.4 更新Main
9.10.5 更新Sub
9.10.6 删除Main时默认将Sub也一同删除
9.10.7 从Main加载Sub时默认为延迟加载
9.11 JPQL语言的使用
9.11.1 参数索引式查询
9.11.2 命名式参数查询
9.11.3 JPQL支持的运算符与聚合函数与排序
9.11.4 is null为空运算符的使用
9.11.5 查询指定字段的示例
1.Object[]对象数组封装法
2.自定义实体对象封装法
9.11.6 JPQL语言对日期的判断
9.11.7 JPQL语言中的分页功能
第10章 Spring 4的DI与AOP
10.1 Spring介绍
10.2 依赖注入
10.3 DI容器
10.4 AOP的介绍
10.5 Spring的架构
10.6 一个使用传统方式保存数据功能的测试
10.7 在Spring中创建JavaBean
10.7.1 使用xml声明法创建对象
1.使用xml声明法创建对象
2.使用xml声明法创建对象并获取
3.使用xml声明法出现NoUniqueBeanDefinitionException异常及解决办法
10.7.2 使用Annotation注解法创建对象
1.使用<context:component-scan base-package="">创建对象
2.使用<context:component-scan base-package="">创建对象并获取
3.使用“全注解”创建出对象
4.使用“全注解”获取对象出现NoUniqueBeanDefinitionException异常及解决办法
5.使用@ComponentScan(basePackages = "")创建对象并获取
6.使用@ComponentScan(basePackages = "")扫描多个包
7.使用@ComponentScan的basePackageClasses属性进行扫描
8.使用@ComponentScan不使用basePackages属性的效果
10.8 DI的使用
10.8.1 使用xml声明法注入对象
10.8.2 使用注解声明法注入对象
10.8.3 多实现类的歧义性
10.8.4 使用@Autowired注解向构造方法参数注入
10.8.5 在set方法中使用@Autowired注解
10.8.6 使用@Bean向工厂方法的参数传参
10.8.7 使用@Autowired(required = false)的写法
10.8.8 使用@Bean注入多个相同类型的对象时出现异常
10.8.9 使用@Bean对JavaBean的id重命名
10.8.10 对构造方法进行注入
1.使用<constructor-arg>对构造方法注入基本类型
2.使用<constructor-arg>对构造方法注入复杂类型
3.使用C命名空间对构造方法进行注入
4.使用C命名空间的索引功能对构造方法进行注入
5.使用C命名空间对构造方法注入简单数据类型
6.使用<constructor-arg>对构造方法注入List/Set/Map
10.8.11 使用p命名空间对属性进行注入
10.8.12 Spring上下文环境的相关知识
1.创建多个Spring上下文环境
2.多个Spring上下文环境各有自己的JavaBean的测试
3.让多个配置类互相通信
4.创建AllContext.java全局配置类
5.使用@ImportResource导入xml文件中的配置
6.使用xml文件创建多个上下文环境的总结
10.8.13 使用Spring的DI方式保存数据功能的测试
10.8.14 BeanFactory与ApplicationContext
10.8.15 注入null类型
10.8.16 注入Properties类型
10.8.17 在DI容器中创建Singleton单例和Prototype多例的JavaBean对象
10.8.18 Spring中注入外部属性文件的属性值
10.9 面向切面编程AOP的使用
10.9.1 AOP的原理之代理设计模式
1.静态代理的实现
2.动态代理的实现
3.在Spring中对动态代理Proxy的封装
10.9.2 与AOP相关的必备概念
1.什么是横切关注点
2.什么是切面(Aspect)以及AOP
3.什么是连接点(Join Point)
4.什么是切点(Pointcut)
5.什么是通知(Advice)
6.什么是织入(Weaving)
10.9.3 面向切面编程AOP核心案例
1.使用注解实现前置通知—后置通知—返回通知—异常通知
2.使用xml实现前置通知—后置通知—返回通知—异常通知
3.使用注解实现环绕通知
4.使用xml实现环绕通知
5.在注解中使用bean表达式
6.在xml中使用bean表达式
7.使用注解@Pointcut定义全局切点
8.使用xml<aop:pointcut>定义全局切点
9.使用注解向切面传入参数
10.使用xml向切面传入参数
11.使用注解@AfterReturning和@AfterThrowing向切面传入参数
12.使用xml<aop:after-returning>和<aop:after-throwing>向切面传入参数
13.使用注解向环绕通知传入参数
14.使用xml向环绕通知传入参数
15.使用xml<aop:aspectj-autoproxy></aop:aspectj-autoproxy>应用AOP切面
10.9.4 Strust 2、Spring 4整合及应用AOP切面
第11章 Struts 2+Hibernate 5+Spring 4整合
11.1 目的
11.2 创建数据库环境
11.2.1 新建数据表userinfo
11.2.2 创建序列对象
11.3 新建整合用的Web项目
11.4 添加Struts 2框架支持
11.4.1 添加Struts 2框架
11.4.2 在web.xml文件中注册Struts 2的过滤器
11.4.3 在项目的src目录下创建struts.xml配置文件
11.5 添加Hibernate 5框架支持
11.6 添加Spring 4框架支持
11.7 创建spring-dao.xml文件
11.8 创建spring-service.xml文件
11.9 创建spring-controller.xml文件
11.10 创建applicationContext.xml文件
11.11 在web.xml文件中注册Spring监听器
11.12 加Spring 4框架后的Web项目结构
11.13 创建Hibernate中的实体类与映射文件
11.14 创建Hibernate 5的DAO类
11.15 创建UserinfoService.java服务对象
11.16 新建一个操作userinfo表数据的Controller控制层
11.17 测试成功的结果
11.18 测试回滚的结果
第12章 Spring 4 MVC核心技能
12.1 Spring 4 MVC介绍
12.1.1 Spring 4 MVC核心控制器
12.1.2 基于注解的Spring 4 MVC开发
12.2 Spring 4 MVC第一个登录测试
12.2.1 添加Spring 4 MVC的依赖jar文件
12.2.2 在web.xml中配置核心控制器
12.2.3 新建springMVC-servlet.xml配置文件
12.2.4 新建相关的JSP文件
12.2.5 新建控制层Java类文件
12.2.6 部署项目并运行
12.2.7 第一个示例的总结
12.2.8 Spring MVC取参还能更加方便
12.3 执行控制层与限制提交的方式
12.3.1 新建控制层ListUsername.java文件
12.3.2 新建登录及显示数据的JSP文件
12.3.3 部署项目并测试
12.4 解决多人开发路径可能重复的问题
12.4.1 错误的情况
12.4.2 解决办法
12.5 在控制层中处理指定的提交get或post方式
12.5.1 控制层代码
12.5.2 新建JSP文件并运行
12.6 控制层重定向到控制层——无参数传递
12.6.1 新建控制层Java文件
12.6.2 创建JSP文件并运行项目
12.7 控制层重定向到控制层——有参数传递
12.7.1 创建两个控制层Java文件
12.7.2 部署项目并运行
12.8 匹配URL路径执行指定控制层
12.8.1 新建控制层文件
12.8.2 部署项目并运行
12.9 在服务器端取得JSON字符串并解析——方式1
12.9.1 在web.xml中配置字符编码过滤器
12.9.2 新建JSP文件
12.9.3 新建控制层Java文件
12.9.4 添加依赖的jar包文件
12.9.5 运行项目
12.10 在服务器端取得JSON字符串并解析——方式2
12.10.1 新建封装JSON对象属性的实体类
12.10.2 新建控制层
12.10.3 在配置文件中添加<mvc:annotation-driven />注解
12.10.4 新建JSP文件
12.10.5 添加jacksonJSON解析处理类库并运行
12.10.6 解析不同格式的JSON字符串示例
12.11 将URL中的参数转成实体的示例
12.11.1 新建控制层文件
12.11.2 新建登录用途的JSP文件
12.11.3 在web.xml中注册编码过滤器
12.11.4 运行结果
12.12 在控制层返回JSON对象示例
12.12.1 新建控制层文件
12.12.2 新建JSP文件
12.12.3 部署项目并运行
12.13 在控制层传回JSON字符串示例
12.13.1 新建控制层文件
12.13.2 新建JSP文件及在配置文件中注册utf-8编码处理
12.13.3 运行项目
12.14 在控制层取得HttpServletRequest和HttpServletResponse对象
12.14.1 新建控制层
12.14.2 JSP文件中的EL代码及运行结果
12.14.3 直接使用HttpServletResopnse对象输出响应字符
12.15 通过URL参数访问指定的业务方法
12.15.1 新建控制层文件List.java
12.15.2 运行结果
12.16 Spring 4 MVC单文件上传——写法1
12.16.1 新建控制层
12.16.2 在配置文件springMVC-servlet.xml中声明上传请求
12.16.3 创建前台JSP文件
12.16.4 程序运行结果
12.17 Spring 4 MVC单文件上传——写法2
新建控制层
12.18 Spring 4 MVC多文件上传
12.18.1 新建控制层及JSP文件
12.18.2 运行结果
12.19 Spring 4 MVC支持中文文件名的文件下载
12.20 控制层返回List对象及实体的效果
12.20.1 新建控制层文件
12.20.2 新建JSP文件
12.20.3 更改springMVC-servlet.xml配置文件
12.20.4 程序运行结果
12.21 控制层ModelMap对象
12.21.1 新建控制层
12.21.2 JSP文件代码
12.21.3 运行效果
12.22 Spring 4 MVC提交的表单进行手动数据验证
12.22.1 创建控制层文件
12.22.2 创建JSP文件
12.22.3 运行结果
第13章 Spring 4 MVC必备知识
13.1 web.xml中的不同配置方法
13.1.1 存放于src资源路径中
13.1.2 指定存放路径
13.1.3 指定多个配置文件
13.2 路径中添加通配符的功能
13.3 业务逻辑层在控制层中进行注入
13.3.1 新建业务逻辑层
13.3.2 创建控制层文件
13.3.3 设计springMVC-servlet.xml配置文件
13.3.4 程序运行结果
13.3.5 多个实现类的情况
13.4 对象ModelAndView的使用
13.4.1 创建控制层及JSP文件
13.4.2 程序运行结果
13.5 控制层返回void数据的情况
13.5.1 创建控制层及index.jsp文件
13.5.2 更改配置文件
13.5.3 部署项目运行程序
13.6 使用Spring 4 MVC中的注解来操作HttpSession中的对象
13.6.1 创建控制层文件PutGetSession.java
13.6.2 创建显示不同作用域中的值的JSP文件
13.6.3 部署项目并运行程序
第14章 Spring 4 MVC+MyBatis 3+Spring 4整合
14.1 准备Spring 4的JAR包文件
14.2 准备MyBatis的JAR包文件
14.3 准备MyBatis 3与Spring 4整合的JAR文件
14.4 创建Web项目
14.5 配置web.xml文件
14.7 配置MyBatis配置文件
14.8 创建MyBatis与映射有关文件
14.9 配置applicationContext.xml文件
14.10 创建Service对象
14.11 创建Controller对象
14.12 测试正常的效果
14.13 测试回滚的效果
买过这本书的人还买过
读了这本书的人还在读
同类图书排行榜