一、前置准备阶段:搞定开发环境(1-2 天)
这一步是基础中的基础,先把工具配好,避免后续学习被环境问题卡壳。
核心任务
- 安装核心工具
- JDK(推荐 8/11 版本,企业主流):学会配置环境变量(JAVA_HOME、Path),能用命令行验证
java -version、javac是否生效; - IDE(开发工具):优先选 IntelliJ IDEA(社区版免费),熟悉基本操作(新建项目、写代码、运行程序);
- 辅助工具:
- Maven(项目管理工具):学会配置本地仓库、修改镜像源(阿里镜像),理解 pom.xml 的作用;
- Git(版本控制):学会基本命令(git init、git add、git commit、git push),能把代码上传到 Gitee/GitHub。
- JDK(推荐 8/11 版本,企业主流):学会配置环境变量(JAVA_HOME、Path),能用命令行验证
- 验证环境:用 IDEA 写一个简单的 Java 控制台程序(比如输出 “Hello Java”),确保能正常编译运行。
学习目标
- 不用查教程也能独立配置 Java 开发环境;
- 能通过 Maven 创建空项目,理解依赖的引入方式。
二、基础夯实阶段:Java 核心语法(2-3 周)
Java Web 的所有框架、组件都基于 Java 核心,这一步学不扎实,后续学 Web 会越学越懵,切忌跳过。
核心知识点(按优先级排序)
- 基础语法:变量、数据类型、运算符、流程控制(if/else、for/while、switch)、异常处理(try/catch/finally);
- 面向对象核心:类和对象、封装 / 继承 / 多态、抽象类和接口、this/super 关键字、static/final 修饰符;
- 常用 API:String/StringBuilder、集合框架(ArrayList/HashMap/HashSet 是重点,理解底层原理)、IO 流(文件读写、字节流 / 字符流)、日期时间(LocalDateTime);
- 进阶基础:多线程(线程创建、同步锁)、反射(了解即可,框架底层会用)、Lambda 表达式(简化代码)。
实战练习
- 写一个 “学生信息管理系统”(控制台版):实现新增 / 查询 / 修改 / 删除学生信息,用集合存储数据,练习面向对象和 IO 流(把数据保存到本地文件);
- 练习集合高频面试题:比如 HashMap 的扩容机制、ArrayList 和 LinkedList 的区别。
学习目标
- 能独立写控制台程序解决简单业务问题;
- 理解面向对象的核心思想,不是死记语法。
三、Web 入门阶段:核心原理 + Tomcat(1-2 周)
这一步是从 “本地程序” 到 “Web 程序” 的关键,理解 Web 的核心运行逻辑。
核心知识点
- Web 基础概念:
- HTTP 协议(重点):请求 / 响应格式、常用请求方法(GET/POST)、状态码(200/404/500/302);
- 前后端交互逻辑:浏览器发请求→服务器处理→返回响应的完整流程;
- Tomcat 服务器:
- 安装和配置:修改端口(默认 8080)、部署 Web 项目(war 包 / 文件夹);
- 理解 Tomcat 的作用:运行 Java Web 程序的容器,相当于 “Web 程序的运行场地”;
- Servlet 核心(Web 入门核心):
- Servlet 的生命周期(init→service→destroy);
- 编写第一个 Servlet:继承 HttpServlet,重写 doGet/doPost 方法,配置 web.xml 或 @WebServlet 注解;
- 请求参数获取(request.getParameter)、响应数据返回(response.getWriter);
- Cookie 和 Session:理解会话跟踪机制(保存用户登录状态);
- JSP(了解即可,现在少用):
- JSP 的本质(就是 Servlet)、JSP 内置对象(request/response/session)、EL 表达式和 JSTL 标签(简化页面数据展示)。
实战练习
- 写一个 “用户登录页面”(原生 Servlet 版):
- 前端用 HTML 写登录表单(用户名 + 密码),提交到 Servlet;
- Servlet 接收参数,模拟验证(比如固定用户名 admin / 密码 123);
- 验证成功用 Session 保存用户信息,跳转到首页;失败则返回登录页提示错误。
学习目标
- 理解 “浏览器→服务器” 的请求响应流程;
- 能独立用 Servlet 实现简单的登录 / 注册功能。
四、数据持久化阶段:数据库 + JDBC/MyBatis(2-3 周)
Web 程序的核心是操作数据,这一步要学会把数据存到数据库,而不是本地文件。
核心知识点
- MySQL 数据库(重点):
- 基础操作:库 / 表的创建删除、增删改查(CRUD)、条件查询(where/like/order by)、联表查询(join);
- 进阶操作:索引(提升查询速度)、事务(ACID 特性,解决数据一致性问题)、分页查询(limit);
- 工具:用 Navicat/DBeaver 可视化操作数据库,熟悉 SQL 语句编写;
- JDBC(原生数据库连接):
- 核心步骤:加载驱动→创建连接→执行 SQL→处理结果→关闭资源;
- 理解 JDBC 的问题:代码繁琐、硬编码多、连接池(Druid/C3P0)的作用(优化连接创建开销);
- MyBatis(重点,替代 JDBC):
- 核心思想:ORM 框架(把数据库表和 Java 实体类映射),简化 SQL 操作;
- 核心配置:mybatis-config.xml(全局配置)、Mapper 接口 + XML(编写 SQL);
- 核心功能:CRUD 操作、参数传递、结果映射、分页插件(PageHelper)、动态 SQL(if/where/foreach)。
实战练习
- 改造 “用户登录系统”:
- 创建 MySQL 用户表(id / 用户名 / 密码 / 创建时间);
- 用 MyBatis 实现用户注册(插入数据)、登录(查询数据);
- 加入连接池,优化数据库连接性能。
学习目标
- 能独立写复杂 SQL 查询;
- 用 MyBatis 完成数据库的增删改查,理解 ORM 的思想。
五、框架核心阶段:Spring + SpringMVC + Spring Boot(3-4 周)
这是企业开发的 “标配”,Spring Boot 更是当前主流,简化了传统 SSM 的繁琐配置。
核心知识点(按学习顺序)
- Spring 核心:
- IOC 容器(控制反转):把对象创建交给 Spring 管理,理解 Bean 的生命周期、依赖注入(DI,@Autowired);
- AOP(面向切面编程):理解切面 / 通知 / 切点,实现日志记录、事务控制等通用功能;
- 事务管理:@Transactional 注解的使用,解决数据库操作的一致性问题;
- SpringMVC:
- 核心流程:DispatcherServlet(前端控制器)→HandlerMapping(处理器映射)→Controller(控制器)→ViewResolver(视图解析);
- 核心注解:@Controller/@RestController、@GetMapping/@PostMapping、@RequestParam/@PathVariable;
- 请求参数接收:普通参数、对象参数、文件上传、JSON 参数(@RequestBody);
- 统一异常处理:@ControllerAdvice + @ExceptionHandler;
- Spring Boot(重点,替代传统 SSM):
- 核心优势:自动配置、起步依赖(starter)、内嵌 Tomcat,不用手动配置 xml;
- 核心操作:创建 Spring Boot 项目、配置 application.yml(端口、数据库连接)、整合 MyBatis、接口开发;
- 常用功能:全局异常处理、接口参数校验(@Valid)、日志配置(logback)、Swagger(接口文档)。
实战练习
- 开发 “图书管理系统”(Spring Boot 版):
- 实现核心功能:图书新增 / 查询 / 修改 / 删除、分类管理、用户登录鉴权;
- 加入参数校验(比如图书名称不能为空)、全局异常处理(返回统一格式的错误信息);
- 用 Swagger 生成接口文档,方便测试。
学习目标
- 理解 Spring IOC/AOP 的核心思想;
- 能独立用 Spring Boot 开发 RESTful 接口,实现前后端交互。
六、进阶强化阶段:补充必备技能(2-3 周)
这一步是提升竞争力的关键,企业开发中这些技能几乎必用。
核心知识点
- 前端基础(够用即可):
- HTML/CSS:能写简单的页面布局(表单、列表);
- JavaScript:掌握基础语法、DOM 操作、Ajax(axios)请求后端接口;
- 框架(可选):Vue2/Vue3(入门级),能做简单的前端页面(比如图书管理系统的前端);
- 中间件与工具:
- Redis:缓存中间件,理解 String/Hash/List 类型,实现热点数据缓存(比如首页商品列表);
- MQ(可选,RabbitMQ/Kafka):了解消息队列的作用,实现异步处理(比如下单后发送短信);
- 接口调试:Postman/Swagger,能独立调试接口;
- 项目部署与运维:
- Linux 基础:常用命令(cd/ls/rm/ps)、安装软件(JDK/Tomcat/MySQL);
- 项目打包部署:Spring Boot 项目打 jar 包,部署到 Linux 服务器运行;
- 容器化(可选):Docker 入门,用容器部署项目(简化环境配置)。
实战练习
- 优化 “图书管理系统”:
- 用 Redis 缓存热门图书数据,减少数据库查询;
- 把项目打包成 jar 包,部署到 Linux 服务器;
- 用 Vue 写简单的前端页面,调用后端接口实现数据展示。
学习目标
- 能独立完成 “前端页面→后端接口→数据库” 的全流程开发;
- 能把项目部署到服务器,供外网访问。
七、项目实战阶段:完整项目落地(3-4 周)
这一步是把所有知识点整合,也是找工作的核心筹码,优先选 “贴近企业场景” 的项目。
推荐实战项目(按难度排序)
- 个人博客系统(入门):
- 核心功能:用户注册 / 登录、文章发布 / 编辑 / 删除、分类 / 标签管理、评论功能;
- 技术栈:Spring Boot + MyBatis + MySQL + Redis(缓存文章) + Vue(前端);
- 电商小商城(进阶,重点):
- 核心功能:用户模块(注册 / 登录 / 权限)、商品模块(展示 / 搜索 / 分页)、订单模块(下单 / 支付模拟)、购物车模块;
- 技术栈:Spring Boot + MyBatis-Plus(简化 MyBatis) + MySQL + Redis + Spring Security(权限) + Vue3;
学习目标
- 能独立完成项目的需求分析、表设计、接口开发、前端对接、部署上线;
- 理解项目分层思想(Controller/Service/Mapper/Entity),代码规范符合企业要求。
八、就业冲刺阶段:面试 + 复盘(1-2 周)
核心任务
- 简历优化:突出项目经验(比如 “电商商城中负责订单模块开发,用 Redis 缓存商品库存,提升查询效率 30%”);
- 面试刷题:
- Java 基础:集合、多线程、异常、面向对象;
- Web 核心:Spring Boot 原理、MyBatis 缓存、HTTP 协议;
- 项目相关:讲解项目架构、遇到的问题及解决方案;
- 复盘项目:梳理项目中的技术难点、优化点,能清晰讲解核心业务流程。
总结
- Java Web 学习路径核心逻辑:Java 基础→Web 原理(Servlet/Tomcat)→数据库→框架(Spring Boot)→进阶技能→完整项目,循序渐进不跳步;
- 每个阶段都要 “学知识点 + 做实战”,避免只看视频不敲代码,实战是掌握的关键;
- 优先掌握 Spring Boot+MyBatis+MySQL 的核心组合,这是企业开发的基础,进阶技能(Redis/Docker)能提升竞争力。