1、系统分析

1.1需求分析

实现一个简单但功能完整的商城项目,从设计到实现,规范化完成该项目,锻炼javaweb项目的编写能力,理解软件工程的软件设计思想

1.2编程技术简介

本次课程主要使用的软件有Intellij IDEA、Navicate for MySql、Sublime text。

Intellij IDEA:主要用于项目的创建和项目核心代吗的编写,逻辑的实现。

Navicate for MySql:主要用于数据库的管理,可视化的数据表更容易找出项目中的问题。

Sublime text:主要用于前端页面的编写。在tomcat中测试前端页面太麻烦了,所有都是先写出了HTML改好样式,然后改成jsp.

2系统设计

2.1架构设计

Maven:项目管理,主要用来管理jar包

MyBatis:数据库访问,DAO层的编写

MySQL:数据存储。

Bootstrap:后台页面,前台页面使用原生CSS编写样式

2.2系统模块设计

依赖于maven的jar包管理,将该项目分成三个模块,

1、shop-common:工具类模块。

2、shop-management:后台管理模块

3、shop-site:前台商城模块

1、工具类模块:主要是项目用到的工具的编写。DAO层的数据访问、Filter过滤器处理乱码和是否登录的校验。时间类型的转换等功能。

2、后台管理模块:编写一个javaweb项目,实现对商品的后台管理,确保项目运行后不需要修改任何地方的代码。

流程图:

3、前台商城系统:编写一个javaweb项目,实现商品的展示,销售。

流程图:

2.3数据库设计

3效果展示

3.1后台管理中心

3.2商城系统

4、SQL

CREATE DATABASE classshop;
use classshop;
CREATE TABLE `classshop`.`shop` (
`shopId` bigint(20) NOT NULL COMMENT '商品ID',
`categoryId` bigint(20) NOT NULL COMMENT '类别ID',
`name` varchar(45) NOT NULL COMMENT '商品名称',
`level` int(2) NOT NULL COMMENT '商品等级',
`price` int(9) NOT NULL COMMENT '商品价格',
`smallImg` mediumblob NOT NULL COMMENT '图片',
`createTime` datetime NOT NULL COMMENT '创建时间',
`updateTime` datetime NOT NULL COMMENT '修改时间',
PRIMARY KEY (`shopId`)
);
CREATE TABLE `classshop`.`category` (
`categoryId` bigint(20) NOT NULL COMMENT '分类ID',
`name` varchar(255) NOT NULL COMMENT '分类名称',
`createTime` datetime NOT NULL COMMENT '创建时间',
`updateTime` datetime NOT NULL COMMENT '修改时间',
PRIMARY KEY (`categoryId`)
);
CREATE TABLE `classshop`.`user` (
`userId` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '用户Id',
`username` varchar(255) NOT NULL COMMENT '用户账号',
`password` varchar(255) NOT NULL COMMENT '密码',
`phoneNumber` bigint(20) NOT NULL COMMENT '电话',
PRIMARY KEY (`userId`, `username`)
);
CREATE TABLE `classshop`.`shopCart` (
`shopingId` bigint(20) NOT NULL COMMENT '购物车Id',
`shopID` bigint(20) NOT NULL COMMENT '商品Id',
`shopNumber` varchar(255) NOT NULL COMMENT '数量'
);

5、代码

https://download.csdn.net/download/qq_38723677/10884307

java web课程设计(简单商城的前后端双系统,基于maven三模块开发)的更多相关文章

  1. java web课程设计截图和服务器地址

    企业办公测试截图和服务器地址 本篇博客主要围绕以下几个部分展开,登录.系统管理.工作流.个人事务管理.内部邮件.公共信息共六个部分.主要有界面截图和简要介绍. 一.登录.更改密码界面 登录界面包括以管 ...

  2. Java面向对象课程设计——购物车

    Java面向对象课程设计——购物车 小组成员:余景胜.刘格铭.陈国雄.达瓦次仁 一.前期调查 流程 客人(Buyer)先在商城(Mall)中浏览商品(Commidity),将浏览的商品加入购物车(Sh ...

  3. Java语言课程设计——博客作业教学数据分析系统(201521123107 张翔)

    #Java语言课程设计--博客作业教学数据分析系统(个人博客) 1.团队课程设计博客链接 [博客作业教学数据分析系统(From:网络五条狗)](http://www.cnblogs.com/fanta ...

  4. java web 项目中 简单定时器实现 Timer

    java web 项目中 简单定时器实现 Timer 标签: Java定时器 2016-01-14 17:28 7070人阅读 评论(0) 收藏 举报  分类: JAVA(24)  版权声明:本文为博 ...

  5. List多个字段标识过滤 IIS发布.net core mvc web站点 ASP.NET Core 实战:构建带有版本控制的 API 接口 ASP.NET Core 实战:使用 ASP.NET Core Web API 和 Vue.js 搭建前后端分离项目 Using AutoFac

    List多个字段标识过滤 class Program{  public static void Main(string[] args) { List<T> list = new List& ...

  6. 购物车Demo,前端使用AngularJS,后端使用ASP.NET Web API(2)--前端,以及前后端Session

    原文:购物车Demo,前端使用AngularJS,后端使用ASP.NET Web API(2)--前端,以及前后端Session chsakell分享了前端使用AngularJS,后端使用ASP.NE ...

  7. Java团队课程设计——基于学院的搜索引擎

    团队名称.团队成员介绍.任务分配,团队成员课程设计博客链接 姓名 成员介绍 任务分配 课程设计博客地址 谢晓淞(组长) 团队输出主力 爬虫功能实现,Web前端设计及其后端衔接 爬虫:https://w ...

  8. java web项目最简单的结构

    为了解“徒手”建立一个web应用,此博客建立简单过程 1.在任意一个目录下,建立一个文件夹,取名字 webDemo .这个应用名字. 2.在 webDemo 内建立一个 WEB-INF 文件夹,此处大 ...

  9. Java web课程学习之Servlet

    Servlet简介   (1) Servlet本质上就是一个Java类,只不过运行在Servlet容器中 (2) Servlet的功能: ① 创建并返回客户请求的动态HTML页面 ② 创建可嵌入到现有 ...

随机推荐

  1. 算法leetcode_分治算法

    一.基本概念 在计算机科学中,分治法是一种很重要的算法.字面上的解释是"分而治之",就是把一个复杂的问题分成两个或更多的相同或相似的子问题,再把子问题分成更小的子问题--直到最后子 ...

  2. linux系统安装+windows系统安装

    linux 1.格式化U盘 打开管理员命令提示符 diskpart list disk select disk 2 clean create partition primary format fs=f ...

  3. 开发工具IDE从入门到爱不释手(四)高级进阶

    代码生成Alt+Insert set/get生成 构造方法生成 toString生成 hashCode,equals 代码重构Refactor 不改变原有逻辑,让IDE帮助代码美观 重命名 Shift ...

  4. 第十六篇 -- SuperIO学习

    一.SuperIO 这次主要研究SuperIO读取以及控制风扇转速的问题. 参考文章:https://huchanghui123.github.io/Linux/Linux-Superio-CPU-F ...

  5. ajax()返回Array

    后台查询的数据为数组$arr,需要将数组 echo json_encode($arr);前台ajax拿到数据 然后用 eval("(+data+)"); 来将json转为json对 ...

  6. Nexus Repository Manager 3 远程命令执行漏洞(CVE-2019-7238)

    poc地址 https://github.com/magicming200/CVE-2019-7238_Nexus_RCE_Tool

  7. Mac使用Charles抓取ios手机APP中的https请求

    1.配置Http代理 Port为监听端口号,默认为8888,勾选Enable transparent HTTP proxying,接着勾选SOCKS proxy,可以监听Socks请求 2.安装Cha ...

  8. SQL语句(五)子查询

    目录 一.子查询含义 二.子查询分类 按子查询的位置分 按结果集的行列数不同分 三.WHERE后面的子查询 1. 标量子查询 2. 列子查询(多行子查询) 3. 行子查询(结果为一行多列或多行多列) ...

  9. 对象转换工具 MapStruct 介绍

    前言 在我们日常开发的分层结构的应用程序中,为了各层之间互相解耦,一般都会定义不同的对象用来在不同层之间传递数据,因此,就有了各种 XXXDTO.XXXVO.XXXBO 等基于数据库对象派生出来的对象 ...

  10. Java 执行控制流程

    1.带标签的break会中断并跳出标签所指的循环: 2.带标签的continue会中断本次循环,并开始标签所指处循环的下一轮循环.