文章目录

  • 前言
    • 本书的编写思路
  • 目录
  • 第一部分 Java Web 开发基础
  • 第 1 章 搭建 Java Web 开发环境
  • 第 2 章Servlet 编程
  • 第 3 章 JSP语言基础
    • 3.1 JSP基本语法
      • 3.1.1 JSP 简介
      • 3.1.2 JSP运行机制
      • 3.1.3 第一个JSP程序
      • 3.1.4 JSP 指令
      • 3.1.5 JSP脚本
      • 3.1.6 JSP 注释
    • 3.2 JSP 动作元素
    • 3.3 JSP内置对象
    • 3.4 JSP综合示例
  • 第 4 章 会话管理
    • 4.1 Cookies
      • 4.1.1 Cookie 剖析
      • 4.1.2 在Servlet中操作 Cookie
      • 4.1.3 Cookie API
      • 4.1.4 使用Cookie示例
    • 4.2 HttpSession 对象
      • 4.2.3 使 用HttpSession示例
    • 4.3 URL 重写
      • 4.3.1 为什么 需要URL重写
      • 4.3.2 encodeURL() 和 encodeRedirectURL()
      • 4.3.3 使用URL 重写示例
    • 4.4 隐藏表单域
  • 第 5 章 EL和JSTL
    • 5.1 JSP表达式语言
      • 5.1.1 EL 简介
      • 5.1.2 EL 的运算符和优先级
      • 5.1.3 EL 隐式对象
      • 5.1.4 定义和使用EL函数
    • 5.2 JSP 标准标签库
      • 5.2.1 JSTL 简介
      • 5.2.2 JSTL 安装与配置
      • 5.2.3核 心标签库
  • 第 6 章 过滤器与监听器
    • 6.1 Servlet 过滤器
      • 6.1.1 Filter 工作原理
      • 6.1.2 Filter 核心接口
      • 6.1.3 Filter 生命周期
      • 6.1.4 Filter配置
      • 6.1.5 Filter 应用
    • 6.2 Servlet 监听器
      • 6.2.1 Servlet 监听器概述
      • 6.2.2 Servlet. 上下文监听
      • 6.2.3 HTTP 会话监听
      • 6.2.4 Servlet 请求监听
  • 第 7 章 AJAX技术
    • 7.1 实现AJAX应用的一般步骤
    • 7.2 使用 XMLHtpRequest对象
      • 7.2.1创建 XMLHttpRequest对象
      • 7.2.2 XMLHttpRequest 对象的常属性与事件
      • 7.2.3 XMLHttpRequest 对象的常用方法
    • 7.3 AJAX 示例
      • 7.3.1 更改文本内容
      • 7.3.2 查询项目信息
      • 7.3.3验证注册邮箱格式和唯一性
      • 7.4 本章小结
  • 第 8 章 Maven
    • 8.1 初识Maven
    • 8.2 Maven 的安装和配置
    • 8.3 Maven 使用
    • 8.4坐标和依赖
  • 第 9 章 jQuery EasyUI
    • 9.1 jQuery 基础
      • 9.1.1初识 jQuery
      • 9.1.2 jQuery 选择器
      • 9.1.3 jQuery 事件
      • 9.1.4 jQuery AJAX
    • 9.2 jQuery EasyUI
    • 9.3 jQuery EasyUI布局
      • 9.3.1 创建边框布局
      • 9.3.2 在面板中创建复杂布局
      • 9.3.3 创建折叠面板
      • 9.3.4 创建标签页
      • 9.3.5 动态添加标签页
    • 9.4 jQuery EasyUI数据网格
      • 9.4.1 转换 HTML表格为数据网格
      • 9.4.2 取得选中行数据
      • 9.4.3 创建复杂工具栏
      • 9.3.5 动态添加标签页
  • 第二部分MyBatis
  • 第 10 章 MyBatis入门
    • 10.1 从JDBC到MyBatis
    • 10.2 第一个MyBatis示例
      • 10.2.1 创建 Maven项目
      • 10.2.2 准备数据
      • 10.2.3 MyBatis 配置
      • 10.2.4 创建实体类
      • 10.2.5 创建映射接口和 SQL映射文件
      • 10.2.6 配置Log4j
      • 10.2.7 测试
    • 10.3 MyBatis 框架原理
      • 10.3.1 MyBatis 整体架构
      • 10.3.2 MyBatis 运行原理
    • 10.4 MyBatis 核心组件的生命周期
      • 10.4.1 SqlSessionFactoryBuilder
      • 10.4.2 SqlSessionFactory
      • 10.4.3 SqlSession
      • 10.4.4 Mapper Instances
  • 第11章配置和映射
    • 11.1 示例:实现表数据的增、删、改、查
    • 11.2 MyBatis主配置文件
    • 11.3 XML映射文件
    • 11.4 高级结果映射
      • 11.4.1 示例说明
      • 11.4.2 一对一映射
      • 11.4.3 一对多映射
      • 11.4.4 多对多关联
  • 第 12 章动态 SQL
    • 12.1 示例: 使用动态 SQL
    • 12.2 if
    • 12.3 choose、when、otherwise
    • 12.4 where、 set、 trim
    • 12.5 foreach
    • 12.6 bind
  • 第 13 章 MyBatis 其他
    • 13.1 MyBatis 注解方式
      • 13.1.1使用注解方 式实现表数据的增、删、改、查
      • 13.1.2 使用注解的动态 SQL
    • 13.2 MyBatis 缓存配置
      • 13.2.1 一级缓存( SqlSession层面)
      • 13.2.2 二级缓存 (SqlSessionFactory层面)
  • 第 14 章 MyBatis 应用
    • 14.1 示例总体介绍
      • 14.1.1 任务说明和准备数据
      • 14.1.2 总体框架
      • 14.1.3 程序主要流程
    • 14.2典型代码及技术要点
      • 14.2.1 通用功能包的类实现
      • 14.2.2 控制层
      • 14.2.3 业务层及使用 FastJson
      • 14.2.4 数据层及 JNDI 数据源
      • 14.2.5 部署发布
      • 14.2.6 使用 Jackson 和手工平凑 JSON
  • 第三部分
  • 第 15 章 Spring 基础
    • 15.1 Spring 入门
      • 15.1.1 Spring 概述
      • 15.1.2 使用 Spring 容器
    • 15.2 依赖注入
    • 15.3 Spring 容器中的 Bean
    • 15.4 容器中 Bean 的生命周期
    • 15.5 两种后处理器
      • 15.5.1 Bean 后处理器
      • 15.5.2 容器后处理器
    • 15.6 装配Spring Bean
      • 15.6.1 通过 XML 配置装配 Bean
      • 15.6.2 通过注解装配 Bean
      • 15.6.3 自动装配和精确装配
    • 15.7 Spring 的 AOP
      • 第 16 章 Spring MVC入门
    • 16.1 Spring MVC概述
    • 16.2 Spring MVC入门示例1: Hello,Spring MVC!
      • 16.2.1 创建 Maven 项目
      • 16.2.2 pom.xml
      • 16.2.3 Web 应用部署描述文件 Web.xml
      • 16.2.4 Spring MVC 配置文件
      • 16.2.5 基于 Controller接口的控制器
      • 16.2.6 视图
      • 16.2.7 部署发布项目
      • 16.3 Spring MVC入门示例2: 表单提交
      • 16.3.1创建 Maven 项目
      • 16.3.2 编码过滤器
      • 16.3.3 表单提交及相应配置
      • 16.3.4 测试应用
    • 16.4 Spring MVC入门示例3: 基于注解
      • 16.4.1创建 Maven 项目
      • 16.4.2 创建控制器并添加注解
      • 16.4.3 视图解析器
      • 16.4.4 测试应用
    • 16.5 Spring MVC的工作流程
  • 第 17 章基于注解的控制器
    • 17.1 Spring MVC 常用注解
      • 17.1.1 @Controller 和 @Request Mapping
      • 17.1.2 @Autowired 和 @Service
      • 17.1.3 @RequestParam 和 @Path Variable
      • 17.1.4 @CookieValue 和 @RequestHeader
      • 17.2.5 @ModelAttribute
      • 17.3 基于注解的控制器示例1
      • 17.3.1 创建 AnnotationDemo1 工程
      • 17.3.2 创建控制器 并添加注解
      • 17.3.3 测试应用
    • 17.4 基于注解的控制器示例2
      • 17.4.1创建 AnnotationDemo2 工程
      • 17.4.2 应用@Autowired 和 @Service 进行依赖注入
    • 17.4.3 重定向
      • 17.4.4 测试应用
  • 第 18 章拦截器、数据转换和格式化
    • 18.1 Spring MVC的拦截器
      • 18.1.1 拦截 器的定义和注册
      • 18.1.2 拦截器的执行流程
      • 18.1.3 多个拦截器执行的顺序
      • 18.1.4 拦截器应用
    • 18.2 Spring MVC的数据转换和格式化
      • 18.2.1 Spring MVC消息转换流程
      • 18.2.2 Spring MVC的数据绑定
      • 18.2.2 Spring MVC的数据转换
      • 18.2.2 Spring MVC的数据格式化
      • 18.2.5 JSON 格式的数据转换
  • 第 19 章 Spring MVC 其他
    • 19.1 Spring MVC 的表单标签库
    • 19.2 表单验证
      • 19.2.1 Spring 验证
      • 19.2.2 JSR 303验证
      • 19.3 Spring MVC的文件上传和下载
      • 19.3.1 文件上传
      • 19.3.2 文件下载
    • 19.4 Spring MVC 的国际化
  • 第 20 章 Spring MVC + MyBatis 应用
    • 20.1 项目总体介绍
      • 20.1.1 项目简介及任务说明
      • 20.1.2 一准备数据
      • 20.1.3 总体框架
    • 20.2 典型代码及技术要点
      • 20.2.1 登录模块及 Kaptcha 验证码组件
      • 20.2.2 系统管理界面
      • 20.2.3 系统用户管理

前言

Web 应用开发——基于 Spring MVC + MyBits + Maven

​       Spring MVC是一个基于动作的MVC框架。该框架突出了HTTP中的请求/响应特性,在该框架中,用户的每一个请求都声明了一个需要执行的动作。而这主要是通过将每个请求URI映射到一个可执行的方法来实现的。同时,其也将请求参数映射到对应方法的参数上。

​       Spring MVC与Spring框架集成在一起(如IoC容器、AOP等),具有非常灵活的数据校验、数据转换和格式化,以及数据绑定机制,支持RESTful,提供强大的约定优于配置的契约式编程支持,能够让开发者进行更简洁的Web层的开发。

​       MyBatis是支持定制化SQL、存储过程以及高级映射的优秀的持久层框架。MyBatis 避免了几乎所有的JDBC代码和手动设置参数及获取结果集。MyBatis 可以对配置和原生Map使用简单的XML或注解,将接口和Java的POJO映射成数据库中的记录。

​       MyBatis框架的优点在于:①与JDBC相比,减少了50%以上的代码量;②MyBatis 是最简单的持久化框架,小巧且简单易学;③MyBatis 相当灵活,不会对应用程序或者数据库的现有设计强加任何影响,SQL写在XML里,从程序代码中彻底分离,降低了耦合度,便于统一管理和优化,并可重用;④提供了XML标签,支持编写动态SQL句;⑤提供了映射标签,支持对象与数据库的ORM映射。

​       为什么有Maven? 构建是程序员每天要做的工作,而且相当长的时间花在了这方面,而Maven可使这一系列的工作完全自动化。人们一直在寻找避免重复的方法,这里的重复有:设计的重复、文档的重复、编码的重复、构建的重复等。而Maven是跨平台的,使用它最大限度地消除了构建的重复。

​       Maven不仅是构建工具,还是依赖管理工具和项目管理工具,Maven 提供了中央仓库,能够帮用户自动下载构件。使用Maven可以进行项目高度自动化构建、依赖管理和仓库管理等。而使用Maven最大的好处就是可以实现依赖管理。

​       一般来说,对于性能要求较高的互联网项目,通常会选用SSM框架。

本书的编写思路

​ 本书基于以下教学理念编写而成。

  1. 注重基础

​       要把Spring MVC + MyBatis + Maven学好,必须要有扎实的基本功,这也就是本书第一部分的内容一Java Web开发基础,主要包括Servlet编程、JSP基础、会话管理、EL和JSTL、过滤器与监听器、AJAX 技术等内容。同样,要想把“Java Web开发基础”学好,就要有扎实的Java基础。在学习的旅途中,我们要循序渐进。

  1. 注重知识(或者技术)格局(框架)

​       注重技术细节是个好事,但学以致用。这样才会更有学习的动力。无论是Spring MVC、MyBatis、Maven,或者Java Web开发基础,其中的哪一部分拿 出来都可以是一本书的内容,或者是一学期的课程。但一旦我们的技术格局有了,骨架有了,血肉是可以逐渐丰满起来的。学生一旦产生兴趣,技术(或者知识)细节方面的,他自己会努力学会并加以运用的。这样(同时)还会培养他自己的自学能力。这也是本书集“Java Web开发基础+ MyBatis + SpringMVC + Maven"于一体,作为《Web 应用开发》课程主要教学内容的原因。

  1. 注重编程实践

​       本书的编程实例很多,限于篇幅,书中的一些示例代码往往只是核心代码,并不是全部的源程序。读者需要到源码包里仔细地阅读代码,以掌握相应的知识(或技能)。要成为优秀的程序员,编写相当数量的代码还是必要的。设计模式是在代码重构的过程中凸现出来的。所以,编写大量代码、注重编程实践,也为以后成为优秀的架构师打下了基础。

  1. 注重学习者的自身努力和悟性

​       “师傅领进门,修行在个人”,要成为优秀的软件工程师以致架构师,尤其需要个人的勤奋努力及悟性。如果在学习的过程中,学习者态度消极、被动、有惰性,那么谁也帮不上忙。

  1. 注重能力培养

​       “授人以鱼不如授人以渔”,但就编者的教学体会而言, 实际上大多数学生喜欢的是“鱼”,而不是“渔”。所以,在教学实践中,恰如其分的引导是非常必要的。学生的“娇气”对学生以后的发展并没有多大好处。

​ “Rome was not build in a day!",能力的培养需要-个过程,虽然未必是“宝剑锋从磨砺出,梅花香自苦来”,但还是需要大量的编程实践、代码重构和反思(“悟”),经过长时间的潜移默化来逐渐习得。

​       在教学过程中,更多的需要是“随风潜入夜,润物细无声”。

目录

第一部分 Java Web 开发基础

第 1 章 搭建 Java Web 开发环境

  • 1.1 基于B/S 结构的 Web 应用
  • 1.2 JDK安装与配置]
  • 1.3 服务器Tomcat下载与安装
  • 1.4 Eclipse安装与使用
    • 1.4.1 1.4.1 Eclipse 下载及创建Dynamic Web Project
    • 1.4.2 Eclipse 中的编码问题
    • 1.4.3 将Tomcat和Eclipse相关联
    • 1.4.4 Eclipse 自动部署项目到 Tomcat 的 webapps 目录
    • 1.5 MySQL 安装配置与使用
  • 1.6 PostgreSQL安装与使用
    • 1.6.1 PostgreSQL 下载与安装
    • 1.6.2 使用 pgAdmin III连接 PostgreSQL
    • 1.6.3 使用pgAdmin III创建数据库
  • 1.7 Navicat Premium安装与使用

第 2 章Servlet 编程

  • 2.1 Servlet 简介
  • 2.2 Servlet 基础
    • 2.2.1用 记事本写一个 Servlet
    • 2.2.2 Servlet 体系结构
    • 2.2.3 Servlet 接口
    • 2.2.4 Servlet 生命周期
    • 2.2.5 Servlet 生命周期示例
  • 2.3 Servlet API编程常用接口和类
    • 2.3.1 GenericServlet 类
    • 2.3.2 HttpServlet类
    • 2.3.4 HttpServletRequest 接口
    • 2.3.5 HttpServletResponse接口
    • 2.3.6 ServletContext 接口
  • 2.4 Servlet 处理表单数据
  • 2.5 Servlet 重定向和请求转发
    • 2.5.1 重定向
    • 2.5.2 请求转发
    • 2.5.3 Servlet 中请求转发时 forwordO 和 include() 的区别
  • 2.6 Servlet 数据库访问
    • 2.6.1 JDBC 基础
    • 2.6.2 创建测试数据
    • 2.6.3 访问数据库
  • 2.7 Servlet异常处理
  • 2.8 异步 Servlet

第 3 章 JSP语言基础

3.1 JSP基本语法

3.1.1 JSP 简介

3.1.2 JSP运行机制

3.1.3 第一个JSP程序

3.1.4 JSP 指令

3.1.5 JSP脚本

3.1.6 JSP 注释

3.2 JSP 动作元素

3.3 JSP内置对象

3.4 JSP综合示例

第 4 章 会话管理

4.1 Cookies

4.1.1 Cookie 剖析

4.1.2 在Servlet中操作 Cookie

4.1.3 Cookie API

4.1.4 使用Cookie示例

4.2 HttpSession 对象

4.2.3 使 用HttpSession示例

4.3 URL 重写

4.3.1 为什么 需要URL重写

4.3.2 encodeURL() 和 encodeRedirectURL()

4.3.3 使用URL 重写示例

4.4 隐藏表单域

第 5 章 EL和JSTL

5.1 JSP表达式语言

5.1.1 EL 简介

5.1.2 EL 的运算符和优先级

5.1.3 EL 隐式对象

5.1.4 定义和使用EL函数

5.2 JSP 标准标签库

5.2.1 JSTL 简介

5.2.2 JSTL 安装与配置

5.2.3核 心标签库

第 6 章 过滤器与监听器

6.1 Servlet 过滤器

6.1.1 Filter 工作原理

6.1.2 Filter 核心接口

6.1.3 Filter 生命周期

6.1.4 Filter配置

6.1.5 Filter 应用

6.2 Servlet 监听器

6.2.1 Servlet 监听器概述

6.2.2 Servlet. 上下文监听

6.2.3 HTTP 会话监听

6.2.4 Servlet 请求监听

第 7 章 AJAX技术

7.1 实现AJAX应用的一般步骤

7.2 使用 XMLHtpRequest对象

7.2.1创建 XMLHttpRequest对象

7.2.2 XMLHttpRequest 对象的常属性与事件

7.2.3 XMLHttpRequest 对象的常用方法

7.3 AJAX 示例

7.3.1 更改文本内容

7.3.2 查询项目信息

7.3.3验证注册邮箱格式和唯一性

7.4 本章小结

第 8 章 Maven

8.1 初识Maven

8.2 Maven 的安装和配置

8.3 Maven 使用

8.4坐标和依赖

第 9 章 jQuery EasyUI

9.1 jQuery 基础

9.1.1初识 jQuery

9.1.2 jQuery 选择器

9.1.3 jQuery 事件

9.1.4 jQuery AJAX

9.2 jQuery EasyUI

9.3 jQuery EasyUI布局

9.3.1 创建边框布局

9.3.2 在面板中创建复杂布局

9.3.3 创建折叠面板

9.3.4 创建标签页

9.3.5 动态添加标签页

9.4 jQuery EasyUI数据网格

9.4.1 转换 HTML表格为数据网格

9.4.2 取得选中行数据

9.4.3 创建复杂工具栏

9.3.5 动态添加标签页

第二部分MyBatis

第 10 章 MyBatis入门

10.1 从JDBC到MyBatis

10.2 第一个MyBatis示例

10.2.1 创建 Maven项目

10.2.2 准备数据

10.2.3 MyBatis 配置

10.2.4 创建实体类

10.2.5 创建映射接口和 SQL映射文件

10.2.6 配置Log4j

10.2.7 测试

10.3 MyBatis 框架原理

10.3.1 MyBatis 整体架构

10.3.2 MyBatis 运行原理

10.4 MyBatis 核心组件的生命周期

10.4.1 SqlSessionFactoryBuilder

10.4.2 SqlSessionFactory

10.4.3 SqlSession

10.4.4 Mapper Instances

第11章配置和映射

11.1 示例:实现表数据的增、删、改、查

11.2 MyBatis主配置文件

11.3 XML映射文件

11.4 高级结果映射

11.4.1 示例说明

11.4.2 一对一映射

11.4.3 一对多映射

11.4.4 多对多关联

第 12 章动态 SQL

12.1 示例: 使用动态 SQL

12.2 if

12.3 choose、when、otherwise

12.4 where、 set、 trim

12.5 foreach

12.6 bind

第 13 章 MyBatis 其他

13.1 MyBatis 注解方式

13.1.1使用注解方 式实现表数据的增、删、改、查

13.1.2 使用注解的动态 SQL

13.2 MyBatis 缓存配置

13.2.1 一级缓存( SqlSession层面)

13.2.2 二级缓存 (SqlSessionFactory层面)

第 14 章 MyBatis 应用

14.1 示例总体介绍

14.1.1 任务说明和准备数据

14.1.2 总体框架

14.1.3 程序主要流程

14.2典型代码及技术要点

14.2.1 通用功能包的类实现

14.2.2 控制层

14.2.3 业务层及使用 FastJson

14.2.4 数据层及 JNDI 数据源

14.2.5 部署发布

14.2.6 使用 Jackson 和手工平凑 JSON

第三部分

第 15 章 Spring 基础

15.1 Spring 入门

15.1.1 Spring 概述

15.1.2 使用 Spring 容器

15.2 依赖注入

15.3 Spring 容器中的 Bean

15.4 容器中 Bean 的生命周期

15.5 两种后处理器

15.5.1 Bean 后处理器

15.5.2 容器后处理器

15.6 装配Spring Bean

15.6.1 通过 XML 配置装配 Bean

15.6.2 通过注解装配 Bean

15.6.3 自动装配和精确装配

15.7 Spring 的 AOP

第 16 章 Spring MVC入门

16.1 Spring MVC概述

16.2 Spring MVC入门示例1: Hello,Spring MVC!

16.2.1 创建 Maven 项目

16.2.2 pom.xml

16.2.3 Web 应用部署描述文件 Web.xml

16.2.4 Spring MVC 配置文件

16.2.5 基于 Controller接口的控制器

16.2.6 视图

16.2.7 部署发布项目

16.3 Spring MVC入门示例2: 表单提交

16.3.1创建 Maven 项目

16.3.2 编码过滤器

16.3.3 表单提交及相应配置

16.3.4 测试应用

16.4 Spring MVC入门示例3: 基于注解

16.4.1创建 Maven 项目

16.4.2 创建控制器并添加注解

16.4.3 视图解析器

16.4.4 测试应用

16.5 Spring MVC的工作流程

第 17 章基于注解的控制器

17.1 Spring MVC 常用注解

17.1.1 @Controller 和 @Request Mapping

17.1.2 @Autowired 和 @Service

17.1.3 @RequestParam 和 @Path Variable

17.1.4 @CookieValue 和 @RequestHeader

17.2.5 @ModelAttribute

17.3 基于注解的控制器示例1

17.3.1 创建 AnnotationDemo1 工程

17.3.2 创建控制器 并添加注解

17.3.3 测试应用

17.4 基于注解的控制器示例2

17.4.1创建 AnnotationDemo2 工程

17.4.2 应用@Autowired 和 @Service 进行依赖注入

17.4.3 重定向

17.4.4 测试应用

第 18 章拦截器、数据转换和格式化

18.1 Spring MVC的拦截器

18.1.1 拦截 器的定义和注册

18.1.2 拦截器的执行流程

18.1.3 多个拦截器执行的顺序

18.1.4 拦截器应用

18.2 Spring MVC的数据转换和格式化

18.2.1 Spring MVC消息转换流程

18.2.2 Spring MVC的数据绑定

18.2.2 Spring MVC的数据转换

18.2.2 Spring MVC的数据格式化

18.2.5 JSON 格式的数据转换

第 19 章 Spring MVC 其他

19.1 Spring MVC 的表单标签库

19.2 表单验证

19.2.1 Spring 验证

19.2.2 JSR 303验证

19.3 Spring MVC的文件上传和下载

19.3.1 文件上传

19.3.2 文件下载

19.4 Spring MVC 的国际化

第 20 章 Spring MVC + MyBatis 应用

20.1 项目总体介绍

20.1.1 项目简介及任务说明

20.1.2 一准备数据

20.1.3 总体框架

20.2 典型代码及技术要点

20.2.1 登录模块及 Kaptcha 验证码组件

20.2.2 系统管理界面

20.2.3 系统用户管理

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。