day01-家具网购项目说明
家具网购项目说明
1.项目前置技术
- Java基础
- 正则表达式
- Mysql
- JDBC
- 数据库连接池技术
- 满汉楼项目(包括框架图)
- JavaWeb
2.相关说明
这里先使用原生的servlet/过滤器,后台是经典的分层结构WEB-Service-DAO-Entity
在学习SSM时,我们使用SSM框架(Vue3+ElementPlus+Axios+SSM前后端分离)
3.软件项目开发阶段
4.项目的需求/界面
主页面:
选购页面:
购物车:
后台管理页面:
5.项目设计
5.1程序框架图
使用分层模式,分层的目的是为了解耦,降低代码的耦合度,有利于项目的维护和升级
经典的JavaEE三层架构:
项目具体分层(不同包)方案:
分层 | 对应包 | 说明 |
---|---|---|
web层 | com.li.furns.web/servlet/controller/handler | 接收用户请求,调用service |
service层 | com.li.furns.service | Service接口包 |
com.li.furns.service.impl | Service接口实现类 | |
dao持久层 | com.li.furns.dao | Dao接口包 |
com.li.furns.dao.impl | Dao接口实现类 | |
实体bean对象 | com.li.furns.pojo/entity/domain/bean | Javabean类 |
工具类 | com.li.furns.utils | 工具类 |
测试包 | com.li.furns.test | 完成对dao/service测试 |
5.2MVC
关于“三层架构”和MVC
-
什么是MVC?
MVC全称:Model模型,View视图,Controller控制器。
MVC最早出现在JavaEE三层中的Web层,它可以有效地指导WEB层的代码如何有效分离,单独工作。
-
View视图:只负责数据和界面的显示,不接受任何与显示数据无关的代码,便于程序员和美工的分工合作(Vue / JSP / Thymeleaf / HTML)
-
Controller控制器:只负责接收请求,调用业务层的代码处理请求,然后派发页面,是一个“调度者”的角色(Servlet),这个概念会贯穿JavaEE
-
Model模型:将业务逻辑相关的数据封装成具体的JavaBean类,其中不掺杂任何与数据处理相关的代码(JavaBean,Domain,Pojo)
-
-
MVC是一种思想
MVC的理念是将软件代码拆分为组件,单独开发,组合使用(目的还是为了解耦合),也有很多落地的框架比如SpringMVC
-
MVC示意图
前面的程序框架图显示了web层用到的技术比较多元,在处理的时候往往需要一种模式来进行支撑,这个模式就是MVC。即web层的具体细化,需要用到MVC来解耦。
- MVC模式细化:
解读:
- model模型(Javabean),表示数据,通过Service-Dao来获取
- view视图(html,css,vue…),表示界面,用于展示数据
- controller控制器(servlet),充当调度者的角色,接收数据,调用service完成业务操作
- MVC是一种思想,体现的是数据显示,数据处理和业务调用的分离、解耦
- SpringMVC就是MVC的一个落地体现