文章目录

前言

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框架。

目录

第一部分 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 系统用户管理

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐