内容推荐 在Java Web开发领域,各种新技术层出不穷。本书介绍了用Spring开发Java Web应用的各种技术,包括Spring MVC框架、数据验证、拦截器、异常处理机制、Web应用的国际化、服务器端异步处理客户请求、AOP面向切面编程、通过Spring JDBC API访问数据库、通过Spring Data API访问数据库、RESTFul风格编程、WebFlux响应式编程、用Spring整合CXF开发Web服务以及用Spring Cloud框架开发微服务等。本书还对目前比较流行的技术解决方案所蕴含的思想做了深刻的阐述,包括MVC设计模式、依赖注入、控制反转、前后端分离、服务器端推送、Token机制、AOP编程思想、对象关系映射、响应式编程模型、RESTFul架构、分布式的Web服务架构以及分布式的微服务架构等。 无论对于Java开发的新手还是行家来说,本书都是精通Spring和Java Web开发技术的必备实用手册。 作者简介 孙卫琴,知名IT作家和Java专家,毕业于上海交通大学,随后主要从事基于Java的软件开发工作,在此期间还从事Java方面的培训和咨询工作。2002年开始Java技术领域的创作,文风清晰严谨、深入浅出,深受读者欢迎,其多部作品的销量在同类书籍中一度位居全国榜首。 代表著作有:《Java面向对象编程》《Java网络编程精解》《Java逍遥游记》《Hibernate逍遥游记》《精通Hibernate: Java对象持久化技术详解》《精通Struts: 基于MVC的Java Web设计与开发》《Tomcat与、Java Web开发技术详解》《Java 2认证考试指南与试题解析》。 目录 第1章 Spring、Spring MVC与Java Web应用简介 1.1 Java Web应用概述 1.1.1 Servlet组件 1.1.2 JSP组件 1.1.3 共享数据在Web应用中的范围 1.1.4 JavaBean组件及其在Web应用中的存放范围 1.1.5 自定义的JSP标签 1.1.6 XML语言 1.1.7 Web服务器端 1.2 Web组件的三种关联关系 1.2.1 请求转发 1.2.2 请求重定向 1.2.3 包含 1.3 MVC概述 1.3.1 MVC设计模式 1.3.2 JSP Model 1和JSP Model 2 1.4 Spring MVC概述 1.4.1 Spring MVC的框架结构 1.4.2 Spring MVC的工作流程 1.5 Spring框架和它的分支框架 1.6 小结 1.7 思考题 第2章 第一个入门范例: helloapp应用 2.1 分析helloapp应用的需求 2.2 运用Spring MVC框架 2.3 创建视图组件 2.3.1 创建JSP文件 2.3.2 创建消息资源文件 2.4 创建控制器组件 2.4.1 Controller类的URL入口和请求转发 2.4.2 访问模型组件 2.4.3 与视图组件共享数据 2.4.4 Web组件存取共享数据的原生态方式 2.5 创建模型组件 2.6 创建配置文件 2.6.1 创建Web应用的配置文件 2.6.2 创建Spring MVC框架的配置文件 2.6.3 访问静态资源文件 2.7 发布和运行helloapp应用 2.7.1 初次访问hello.jsp的流程 2.7.2 数据验证的流程 2.8 依赖注入和控制反转 2.9 向Spring框架注册Bean组件的方式 2.10 小结 2.11 思考题 第3章 控制器层的常用类和注解 3.1 用@Controller注解标识控制器类 3.2 控制器对象的存在范围 3.3 设置控制器类的请求处理方法的URL入口 3.3.1 设置URL入口的普通方式 3.3.2 限制URL入口的请求参数、请求方式和请求头 3.3.3 @GetMapping和@PostMapping等简化形式的注解 3.4 绑定HTTP请求数据和控制器类的方法参数 3.4.1 直接定义和请求参数同名的方法参数 3.4.2 用@RequestParam注解绑定请求参数 3.4.3 用@RequestHeader注解绑定HTTP请求头 3.4.4 用@CookieValue注解绑定Cookie 3.4.5 用@PathVariable注解绑定RESTFul风格的URL变量 3.4.6 把一组请求参数和一个JavaBean类型的方法参数绑定 3.5 请求参数的类型转换 3.5.1 创建包含表单的hello.jsp 3.5.2 创建包含Person信息的Person类 3.5.3 创建类型转换器PersonConverter类 3.5.4 在Spring MVC配置文件中注册类型转换器 3.5.5 创建处理请求参数的控制器类PersonController 3.6 请求参数的格式转换 3.7 控制器类的方法的参数类型 3.8 控制器类的方法的返回类型 3.8.1 String返回类型 3.8.2 void返回类型 3.9 控制器与视图的数据共享 3.9.1 @ModelAttribute注解 3.9.2 Model接口 3.9.3 ModelMap类 3.9.4 ModelAndView类 3.9.5 把Model中的数据存放在session范围内 3.9.6 通过@SessionAttribute注解读取session范围内的Model数据 3.10 @ControllerAdvice注解的用法 3.11 小结 3.12 思考题 第4章 视图层创建HTML表单 4.1 Spring标签库中的表单标签 4.1.1 表单标签form:form 4.1.2 文本框标签form:input 4.1.3 密码框标签form:password 4.1.4 隐藏框标签form:hidden 4.1.5 文本域标签form:textarea 4.1.6 复选框标签form:checkbox 4.1.7 组合复选框标签form:checkboxes 4.1.8 单选按钮标签form:radiobutton 标签 4.1.9 组合单选按钮标签form:radiobuttons 4.1.10 下拉列表标签form:select 4.1.11 输出错误消息的标签form:errors 4.2 处理复杂表单的Web应用范例 4.2.1 在JSP文件中生成复杂表单 4.2.2 控制器类与视图共享表单数据 4.3 设置HTTP请求和响应结果的字符编码 4.4 小结 4.5 思考题 第5章 数据验证 5.1 按照JSR303规范进行数据验证 5.1.1 数据验证注解 5.1.2 自定义数据验证注解 5.1.3 在Spring MVC的配置文件中配置Hibernate Validator验证器 5.1.4 在控制器类中进行数据验证 5.1.5 在JSP文件中指定显示错误消息的CSS样式 5.2 Spring框架的数据验证机制 5.2.1 实现Spring的Validator接口 5.2.2 用数据验证类进行数据验证 5.3 小结 5.4 思考题 第6章 拦截器 6.1 拦截器的基本用法 6.1.1 创建自定义的拦截器 6.1.2 配置拦截器 6.1.3 拦截器的执行流程 6.2 串联的拦截器 6.3 范例: 用拦截器实现用户身份验证 6.4 小结 6.5 思考题 第7章 异常处理 7.1 Spring MVC的异常处理机制 7.1.1 处理视图层的异常 7.1.2 处理HTTP状态代码为404的错误 7.1.3 处理模 |