基于java web的网上书店系统设计

摘 要

随着互联网的越发普及,网上购物成为了当下流行的热门行为。网络上开店创业有许多的优势:投入少,启动 资金低,交易便捷。网上书店与传统的线下书店比起来优势巨大,网上书店的经营方式和销售渠道是不同与线下书 店的,网上书店24小时无休的服务是线下商店所无法比拟的。本文正是在这种背景下,结合了现实中的网上书店生 存与发展需要,自行研发了一个网上书店系统。本系统采用Pycharm作为编辑软件,本系统中使用近来最流行的框架Django进行编写本系统, 在本系统中采用 MySQL数据库来存储信息网上书店系统的部分分为两个部分,分别面向的用户角色是消费者和管理员。用户部分的主要功能有登录、注册、商城界面、购物车、用户中心。用户如果没有账号可以先进行注册,注册登录后进入商城首页进行选购图书,挑选完图书可以添加进入购物车等待一次性结算。如果用户想要修改自己的账户 信息或者收获地址可以进入用户中心进行修改。管理员部分主要功能分为登录、添加修改删除商品信息。

关键词:互联网,网上书店,MySQL,Pycharm,Django

开发工具及相关理论

1 Django框架简介

1.1 Django是什么

Django是一个高水准的使用python编程语言驱动的一个开源模型。视图,控制器风格的一种web应用程序框架。 另外,在Django框架里,包括了许多功能强大的第三方插件库,使得Django表现出较强的扩张性。Django项目源自 于一个在线新闻web站点,在2005年以开源形式广为流传。Django具有他核心组件分别是:用于创建模型的对象关系 映射,为管理员用户设计较好的管理界面,URL的设计,对设计者友好的模版语言,缓存系统。

Django如今成为了web开发者的首选框架。Django是一个遵循MVC设计模式的一种框架。MVC是Model、View、Controller三个单词的简写,可以读成模版、模型、视图。Django也涉及到MTV的设计方法。MTV是Model、 Template、View三个单词的简写,代表着模型、模版、视图。Django的优势之一是控制器接收用户输入的部分框架 可以自行处理。

系统实例建模

1普通用户功能用例图

图1 普通用户模块

2管理员功能用例图

图2 管理员模块

系统总体设计

1 系统功能设计

系统功能模块图如图1所示:

图1 系统功能模块图

系统实现

1 用户模块

1 用户注册

在网上书店项目成功启动后,我们首先会看到购物书城可以查看商品但是要购买图书还需要进行登录,如果没 有账号可以先进行注册操作,在书城的右上方有一个注册按钮,点击之后会跳转到注册页面在注册页面输入需要注 册的用户名密码,以及确认一次密码和用户的邮箱,账号在注册时会进行格式检查和确认账号是否存在如果存在会提 示重新填写用户名,具体实现方法是前端发送ajax请求给视图层,视图层函数(regist_exist)调用模型层来检查是 否已经有用户注册了,注册界面如下

图1系统注册图

总 结

网上书店系统主要是用来帮助消费者节省大量的精力,同时也帮助了经营者可以省下大量的成本,这是两全其 美的。在本次项目中需要存储大量的图书数据,所以我们得拥有足够的数据库存储空间来存储这些数据。此外我们 数据库应该是可以嵌套与一些网络技术中去的,在浏览了大量的资料后我选择了使用MySQL数据库,以及他的可视化 工具Workbench来进行数据库的管理。选择完使用的数据库后,剩下的就是思考使用什么样的软件和技术来进行开发 系统。我查阅了资料后决定使用Pycharm工具来进行代码的编写,我使用他的主要原因是由于Pycharm工具的强大代 码的提示,Pycharm可以节省我大量进行排错的时间,但是不仅仅是由于这个原因,因为我最后选择使用Django来进 行系统代码的开发,由于Django是使用的python语法进行开发。在这个项目中我使用了Django框架来进行代码开发,Django是目前流行的开发web框架。具体进行开发我们可以 先下载Django,具体操作为在pip installDjango。就可以把Django的一些依赖等配置下载下来。在Django下载下来后我们可以使用Django的命令来从官 方那下载一个模版了,具体使用命令是django-admin startproject 项目名。重要的一步我们先从Django连接数据 库开始开始讲起,当然我们得提前建立好需要使用的数据库,我所使用的数据库名称是Book。第二步就是修改一下 Django项目文件下的settings.py文件, 找到默认的数据库连接文件进行修改,修改使用的数据库,把Django默认使 用的数据库改为MySQL数据库,在settings.py文件再修改MySQL数据库账号密码,以及使用的具体数据库表。最后就 是修改项目文件夹下的_init.py文件,替换默认的数据库引擎。接下来就是创建数据表了,我们通过命令来实现具 体就不做详细叙述了。前端代码的编写依据Django的架构我们需要再Templats也就是模版层里面来书写,后端处理 逻辑可以在views也就是视图层进行编写。

参考文献

[1] 龚新定 , 余艳梅 , 吴小强 , 等 . 基于 Django 的实验室信 息管理系统设计 [J]. 微型机与应用 ,2016,35 (22):108-111.

[2] 杨志庆 . 基于 Django 的 Blog 系统的开发与实现 [J]. 机 电一体化 ,2013(9):69-72. [3] 刘班 . 基于 Django 的快速开发 Web 应用 [J]. 电脑知识 与技术 ,2009(7):1616-1618.

[4] Keith Gregory. Implementing an electronic records management system: Apublic sector case study. Records Management Journal,2005.

[5] 卜佳旭. 基于MVC模式企业信息管理系统设计与实现[D]. 北京:电子工业出版社,2008.

[6] 孙卫琴. 基于MVC的JavaWeb技术与开发[M]. 北京:电子工业出版社,2004.

[7] Michael kofler. MySQL 5权威指南[M]. 北京:人民邮电出版社,2006.

[8] 李玮. 软件自动化测试混合框架的研究与实现[D]. 北京:北京交通大学,2007.

[9] 张若愚. Python 科学计算[M]. 清华大学出版社,2012.

[10]挪. Hedand M H. Python 基础教程[J]. 2010.

[11]邓明杨,李忠雄.基于javaweb技术的网上书城的设计与实现[J].计算机产品与流通2020(05):159-160

[12]郑智方,李彬,刘世坤,李鹏.探究mysql的运用实例-对数据库的宏观把握[J].科技风,2020(06):129

[13]郑戟明,董云朝,肖宇,钱之琳.mysql数据库课程的设计[J].电脑知识与技术,2020,16(03):21-22+24

[14]胡强.MySQL 数据库常见问题分析与研究[J].电脑编程技巧与维护,2020(12):91-92.

[15]胡强.MySQL 数据库中 ALTER TABLE 语句的用法研究[J].电脑编程技巧与维护,2020(11):89-90.

相关推荐
yuluo_YX5 分钟前
大模型专栏--Spring Ai Alibaba介绍和功能演示
java·人工智能·spring
禅思院14 分钟前
npm error code ETIMEDOUT 简单排查
前端·npm·node.js
轩情吖31 分钟前
C++类型转换
java·开发语言·c++·多态·c++类型转换·rtti
cdcdhj37 分钟前
nodejs建立TCP服务器端和TCP客户端之间的连接
前端·网络·网络协议·node.js
Langkaixin41 分钟前
idea编译与maven编译的问题
java·maven·intellij-idea
兩尛1 小时前
搜索二维矩阵 II(java)
java·算法·矩阵
ChinaDragonDreamer1 小时前
Node.js:开发和生产之间的区别
前端·node.js
岁岁岁平安1 小时前
JavaWeb实战(1)(重点:分页查询、jstl标签与jsp、EL表达式、Bootstrap组件搭建页面、jdbc)
java·servlet·javaweb·jsp·el·分页查询·jstl
小豆豆儿1 小时前
【VUE3】【Naive UI】<n-button> 标签
前端·ui·html
只会偷懒1 小时前
Element UI 中国省市区级联数据
前端·elementui