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. Scrapy框架安装与使用(基于windows系统)

    "人生苦短,我用python".最近了解到一个很好的Spider框架--Scrapy,自己就按着官方文档装了一下,出了些问题,在这里记录一下,免得忘记. Scrapy的安装是基于T ...

  2. Java多线程(上)

    Java多线程 程序.进程和线程 一.程序 程序是存储在磁盘上, 包含可执行机器指令和数据的静态实体. 即进程或者任务是处于活动状态的计算机程序. 二.进程 进程是资源(CPU.内存等)分配的基本单位 ...

  3. 怎么实现系统调用wait和exit

    例程 #include <unistd.h> #include <stdlib.h> #include <stdio.h> #include <sys/wai ...

  4. CF175E Power Defence

    CF175E Power Defence 题意 一个塔防游戏:给定一个无限长的数轴,一个无限血的敌人要从正无穷走到负无穷.你的任务是放置三种塔,包含两种攻击塔和一种寒冰塔,使得敌人受到的伤害最大. 其 ...

  5. 基于小熊派Hi3861鸿蒙开发的IoT物联网学习【四】

    一.互斥锁基本概念: 1.互斥锁又称互斥型信号量,是一种特殊的二值性信号量[二值型信号量可以理解为任务与中断间或者两个任务间的标志,该标志非"满"即"空"],用 ...

  6. 使用hsdis-amd64.dll打印java的汇编文件

    文件放在D:\DeveSOFTWARE\jdk1.8.0_45\jre\bin目录下 hsdis-amd64.dll 下载路径:https://github.com/atzhangsan/file_l ...

  7. 构建前端第3篇之---使用scss

    张艳涛 写于2021-1-20 主要解决俩个问题: 在单个vue文件中 <style rel="stylesheet/scss" lang="scss"& ...

  8. 浅谈Java类中的变量初始化顺序

    一.变量与构造器的初始化顺序 我们知道一个类中具有类变量.类方法和构造器(方法中的局部变量不讨论,他们是在方法调用时才被初始化),当我们初始化创建一个类对象时,其初始化的顺序为:先初始化类变量,再执行 ...

  9. Python中比较运算符连用的语法规则

    在Python中,比较运用符<.>.<=.>=.== .!=可以连用,但语法规则和其它编程语言不一样 以 == 为例,具体语法规则是: a == b == c == d 等价于 ...

  10. 程序员被老板要求两个月做个APP,要不比京东差,网友:做一个快捷方式,直接链到京东

    隔行如隔山,这句话说得一点都没错.做一个程序员,很多人都会羡慕,也有很多人会望而却步. 作为一个外行人,你别看程序员每天坐在电脑前敲敲键盘打打代码,以为很简单,其实啊也只有程序员自己明白,任何一个看似 ...