五年程序开发经验大佬整理的保姆级资料带你从入门到精通,2021 年一起努力应对互联网寒冬吧
Servlet 容器,Servlet 处理机制,Servlet 生命周期
部署 Servlet
ServletContext, ServletConfig
Filter, Event Listener
JSP
1
《一线大厂 Java 面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义》
【docs.qq.com/doc/DSmxTbFJ1cmN1R2dB】 完整内容开源分享
. 表达式,scriptlet, declaration
在 JSP 中访问 Java 类
JSP 内置对象
处理用户输入
HTTP 方法——GET v.s. POST
读取表单数据
构建 MVC 应用
Servlets/JSP 存在的问题
MVC 设计模式
使用 RequestDispatcher
在 Servlets 和 JSP 中传递数据,EL 表达式
使用 JSTL 作为模板
JSP Tag Lib
Core Tag(if, loop)
Function Tag(string, fmt, utils)
Session
Session&&Cookie 基本概念
通过 Cookie 记录用户状态(类似购物车的例子)
使用 Session 跟踪用户(登录)
5、数据库相关的内容
掌握了 Servlet/JSP 技术,我们已经可以创建动态的 Web 应用了。除了动态的 Web 界面,一个有价值的 Web 应用必然需要进行数据存储,开发上我们一般称之为数据持久化(Data Persistence)。
从业务功能的角度出发,简单的应用可以认为就是数据的增删改查。比如一个产品级的博客应用,最核心的功能就是对博客内容的创建、修改、删除和查询,而这些功能都离不开 Web 服务器背后的数据库系统。
数据库基本概念
实体、关系(表)、记录(行)、列(属性)
主键、外键等
数据库表设计的基本原则
SQL 基础
MySQL 基本使用
SQL 中的 DDL——create,drop,alter,建立主键外键等约束
SQL 中的 DML——insert, select, delete, update,join
JDBC
数据库连接,连接池
使用 JDBC API 访问数据库
分页查询
事务的基本概念
JDBC 代码的封装与数据访问的三层架构
6、Spring 相关的内容
Spring 最重要的两个核心功能是依赖注入(DI,Dependency Injection)和面向切面编程(AOP,Aspect Oriented Programming)。其中 DI 用于管理 Java 对象之间的依赖关系,AOP 用于解耦业务代码和公共服务代码(如日志,安全,事务等)。DI 和 AOP 能够让代码更加简单,具有良好的松耦合特性和可测试性,极大地简化开发。理解这两者是使用 Spring 框架的基础。
Spring 的核心思想
依赖注入
面向切面编程(AOP)
基于 POJO 的编程模型
预置的模板代码(如 Spring JDBC)
依赖注入的基本原理
依赖注入的优点
依赖注入如何实现
依赖注入的使用
基于 XML 的装配方式
基于 Java Configuration 的装配方式
自动装配
多种装配方式的混用
处理装配的歧义
如何注入属性值
Spring Bean 的作用域
Singleton
Prototype
Request
Session
Global
AOP
切面、目标对象、切点、通知、织入等基本概念
如何定义切点:定义切点的 aspectJ 语法
定义通知
前置通知(Before)
后置通知(AfterReturning)
异常通知(AfterThrowing)
最终通知(After)
环绕通知(Around)
如何给切面传参
7、Spring MVC 相关内容
Spring 作为 Java 系的全栈(full-stack)开发框架,当然也对 Web 开发有着非常好的支持。Spring 的 Web MVC 框架能够使开发者非常容易的开发 Web 应用,同时能够无缝享受到 Spring 本身的诸多好处——IoC 容器、AOP 编程等等。
Spring MVC 基本原理、配置
DispatcherServlet
WebApplicationContext
处理 HTTP 请求过程
实现 Controller
@Controller, @RequestMapping 注解
URL 模板模式,@PathVariable
获取 HTTP 请求参数,@RequestParam
@RequestMapping 方法支持的参数
@RequestMapping 方法支持的返回值
视图解析
处理静态资源
配置 JSP
配置其它模板引擎
重定向、Flash Attribute
表单处理
表单数据绑定
Spring 表单标签
表单验证
文件上传
Flash Attribute
拦截器 Interceptors
Spring MVC 请求处理流程
HandlerInterceptor 接口
配置 Interceptor
异常处理
配置错误页面
使用 HTTP 状态码
@ExceptionHandler
ControllerAdvice 全局异常处理
REST API
@ResponseBody 和 @RequestBody
处理 PUT 和 DELETE 请求
8、MyBatis 相关内容
MyBatis 是支持定制化 SQL、存储过程以及高级映射的优秀的持久层框架。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以对配置和原生 Map 使用简单的 XML 或标注,将接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java 对象)映射成数据库中的记录
MyBatis 基础
ORM 的概念
如何定义 Mapper 接口
如何定义 XML Mapper 映射
如何使用 Mapper
MyBatis 的基本使用
SqlSessionFactory
SqlSessionFactoryBuilder
SqlSession
MyBatis-Spring
基于 Spring 如何配置和使用 Mapper
SqlSessionFactoryBean 的配置
MyBatis Spring Boot Starter 的使用
增删改查
熟悉 Mapper 配置文件
select 元素
select 的 resultType 属性
insert 元素
update 元素
delete 元素
复杂查询
resultMap 元素
association 元素
嵌套结果与嵌套查询
collection 元素
discriminator 元素
动态 SQL
分页查询(分页插件)
9、JPA
ORM 框架的出现使得我们能够以面向对象的方式来操作关系数据库,但是长久以来实现应用系统中的数据访问层依然是一件非常繁琐的事情,简单的查询也往往涉及大量重复代码。Spring Data JPA 在则基于 JPA 进一步简化了数据访问层的实现,它提供了一种类似于声明式编程的方式,开发者只需要编写数据访问接口(称为 Repository),Spring Data JPA 就能基于接口中的方法命名自动地生成实现。
JPA(Java Persistence API,Java 持久化 API),定义了对象关系映射(Object Relation Mapping,ORM)以及实体对象持久化的标准接口。 JPA 是一套接口规范,JPA 的实现主要包括 JBoss 的 Hibernate EntityManager、Oracle 捐献给 Eclipse 社区的 EclipseLink 和 Apache 的 OpenJPA 等。
Spring Data JPA 的核心概念
Repository
使用 Repository 的步骤
自定义的 Repository 接口
Repository 接口层次及其方法
定义实体类
自动生成数据库 Schema
@Entity 和 @Table
@Id 和 @GeneratedValue
@Basic
@Column
@Transient
@Temporal
@Lob
定义一对一关系
@OneToOn
@JoinColumn
unique 属性
双向 @OneToOne 关联
双向关联与 cascade
自动映射的命名规则
一对多与多对多关系
最后
学习视频:

大厂面试真题:

评论