1. 无框架传统开发模式&为什么要用框架
传统web应用开发模式:jsp,包含前端代码,业务处理逻辑
javaBean:可重用组件,就是会被多次调用的类
最简单的jsp代码:
<%@page contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8" import="java.util.*"%>
<h1>你好 JSP</h1>
<br>
<%=new Date().toLocaleString()%>
问题:
- 前后端代码耦合,并行开发难度大
- javaBean和jsp耦合,维护不方便
- 代码难以重用
MVC设计模式:
-
Model:数据模型,JavaBean的类,用来进行数据封装。
- 比如把用户信息从数据库中读出后,封装为User类。
- 或者读取所有用户,再按照注册时间从早到晚排序后返回
-
View:指JSP、HTML用来展示数据给用户
-
按照表格方式展示所有用户
-
序号 名字 1 张三 2 李四
-
-
按照
<li>
方式展示所有用户- 张三 - 李四
-
-
Controller:用来接收用户的请求,整个流程的控制器。用来进行数据校验等。
- 控制层是大脑,如果访问/showUsers ,我去让model准备用户数据,再跳到view显示
早期的 MVC 模型:Servlet + JSP + Java Bean ,MVC的设计模式可以比较好地实现web应用的业务逻辑,容易实现高内聚低耦合的开发要求。
但是这样虽然实现了MVC,但是单纯依靠开发者自行约束,由于没有统一的规范,他们可能写成千奇百怪的形式,不利于维护,而且可能有漏洞。
为了方便开发和形成规范,大公司就开发了一些可重用的框架,说大家都来用我的框架吧,简单快速,功能齐全。
之前学过的struts2就是实现mvc的框架之一。
另外还有springMVC,较之mvc改进后形成了框架,我们只要根据这个框架要求的做,就可以轻松搭建基于MVC的web应用。
2. 如何选择框架
别的框架先不介绍,在javaWeb里,搭建一个web应用目前流行这么几种框架。
早期框架包:SSH,三个框架组成
- spring:润滑剂,连接struts2和hibernate
- struts2:控制层
- hibernate:数据库访问框架
各自都有问题,比如struts2有漏洞,运行效率不高,hibernate配置复杂等等。
于是第二代比较流行的框架包是:SSM
spring
springMVC (替换了struts2)
-
mybatis(替换了hibernate)
架构图:
但是学了SSM后,发现配置也挺多,也挺复杂,人都是偷懒的人,所以有人就想,能不能在框架的基础上再开发一个框架,可以不用配置那么多,拿起来就可以用的框架?
于是诞生了springBoot框架,这个框架在SSM基础上做了很多改进,对于配置,它采用约定俗成的方式进行默认配置,这样拿起来就能用。而且系统模块化使得可以想用什么模块就加什么模块。
发展至今,springBoot也衍生出很多产品,比如springboot2,spring cloud等等一些高度集成化的框架或者说架构。
3. 如何学习框架
介绍了这么多,应该从什么开始呢?
- 刚开始可以选择SSH或者SSM
- S S H 或 S S M中的框架都是可以独立运行的,跟着教程一个个击破比较好。顺序没关系,因为分属不同模块。
- 框架是很庞大和精妙的系统,一开始不要奢求懂得面面俱到,过分追求原理细节,先跑通程序,掌握现象,再研究本质比较好。
- 每天4小时学习,一个月内可以初步掌握SSM或者SSH的使用,初步搭建出完整项目。
java学习网站:https://how2j.cn/
J2EE(javaweb基础)
框架
或者b站搜索视频教程,推荐黑马程序员。