代码编织梦想

​​​​​

第一章 绪论

1.1  选题背景

  随着计算机技术的发展和网络人口的增加,网络世界也越来越广博,越来越丰富,网上商城已经成为网上购物的一股潮流。人们对于互联网技术的要求已不单单是浏览一下网站网页,收发电子邮件,日益忙碌的人们开始追求足不出户就能买到心仪的商品,是越来越多的上网爱好者实现购物的一种方式。对于企业来讲,无论是企业之间(B to B),还是企业和客户之间(B to C)的交易,如果能够实现网上交易将大大提高交易速度节约成本。但是对网络的及时、一对一、跨时间、跨 空间等特性,并没有充分加以利用。在这种形势下,传统的依靠管理人员人工工作传递信息和数据的管理方式就无法满足企业日益增长的业务需求了。因而开发了这样一个具有前后台的网上购物系统,以满足购物者和企业的需求。

1.2 选题的目的和意义

    在现今的网络时代,足不出户就能买到自己满意的物品,网上购物既方便又实在,逐渐受到越来越多人的青睐。网络购物已经成为消费者的生活习惯。电子商务就是在互联网中应运而生的,而且发展迅速,网络购物中心就是一个小的电子商务。智能化越来越受人们的关注,也有很多已经得到人们的认可,大大提高了人们的视野。现在的社会创造和使用电子商务的人数有很多,占的比例大的多。现在的社会就是一个电商的时代。因此这次毕业设计题目是基于Web的小型网上购物系统,通过采用MVC模式,MySQL数据库完成一个网上购物系统的主要功能模块。

通过这样一个毕业设计,可以提高自己编程的水准,也练习了怎样构建一个完整的系统,从系统的需求分析到设计,直至编码、测试并运行,熟悉并掌握一个完整的Javaweb开发流程,为今后工作打下基础。

二章 关键技术介绍

2.1   JSP

JSP是由Sun公司于19999年推出的- 种动态网页标准。利用这一技术可以建立安全、 跨平台的先进动态网页技术。它是从Servlet上分离出来的一小部分, 简化了开发,加强了界面设计。因为当用户对界面风格、内容进行修改时,就需要对代码进行修改并且需要进行重新编译和部署,这样就导致维护的工作量急剧上升。

JSP主要优点如下:

  1. 跨平台新就是可以一次编写各种执行。
  2. 搭配可重复使用的组件。

2.2 JDBC

JDBC是一种用于执行SQL语句的java API,由一组类与接口组成,通过调用这种类和接口所提供地方法,可以使用标准的SQL语言来存取数据库中的数据。

2.3  Servlet

Servlet 是为创建基于 web 的应用程序提供了基于组件、独立于平台的方法,可以不受 CGI 程序的性能限制。Servlet 有权限访问所有的 Java API,包括访问企业级数据库的 JDBC API。

2.4 MVC模式

MVC是一个基本的框架模式,它将应用程序的数据模型层、处理层和视图层分开。MVC的应用程序被分成三个核心部件即模型、视图和控制器。最经典的MVC就是JSP。

2.5  Ajax

Ajax是一个强大的语言集合,将这些语言综合起米就可以创造非常自观的用户界面和客户端交互。可以通过各种基于Ajax的组件提高Web应用程序某些部分的性能且不会走向极端。Ajax同时也适用于建立服务器端链接,以及在不需要刷新浏览器的情况下的数据交互。Ajax应用程序是Web上的,任何人都可以通过连接来访问它。信息随需定制,Web应用程序也可以具有和桌面应用程序一样好的交互性。

第三章 系统分析及设计

3.1 需求分析

3.1.1 任务概述

该系统为商家和顾客使用,提供商品在线分享购买的平台,系统将分为用户和管理员两个角色,其中系统用户部分的主要功能包括登录注册,前台商品分页浏览、搜索功能,购物车功能,订单的生成、查看、修改、删除、支付,前台页面的访问权限,管理员部分的功能有登录、商品的分页查看、添加、修改、删除、搜索,订单的查看、搜索,后台页面的访问权限等。

3.1.2 功能需求

  1. 前台功能需求

(1)用户的登录:对已经注册的用户提供登录操作。

(2)用户的注册:针对还未注册的用户完成注册功能的使用,在注册的过程中涉及数据的合法性校验,以及利用ajax完成用户名是否已被注册的异步校验。

(3)商品展示模块:通过分页浏览商品,也可以通过关键词搜索商品。

(4)购物车:用于存放用户的购物内容,用户可根据自己的情况修改自己的购物车。

(5)订单模块:对于已经登录的用户可以对购物车内容进行付款生成订单,可以为自己的订单进行付款。

(6)前台页面的访问权限:对已有账号访问进行权限分类,用户只能进入前台。

系统的前台功能模块图如下:

  1. 后台功能需求

(1)管理员登录:管理者根据账户和密码进行登录。

(2)商品管理:管理员可以对前台显示的商品进行管理包括分页查看,添加,修改,删除,搜索的功能。

(3)订单管理:管理员可以订单进行查看、删除、发货和搜索。

(4)后台账户管理:管理员可以对后台账户进行增删改查。

(5)用户管理:管理员可以对注册用户进行增删改查。

(6)后台页面的访问权限:对已有账号访问时进行权限分类,管理员只能进入后台。

系统的前台功能模块图如下:

3.1.3 其它需求

  1. 可用性

产品容易上手,用户操作简单,效率高,产品质量高。

  1. 可维护性

系统的设计要求方便维护,包括硬件的维护,软件的维护和网络的维护。

  1. 安全保密

一个实用的系统同时必须是可靠安全的,既可以保证用户共享资源信息,同时也可以保证关键数据的安全性。

3.2 可行性分析

3.2.1 技术可行性

本系统采用MVC设计模式,系统设计层次清楚,后台采用MySQL数据库,MySQL小巧高效的特点满足系统的性能要求。本系统采用开源的JAVA开发工具MyEclipse和TomCat服务器进行程序的开发和发布。

3.2.2 经济可行性

在实际的销售运营过程中,产品的宣传受到限制,影响了产品的销售,并且提高了产品的销售成本。本系统完全可以改变这种现状,以少最的时间和资金来使企业与消费者之间的经济活动变得更加灵活、主动。系统中应用的开发工具及技术框架都是免费的,这无疑又压缩了网站的成本,从成本可行性分析来看,该系统充分体现了将产品利益最大化的企业原则。

3.2.3 操作可行性

本系统界面简洁明了,功能清晰,只要用户会一些简单的计算机操作,就可以网上购物,不需要用户具有较高的计算机专业知识,操作方便灵活。而且对于网站基本信息的维护也是十分简单,管理员可以在任何一台可以上网的机器上对网站进行维护,网站的简单易用性充分说明了本系统的操作可行性。

3.2.4 社会可行性

从当前的政策,法律和制度等社会因素分析。

本系统符合以下几点:

  1. 所有技术都是合法的。
  2. 开发不存在知识产权问题。

3.3 总体设计

3.3.1 设计的基本思想

该系统采用B/S结构模式,系统的分析设计采用面向对象的技术,使用JSP+JavaBean+Database技术采用MVC模式开发基于WEB的小型网上购物系统。

3.3.2 系统的功能模块设计

3.4 详细设计

3.4.1 系统代码框架

3.4.2 模块体系结构

3.5 数据库设计

3.5.1 E-R图

3.5.2表结构和字段类型

表名称:s_admin

字段名称

字段类型

字段长度

是否空

是否主键

备注说明

id

int

11

管理员的id

userName

varchar

255

用户名

password

varchar

255

密码

name

varchar

255

姓名

LastLoginTime

datetime

255

最后登录时间

表名称:s_user

字段名称

字段类型

字段长度

是否空

是否主键

备注说明

userId

int

11

用户的id

userName

varchar

20

用户名

userPassword

varchar

20

密码

name

varchar

20

姓名

sex

varchar

2

性别

age

int

5

年龄

tell

varchar

20

手机号

address

varchar

100

地址

enabled

varchar

1

用户状态

表名称:s_cake

字段名称

字段类型

字段长度

是否空

是否主键

备注说明

cakeId

int

11

商品编号

catalogId

int

20

商品分类id

cakeName

varchar

20

商品名称

price

double

20,2

价格

description

text

描述信息

imgId

int

11

图片id

addTime

datetime

上架时间

表名称:s_catalog

字段名称

字段类型

字段长度

是否空

是否主键

备注说明

catalogId

int

11

商品分类id

catalogName

varchar

20

商品分类名称

表名称:s_order

字段名称

字段类型

字段长度

是否空

是否主键

备注说明

orderId

int

11

订单编号

orderNum

varchar

50

订单号

userId

int

11

用户的id

orderDate

varchar

20

订单日期

money

double

10,2

订单金额

orderStatus

int

2

订单状态

表名称:s_orderitem

字段名称

字段类型

字段长度

是否空

是否主键

备注说明

itemId

int

11

订单项编号

cakeId

int

11

商品编号

orderId

int

11

订单编号

quantity

int

11

数量

表名称:s_uploadimg

字段名称

字段类型

字段长度

是否空

是否主键

备注说明

imgId

int

11

图片id

imgName

varchar

50

图片名称

imgSrc

varchar

255

图片路径

imgType

varchar

20

图片类型

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/itrjxxs_2/article/details/127974900

java-php-python-springboo基于web的学校工资管理系统计算机毕业设计_兰兰学姐的博客-爱代码爱编程

java-php-python-springboo基于web的学校工资管理系统计算机毕业设计 java-php-python-springboo基于web的学校工资管理系统计算机毕业设计 本源码技术栈: 项目架构:B/S架构 开发语言:Java语言 开发软件:idea eclipse 前端技术:Layui、HTML、CSS、JS、JQ

基于javaweb基于java的管理系统毕业设计与开发源码_m0_63127262的博客-爱代码爱编程

基于JavaWeb的天天特价酒店在线预订管理系统 弋阳微信小程序设计与实现 高校财务管理系统 基于SpringBoot与Vue的电商平台的设计与实现 基于Springboot+vue会议室管理系统的设计与实现 基于jsp的美妆商城的设计与实现 基于Spring Boot+Vue的宠物服务管理系统 基于Spring Boot的高校管理系统的设计

如何自定义代码生成器(上)_传智教育的博客-爱代码爱编程

1 概述 1.1 介绍 ​ 在项目开发过程中,有很多业务模块的代码是具有一定规律性的,例如controller控制器、service接口、service实现类、mapper接口、model实体类等等,这部分代码可以使用代

java包以及权限修饰符_asnowdream的博客-爱代码爱编程

Java包和权限修饰符 Java包什么是包?如何导包?IDEA如何自动化导包? Java权限修饰符什么是权限修饰符?权限修饰符的分类和具体作用范围: Java包 什么是包? 1.包是用来分门别类的管

linux上如何搭建java环境_java-呆萌老师的博客-爱代码爱编程

一 linux软件安装常用的方式对比 Linux下的软件安装,主要有如下三种,“正规”程度依次递减: 1、使用标准的yum/apt/yast包管理程序安装 2、使用标准rpm/deb或厂商自己的安装包(比如nVidia

服务器技术有哪些?_dexunjiaqiang的博客-爱代码爱编程

服务器技术有哪些?   1、CPU虚拟化技术   将计算机服务器中的物理CPU虚拟成为一个虚拟的CPU,系统操作可同时使用一个或者多个虚拟CPU,在计算机服务器系统虚拟化CPU可实现相互隔离。   目前很多计算机操作系统都是基于X86架构组建起来的,在系统研发设计中,CPU在运行过程中主要涉及到四个层级,分别是Ring0、Ring1、Ring2、Ri

java学习笔记 day05-java基础-数组_kuangzeng的博客-爱代码爱编程

1.数组 概念: ​ 指的是一种容器,可以同来存储同种数据类型的多个值。 ​ 但是数组容器在存储数据的时候,需要结合隐式转换考虑。 比如: ​ 定义了一个int类型的数组。那么boolean。double类型的数据

推荐国产神器eolink!api优先,eolink领先!_程序一逸的博客-爱代码爱编程

前言: 在我们后端开发者做项目的时候,避免不了与前端界面的交互,对于我来讲,在做项目的时候用到过postman,swagger做接口测试工作,在公司的时候公司主要用YApi可视化接口平台,最近使用了一个爆款软件Eolink,试用之后发现工作效率提升特别高,相比于其他的API管理工具很容易上手,接下来和大家一起分享Eolink工具的使用😉。 @[toc]

windows10上运行magic keyboard和magic mouse_樱木之的博客-爱代码爱编程

windows10上运行magic keyboard和magic mouse并保持你的mac习惯 所有需要的软件和插件都可以在这里寻找到链接:https://pan.baidu.com/s/1Y8vjRnznqKP7f8d

计算机毕业设计之java+ssm爱家房屋租赁信息管理系统_qq_2083558048的博客-爱代码爱编程

项目介绍 本爱家房屋租赁信息管理系统是针对目前房屋租赁信息管理的实际需求,从实际工作出发,对过去的房屋租赁信息管理系统存在的问题进行分析,结合计算机系统的结构、概念、模型、原理、方法,在计算机各种优势的情况下,采用目前最流

计控实验(一)—— 数字滤波实验_阿健也会编程的博客-爱代码爱编程

太原理工大学计算机控制技术实验之数字滤波实验 数字滤波实验 实验原理实验内容实验线路图设计参考流程图 实验步骤及结果采样周期设计运行结果 思考题 实验原理 一般现场环境比较恶劣,干扰源比较多,消除和抑

springboot总结_e_nanxu的博客-爱代码爱编程

总结 一、Spring Ioc容器 就是将对象的创建放在Ioc容器中,从而可以随处调用 ​ 1.1 主要的接口,用于解析配置文件 ​ ① BeanFactory接口 ​ ② ApplicationContext

java语言的核心特点、特性&核心机制_超级西红柿鸡蛋面的博客-爱代码爱编程

Java语言的主要特点 1.跨平台性:所谓的跨平台性,是指软件可以不受计算机硬件和操作系统的约束而在任意计算机环境下正常运行。这是软件发展的趋势和编程人员追求的目标。之所以这样说,是因为计算机硬件的种类繁多,操作系统也各不相

为什么我的视频播放量上不去?_大 周 网 络的博客-爱代码爱编程

正在做自媒体视频的你有没有这个疑问:自己视频的播放量为什么一直上不去? 其实除了内容本身的质量外,还有很多外在因素,这些因素也很容易被新手们忽略,导致播放量一直上不去,收益自然也不会很高。 今天这期内容就来跟粉丝们分享一

【第四部分 | javascript 基础】1:js概述、变量及输入输出_graskli的博客-爱代码爱编程

目录 | 概述 | JS的书写位置 | 输入输出 | 变量 命名规范 基本使用 通过输入语句prompt把信息赋值给变量 | 数据类型 JS数据类型的特别 简单数据类型 简介 简单数据类型 Number 简单数据类型 String 简单数据类型 Boolean、Undefined、Null 获取类型 类型转换 |

java-net-php-python-jspm城市公交查询系统计算机毕业设计程序_伯仲cxsj985的博客-爱代码爱编程

java-net-php-python-jspm城市公交查询系统计算机毕业设计程序 java-net-php-python-jspm城市公交查询系统计算机毕业设计程序 本源码技术栈: 项目架构:B/S架构 开发语言:Java语言 开发软件:idea eclipse 前端技术:Layui、HTML、CSS、JS、JQuery等技术 后

buuctf·[wustctf2020]大数计算·wp_cinnam0n的博客-爱代码爱编程

BUUCTF在线评测 (buuoj.cn) 附件 flag等于 wctf2020{Part1-Part2-Part3-Part4} 每一Part都为数的十六进制形式(不需要0x),并用 '-' 连接 Part1

c#上位机系列(1)—项目的建立_li某开过光的博客-爱代码爱编程

本文是讲解C#.net平台的Winform框架下的第一个内容,手把手介绍项目的创建方式以及一些写软件时常用的功能。之前写过一篇关于示波器的比较抽象,本文讲解从零开始的每一个步骤。 VS2022以及C#.net平台的Winform框架自行百度下载。 1.创建一个新的项目 双击打开vs (我用的2022版) 选择创建新项目(选择.net下的窗体应用

若依框架解读(微服务版)—— 3.验证码与登录_初见qwer的博客-爱代码爱编程

验证码 查看验证码的请求: 之前已经讲过http://localhost/dev-api/code会在前端重写为http://localhost:8080/code。 请求第一步会进入网关模块 网关相关知