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. stream之forEach的用法

    public static class Student{ private String name; private String sex; private String age; public Str ...

  2. router-link与router-view的对应关系和映射特点

    router-link对应的router-view规律为: 1.根据to的值而定,值为一层(如 /child)则对应app.vue中的router-view: 值为两层,如 /second/child ...

  3. odoo检查规则

    @api.multidef button_cancel(self): for move in self: if not move.journal_id.update_posted: raise Use ...

  4. Nginx负载均衡反向代理服务器

    1.第一步先在IIS中创建多个网站,分别用不同的端口号.这里创建两个网站端口号分别8084.8085,在Nginx配置中会用到.测试两个网站能正常访问. 2.配置Nginx 1)增加负载均衡请求列表 ...

  5. Vue实现点击按钮进行文件下载(后端Java)

    最近项目中需要实现点击按钮下载文件的需求,前端用的vue,因为文件是各种类型的,比如图片.pdf.word之类的.这里后端是可以返回文件的地址给前端的,但我看了下网上各种五花八门的答案,感觉都不是我想 ...

  6. IllegalArgumentException occurred while calling setter for property

    参考https://blog.csdn.net/qq_41192690/article/details/80659427 主码 是 integer类型的 就不要在写成这个样子了 把type=" ...

  7. 基于 CODING CD + Nocalhost 在大型应用的 ChatOps 实践

    本文作者:红亚科技 CTO--卢兴民 红亚科技聚焦信息技术发展,为信息技术相关专业提供优质教学服务 背景 ChatOps 最早起源于 GitHub,它以沟通平台为中心,通过与机器人产生对话和交互,使开 ...

  8. pikachu PHP反序列化 XXE SSRF

    PHP反序列化在理解这个漏洞前,你需要先搞清楚php中serialize(),unserialize()这两个函数. 另外这个漏洞一般是在代码审计的时候发现的,在扫描或者黑盒测试的时候很难发现.1.序 ...

  9. [论文阅读] ALM-HCS(高对比场景自适应对数映射)

    [论文阅读] ALM-HCS(高对比场景自适应对数映射) 文章: Adaptive Logarithmic Mapping for Displaying High Contrast Scenes 1. ...

  10. 在java程序中使用protobuf

    目录 简介 为什么使用protobuf 定义.proto文件 编译协议文件 详解生成的文件 Builders 和 Messages 序列化和反序列化 协议扩展 总结 简介 Protocol Buffe ...