javaweb基础与实例教程(JavaWeb学习路线图分享)
javaweb基础与实例教程(JavaWeb学习路线图分享)MVC阶段:为了进一步改进代码结构,Java Web采用了MVC(Model-View-Controller)设计模式。在MVC模式中,Model负责处理数据和业务逻辑,View负责显示数据,Controller负责接收请求并协调Model和View。这使得代码更加模块化,易于维护。此时,出现了很多MVC框架,如Struts。JSP阶段:为了解决Servlet中HTML与Java代码混杂的问题,Java Web发展出了JSP(JavaServer Pages)。JSP允许开发者将HTML与Java代码分离,使代码结构更清晰。然而,JSP仍存在一些问题,如处理业务逻辑和数据访问的代码仍然混杂在一起,难以维护。开始之前,先和黑马程序员一起了解下JavaWeb技术架构演进。JavaWeb是用Java技术来解决相关web互联网领域的技术栈。web包括web服务端和web客户端两部分。Java在客户
(干货!资源!)我们从开始JavaWeb之前需要具备什么知识开始分享,到JavaWeb如何高效的学习方法。
一、需要有什么知识基础,才能学JavaWeb相关知识?【Java基础】- 黑马程序员:自学Java第一天-认识Java以及JDK的安装和下载
- 黑马程序员:自学Java第二天-Java基础语法以及IDEA安装操作
- 黑马程序员:自学Java第三天-运算符、表达式、字符串的操作等
- 黑马程序员:自学Java第四天-流程控制语句
- 黑马程序员:自学Java第五天-数组全部知识点以及7个练习题
- 黑马程序员:自学Java第六天-循环、条件控制语句、Random(附习题)
- 黑马程序员:自学Java第七天-方法的概述
- 黑马程序员:自学Java第八天:面向对象
这里只需要学会最基本的增删改查就可以了,黑马程序员万字MySQL基础讲义;
- MySQL的安装及登陆基本操作(附图)手把手带你安装
- MySQL基础:通过SQL对数据库进行CRUD
- MySQL基础:通过SQL对表、数据进行CRUD,万字实际案例手把手教程
- MySQL高级:掌握约束的使用
- MySQL高级:掌握表关系及建表原则
- MySQL高级:重点掌握多表查询操作
- MySQL高级:以实际案例掌握事务操作
这是Java语言链接数据库的接口,JDBC:从CRUD开始,理解JDBC中的各个对象作用,掌握Druid的使用
【Web前端】(会一些)- Java程序员要掌握的前端知识:HTML&CSS篇
- Java程序员要掌握的前端知识:JavaScript篇
Servlet—>JSP—>AJAX—>jQuery—>MyBatis—>Spring—>SpringMVC—>SpringBoot—>SpringCloud...
开始之前,先和黑马程序员一起了解下JavaWeb技术架构演进。
二、JavaWeb技术架构演进JavaWeb是用Java技术来解决相关web互联网领域的技术栈。web包括web服务端和web客户端两部分。Java在客户端的应用有Java Applet,不过使用得很少,Java在服务端的应用非常丰富,比如Servlet、Jsp、第三方框架等等。
三、JavaWeb-Servlet阶段Servlet阶段:Servlet是Java Web的基石。它可以接收客户端请求,处理请求并返回响应。在这个阶段,开发者需要手动处理所有事情,包括解析请求参数、操作数据库、生成响应等。虽然Servlet很强大,但代码冗长、难以维护,因此需要更好的解决方案。
JSP阶段:为了解决Servlet中HTML与Java代码混杂的问题,Java Web发展出了JSP(JavaServer Pages)。JSP允许开发者将HTML与Java代码分离,使代码结构更清晰。然而,JSP仍存在一些问题,如处理业务逻辑和数据访问的代码仍然混杂在一起,难以维护。
MVC阶段:为了进一步改进代码结构,Java Web采用了MVC(Model-View-Controller)设计模式。在MVC模式中,Model负责处理数据和业务逻辑,View负责显示数据,Controller负责接收请求并协调Model和View。这使得代码更加模块化,易于维护。此时,出现了很多MVC框架,如Struts。
MVP(Model View Presenter)模式是由上面MVC演变而来的,相同之处是Controller / Presente 都是负责业务逻辑,Model 管理数据,View 负责显示。
不过在MVP中View并不直接参与Model交互,它们之间的通信是通过Presenter(MVC 中的 Controller)来进行的,即使用 Presenter 对视图和模型进行了解耦,让它们彼此都对对方一无所知,沟通都通过 Presenter 进行。
SSM阶段:随着Java Web技术的不断发展,出现了一些优秀的框架,如Spring、SpringMVC和MyBatis。这些框架结合起来被称为SSM(Spring、SpringMVC、MyBatis)。
Spring:负责管理项目中的对象(即依赖注入),提供了一整套解决方案,如事务管理、安全等。Spring简化了开发者的工作,让他们专注于业务逻辑。
SpringMVC:作为一个MVC框架,SpringMVC负责处理请求、分发任务给相应的控制器。SpringMVC提供了一种简洁、易于维护的方式来处理Web请求。
MyBatis:是一个持久层框架,负责数据库操作。MyBatis通过映射文件或注解将SQL语句与Java对象关联起来,使得操作数据库更简单、高效。
SpringBoot阶段:目的就是简化Spring,似乎看起来不需要去学习Spring的繁琐配置,但是如果没有忍受过Spring,也没有经历过架构模式的演进以及JavaWeb基础的话,在使用SpringBoot的过程中就容易出现没有遇到过的错误,也不知道如何去解决。
四、JavaWeb学习- 最基础的当然是 Spring/SpringMVC 相关的东西了。
- 搭配各种页面模版的使用,例如 Jsp/Thymeleaf/Freemarker/Groovy Templates 等。
- 和各种 SQL 数据库的整合,以及一些常见的数据持久化框架,例如 JdbcTemplate、MyBatis、Jpa 等。
- 和各种 NoSQL 数据库的整合,例如 Redis、MongoDB、Elasticsearch 等。
- 搭配安全管理相关的知识点,例如 Spring Security、Shiro 等。
- 缓存的使用,例如 JCache、Ehcache 等。
- 和消息中间件的搭配整合,如 ActiveMQ、RabbitMQ、Kafka 等。
- 数据校验/定时任务/邮件发送等。
- 各种监控的使用。
- 结合 WebSocket 的使用。
- Spring Cloud 中相关组件。
- ...
上面只是列出来的常见的技术点,每个技术点可以延伸很多东西,其实里面还会设计了第三方框架。例如 Redis、MongoDB、RabbitMQ 等,Spring Boot 的出现只是让这些组件在和 Spring 家族的产品整合时变得更加方便,但是并不会简化这些组件原本的用法,所以,该学 Redis、该学 MongoDB、该学 RabbitMQ 等等,还是一个不能少。以 Redis 为例,学会了 Redis,学会了 Spring 整合 Redis,再回过头来看 Spring Boot 整合 Redis,那简直太 easy 了。
但是,学习SpringBoot最终我们还是要奔着快速开发和微服务去的,所以像Docker、Spring Cloud等技术也需要了解一下。