MVC 开发模式
2021年2月10日大约 2 分钟约 745 字
1. JSP 演变历史
JSP 演变历史:
- 早期只有 Servlet,只能使用 response 输出标签数据,非常麻烦;
- 后来有了 JSP,简化了 Servlet 的开发,但如果过度使用 JSP,在 JSP 中既写大量的 Java 代码,又写 html 表,造成难于维护、难于分工协作;
- 现在,Java 的 web 开发借鉴了 mvc 开发模式,使得程序的设计更加合理。
2. MVC 开发模式
2.1 概念
MVC 是一种开发模式,或者说软件设计规范,它把开发分成三个模块:
模块 | 完整名 | 作用 | JavaWeb 中对应的技术 |
---|---|---|---|
M | Model,模型 | 完成具体的业务逻辑操作,如:查询数据库、封装对象 | JavaBean |
V | View,视图 | 展示数据 | JSP |
C | Controller,控制器 | 1) 获取客户端的输入 2) 调用模型 3) 将数据交给视图进行展示 | Servlet |
2.2 特点
MVC 开发模式的优点:耦合性低、方便维护、利于分工协作、可复用性高。
开发模式不是设计模式,它是一种软件设计规范,解决的是架构问题。
2.3 三层架构
三层架构是一种软件设计架构:
层次 | 含义 | Web 开发中对该层的称谓 |
---|---|---|
界面层/表示层 | 展示数据(用户看到的界面,用户可以通过界面上的组件和服务器进行交互) | web 层 |
业务逻辑层 | 处理业务逻辑 | service 层 |
数据访问层 | 和数据库交互 | dao 层 |
三层架构详解:
层次 | 作用 | 项目中对应的包名 | 对应框架 |
---|---|---|---|
web 层 | 接收用户参数、封装数据,调用 service 层完成处理,转发 jsp 页面完成显示 | cn.itcast.项目名.web | SpringMVC |
service 层 | 组合 dao 层的简单方法,形成复杂的功能(业务逻辑操作) | cn.itcast.项目名.service | Spring |
dao 层 | 定义了对数据库的基本的 CRUD 操作 | cn.itcast.项目名.dao | MyBatis |
三层架构图示:

2.4 具体的项目结构划分
文件夹(以下的/ 是或的意思) | 说明 |
---|---|
controller/web | web 层包 |
service | serivice 层包,service 下一般还有个 impl 子包 |
dao | dao 层包,dao 下一般还有个 impl 子包 |
domain/entity/pojo | 实体包 |
utils | 工具包 |
3. 什么是框架
框架 (Framework) 是整个或部分系统的可重用设计,其表现为一组抽象构件及构件实例间交互的方法。
简而言之,框架其实就是某种应用的半成品,就是一组供你选用来完成自己的系统的组件;框架为开发者搭好了舞台,由开发者来做表演。
框架是软件开发中的一套解决方案,不同的框架解决的是不同的问题。框架封装了很多的细节,使开发者可以使用极简地方式实现功能,大大提高开发效率。