家具网购项目说明

1.项目前置技术

  1. Java基础
  2. 正则表达式
  3. Mysql
  4. JDBC
  5. 数据库连接池技术
  6. 满汉楼项目(包括框架图)
  7. 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

  1. 什么是MVC?

    MVC全称:Model模型,View视图,Controller控制器。

    MVC最早出现在JavaEE三层中的Web层,它可以有效地指导WEB层的代码如何有效分离,单独工作。

    • View视图:只负责数据和界面的显示,不接受任何与显示数据无关的代码,便于程序员和美工的分工合作(Vue / JSP / Thymeleaf / HTML)

    • Controller控制器:只负责接收请求,调用业务层的代码处理请求,然后派发页面,是一个“调度者”的角色(Servlet),这个概念会贯穿JavaEE

    • Model模型:将业务逻辑相关的数据封装成具体的JavaBean类,其中不掺杂任何与数据处理相关的代码(JavaBean,Domain,Pojo)

  2. MVC是一种思想

    MVC的理念是将软件代码拆分为组件,单独开发,组合使用(目的还是为了解耦合),也有很多落地的框架比如SpringMVC

  3. MVC示意图

    前面的程序框架图显示了web层用到的技术比较多元,在处理的时候往往需要一种模式来进行支撑,这个模式就是MVC。即web层的具体细化,需要用到MVC来解耦。

  • MVC模式细化:

解读:

  1. model模型(Javabean),表示数据,通过Service-Dao来获取
  2. view视图(html,css,vue...),表示界面,用于展示数据
  3. controller控制器(servlet),充当调度者的角色,接收数据,调用service完成业务操作
  4. MVC是一种思想,体现的是数据显示,数据处理和业务调用的分离、解耦
  5. SpringMVC就是MVC的一个落地体现

day01-家具网购项目说明的更多相关文章

  1. 网购vs实体店购物 [20161226]

    2016这一年依然网购了许多商品,比起以往,我选择退货的次数更多了. 以前如果网购到尺码或者样式不合适的东西,有时候将就拿去用,没有选择退货.由此闲置了不少衣物,而且延续高中时喜欢穿大一号的衣服的习惯 ...

  2. Jquery day01

    day01: 基础--选择器.属性和CSS.文档处理 day02: 高级--筛选.事件.效果.ajax jQuery介绍 JS类库 JavaScript 库封装了很多预定义的对象和实用函数.能帮助使用 ...

  3. python Day01

    Python Day01 Python 简介 介绍 Python 是一种面向对象.直译式的计算机程序设计语言,也是一种功能强大的通用型语言,已经有将近二十年的发展历史,成熟稳定.包含了一组完善而且容易 ...

  4. Spring day01笔记

    struts:web层,比较简单(ValueStack值栈,拦截器) hibernate:dao层,知识点杂 spring:service层,重要,讲多少用多少 --> [了解]   sprin ...

  5. 传智播客JavaWeb day01 快捷键、XML

    2015-01-14 一直计划着学习java,今天晚上终于下定决心看了下传智播客朴乾老师的javaweb开发视频day01之第一讲,主要内容是开发工具简单介绍.怎么创建工程.Junit的介绍,我是C# ...

  6. python开发学习-day01 (python安装与版本、字符串、字典、运算符、文件)

    *:first-child { margin-top: 0 !important; } body>*:last-child { margin-bottom: 0 !important; } /* ...

  7. coco2d学习day01 精灵分析

    day01笔记 using namespace cocos2d; == USING_NS_CC; 一般用后面的 #ifndef __MYLAYER_H__ #define __MYLAYER_H__ ...

  8. 【GIVENCHY商务休闲风格/白色/100%精梳棉/撞色拼接领/长袖衬衣】玛萨玛索男装网购商城

    [GIVENCHY商务休闲风格/白色/100%精梳棉/撞色拼接领/长袖衬衣]玛萨玛索男装网购商城 GIVENCHY商务休闲风格/白色/100%精梳棉/撞色拼接领/长袖衬衣

  9. 【Cavali风格/优质羊毛混纺面料/高密抗静电里衬/撞色拼皮/立领/绿色/便装单西】玛萨玛索男装网购商城

    [Cavali风格/优质羊毛混纺面料/高密抗静电里衬/撞色拼皮/立领/绿色/便装单西]玛萨玛索男装网购商城 Cavali风格/优质羊毛混纺面料/高密抗静电里衬/撞色拼皮/立领/绿色/便装单西

  10. 【Dior风格/舒适防风面料/抗静电里衬/大身撞色拼接/精致平驳领/时尚便西款/蓝绿色】玛萨玛索男装网购商城

    [Dior风格/舒适防风面料/抗静电里衬/大身撞色拼接/精致平驳领/时尚便西款/蓝绿色]玛萨玛索男装网购商城 [特价商品] Dior风格/舒适防风面料/抗静电里衬/大身撞色拼接/精致平驳领/时尚便西款 ...

随机推荐

  1. 容器监控:cAdvisor

    CAdvisor是Google开源的一款用于展示和分析容器运行状态的可视化工具.通过在主机上运行CAdvisor用户可以轻松的获取到当前主机上容器的运行统计信息,并以图表的形式向用户展示. 在本地运行 ...

  2. [题解] Atcoder Beginner Contest ABC 265 Ex No-capture Lance Game DP,二维FFT

    题目 首先明确先手的棋子是往左走的,将其称为棋子1:后手的棋子是往右走的,将其称为棋子2. 如果有一些行满足1在2右边,也就是面对面,那其实就是一个nim,每一行都是一堆石子,数量是两个棋子之间的空格 ...

  3. Jquery封装的ajax的使用过程发生的问题

    Jquery封装的ajax的使用过程发生的问题 今天在做项目的时候使用到了ajax来完成项目前后端数据交互,在之后发现在前端没有数据显示,而后端数据确实存在,在多次检查代码之后,发现代码并不存在问题, ...

  4. 齐博X1忘记管理员密码了怎么办?如何强制进后台?

    当你忘记密码,或者是某些原因导致进不了后台的话,这个时候你修改一下根目录的admin.php文件,把文件第二行 //define('SUPER_ADMIN',true); 前面的 // 双斜杠删除,再 ...

  5. 齐博x1动态改变标签调用不同频道的数据

    标签默认需要设置标签参数 type 指定调用哪个频道的数据,比如下面的代码,需要默认指定商城的数据, {qb:tag name="qun_pcshow_shop001" type= ...

  6. 2.签名&初始化&提交

      Git设置签名 签名的作用是区分不同操作者的身份,用户的签名信息在每一个版本的提交信息中能够看到, 以此确认本次提交是谁做的,git首次安装必须设置用户签名,否则无法提交代码 这里设置的用户签名和 ...

  7. golang中的锁竞争问题

    索引:https://www.waterflow.link/articles/1666884810643 当我们打印错误的时候使用锁可能会带来意想不到的结果. 我们看下面的例子: package ma ...

  8. ML-决策树

    信息增益 香农熵: 指混乱程度,越混乱,值越大 信息增益(information gain): 在划分数据集前后信息发生的变化称为信息增益(香农熵的差) 基尼不纯度也可度量集合的无序程度 香农熵的计算 ...

  9. C# 多线程访问之 SemaphoreSlim(信号量)【C# 进阶】

    SemaphoreSlim 是对可同时访问某一共享资源或资源池的线程数加以限制的 Semaphore 的轻量替代,也可在等待时间预计很短的情况下用于在单个进程内等待. 由于 SemaphoreSlim ...

  10. nginx性能监控

    nginx自带监控模块,需要在nginx编译安装时加入监控模块. 1. 编译安装时加入监控模块 ngin编译安装时,加入编译参数为:--with-http_stub_status_module.如下所 ...