家具网购项目说明

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. Jetbrains家的软件都可用的激活码-pycharm

    网址:http://vrg123.com/ 步骤: 1,关注下方的公众号 2,点击菜单中的"激活密钥" 3,点击进入,获得网站密钥 4,在网站上输入网站密钥,点击获取,即可获取激活 ...

  2. BUUCTF-PWN-第一页writep(32题)

    温故而知新,可以为师矣.所以花了几天时间重新做了下 buuctf 的 pwn 题,先发下第一页共 32 题的题解.还有如果题解都很详细那么本文就太长了,写起来也浪费时间,所以比较简单的题就直接丢 ex ...

  3. python的基本运用

    python基础 Python语言是一种解释型.面向对象.动态数据类型的高级程序设计语言 开发者:Guido van Rossum(人称龟叔) 基本概念 1.变量 变量名必须是大小写英文字母.数字或下 ...

  4. 通过URL保存文件

    1 <?php 2 3 function dlfile($file_url, $save_to) 4 { 5 $content = file_get_contents($file_url); 6 ...

  5. LeetCode------递归(爬楼梯)

    1.递归 1.一个问题的解可以分解为几个子问题的解. 2.这个问题与分解之后的子问题,除了数据规模不同,求解思路完全一样 3.存在基线/终止条件 来源:力扣(LeetCode) 链接:https:// ...

  6. SpringCloud整合分布式事务Seata 1.4.1 支持微服务全局异常拦截

    项目依赖 SpringBoot 2.5.5 SpringCloud 2020.0.4 Alibaba Spring Cloud 2021.1 Mybatis Plus 3.4.0 Seata 1.4. ...

  7. ssh登录提示hosts is down

    其他无用的网卡配置信息mv走重启network如果还是不行重启一下服务器问题就能解决

  8. 重新整理 .net core 实践篇 ———— linux上排查问题 [外篇]

    前言 简单介绍一下在排查问题.献给初学者. 该文的前置篇: https://www.cnblogs.com/aoximin/p/16838657.html 正文 什么是linux系统 linux 是基 ...

  9. python字符串的一些操作

    # 1.变量的多次赋值 print('1.变量的多次赋值') name = '小明' # 没有意义的 name = '小刚' # 对前面创建的变量名称进行覆盖 # 删除原来的数据,写入新的数据 pri ...

  10. ubuntu 安装anaconda3

    ubuntu 安装anaconda3 官网:https://www.anaconda.com/ 下载:https://www.anaconda.com/products/individual#Down ...