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全称: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的一个落地体现
day01-家具网购项目说明的更多相关文章
- 网购vs实体店购物 [20161226]
2016这一年依然网购了许多商品,比起以往,我选择退货的次数更多了. 以前如果网购到尺码或者样式不合适的东西,有时候将就拿去用,没有选择退货.由此闲置了不少衣物,而且延续高中时喜欢穿大一号的衣服的习惯 ...
- Jquery day01
day01: 基础--选择器.属性和CSS.文档处理 day02: 高级--筛选.事件.效果.ajax jQuery介绍 JS类库 JavaScript 库封装了很多预定义的对象和实用函数.能帮助使用 ...
- python Day01
Python Day01 Python 简介 介绍 Python 是一种面向对象.直译式的计算机程序设计语言,也是一种功能强大的通用型语言,已经有将近二十年的发展历史,成熟稳定.包含了一组完善而且容易 ...
- Spring day01笔记
struts:web层,比较简单(ValueStack值栈,拦截器) hibernate:dao层,知识点杂 spring:service层,重要,讲多少用多少 --> [了解] sprin ...
- 传智播客JavaWeb day01 快捷键、XML
2015-01-14 一直计划着学习java,今天晚上终于下定决心看了下传智播客朴乾老师的javaweb开发视频day01之第一讲,主要内容是开发工具简单介绍.怎么创建工程.Junit的介绍,我是C# ...
- python开发学习-day01 (python安装与版本、字符串、字典、运算符、文件)
*:first-child { margin-top: 0 !important; } body>*:last-child { margin-bottom: 0 !important; } /* ...
- coco2d学习day01 精灵分析
day01笔记 using namespace cocos2d; == USING_NS_CC; 一般用后面的 #ifndef __MYLAYER_H__ #define __MYLAYER_H__ ...
- 【GIVENCHY商务休闲风格/白色/100%精梳棉/撞色拼接领/长袖衬衣】玛萨玛索男装网购商城
[GIVENCHY商务休闲风格/白色/100%精梳棉/撞色拼接领/长袖衬衣]玛萨玛索男装网购商城 GIVENCHY商务休闲风格/白色/100%精梳棉/撞色拼接领/长袖衬衣
- 【Cavali风格/优质羊毛混纺面料/高密抗静电里衬/撞色拼皮/立领/绿色/便装单西】玛萨玛索男装网购商城
[Cavali风格/优质羊毛混纺面料/高密抗静电里衬/撞色拼皮/立领/绿色/便装单西]玛萨玛索男装网购商城 Cavali风格/优质羊毛混纺面料/高密抗静电里衬/撞色拼皮/立领/绿色/便装单西
- 【Dior风格/舒适防风面料/抗静电里衬/大身撞色拼接/精致平驳领/时尚便西款/蓝绿色】玛萨玛索男装网购商城
[Dior风格/舒适防风面料/抗静电里衬/大身撞色拼接/精致平驳领/时尚便西款/蓝绿色]玛萨玛索男装网购商城 [特价商品] Dior风格/舒适防风面料/抗静电里衬/大身撞色拼接/精致平驳领/时尚便西款 ...
随机推荐
- 使用port-forward访问集群中的应用程序,以Redis 为例
为Redis创建Deployment和Service 创建 Redis Deployment,YAML文件如下: apiVersion: apps/v1 kind: Deployment metada ...
- 文档的CURD
Index方式,需要指定ID 如果ID不存在,创建新的文档,状态是created 如果ID存在,会先删除现有ID的文档,然后创建一个新文档,ID数加1,状态是updated PUT test/_doc ...
- 如何评判一个企业是否需要实施erp系统?
一个企业是否需要实施ERP系统很大程度上取决于其规模.这里需要向提问者说明的一点是:很多企业上ERP,并不会用得到MRP,ERP是企业资源计划,不是制造业企业专用,MRP也不是ERP必须,金融.保险之 ...
- .Net Framework中的AppDomain.AssemblyResolve事件的常见用法、问题,以及解决办法
一.简述 本文简要的介绍.NET Framework中System.AppDomain.AssemblyResolve事件的用法.使用注意事项,以及复杂场景下AssemblyResolve事件的污染问 ...
- How to Create DLL(Dynamic link library)
该文章属于在YouTube视频上看到的,链接如下: https://www.youtube.com/watch?v=EmDJsl7C9-k&t=3s 1.创建一个工程并建立一个控制台程序 2. ...
- Ventoy制作PE启动盘
前言 不怎么回事,只要是学计算机的都被非计算机专业的认为是会修电脑.常常抛来一个请求:咦,你不是学计算机的吗,帮我重装系统. 在日常生活中准备个有PE系统的U盘,以备不时之需. 常见的PE启动盘的制作 ...
- Springboot 之 Filter 实现超大响应 JSON 数据压缩
简介 项目中,请求时发送超大 json 数据外:响应时也有可能返回超大 json数据.上一篇实现了请求数据的 gzip 压缩.本篇通过 filter 实现对响应 json 数据的压缩. 先了解一下以下 ...
- 驱动开发:内核特征码扫描PE代码段
在笔者上一篇文章<驱动开发:内核特征码搜索函数封装>中为了定位特征的方便我们封装实现了一个可以传入数组实现的SearchSpecialCode定位函数,该定位函数其实还不能算的上简单,本章 ...
- 2、第二种传输数据的形式:使用ajax传输数据,将前台的数据传输到后端
第一种使用form表单中的action形式传输数据:https://blog.csdn.net/weixin_43304253/article/details/120335282 前端页面 <% ...
- AI之强化学习、无监督学习、半监督学习和对抗学习
1.强化学习 @ 目录 1.强化学习 1.1 强化学习原理 1.2 强化学习与监督学习 2.无监督学习 3.半监督学习 4.对抗学习 强化学习(英语:Reinforcement Learning,简称 ...