其他项目,点击作者主页
目录
1 系统简介
2 系统相关技术
2.1 Java
2.2 MySql数据库
2.3 MyEclipse技术
2. 4 Tomcat服务器
3 需求分析
3.1 系统可行性分析
3.1.1 技术可行性分析
3.1.2 经济可行性分析
3.1.3 社会可行性
3.2 系统功能需求分析
4 系统设计
4.1 系统功能结构设计
4.2 系统功能详细设计
4.2.1 消费者设计
4.2.2商家模块设计
4.2.3管理员模块设计
4.3 数据库设计
4.3.1 数据库概念模型设计
5 系统实现
5.1 消费者模块实现
5.1.1 用户注册
5.1.2 用户登录
5.1.3 服装搜索
5.1.4 购物车
5.1.5 订单查看
5.1.6 用户信息修改
5.2 商家模块实现
5.2.1 商家注册
5.2.2 服装信息管理
5.2.3 订单管理
5.2.4 留言管理
5.2.5 个人信息管理
5.3 管理员模块实现
5.3.1 服装类别管理
5.3.2 服装信息管理
5.3.3 用户信息管理
5.3.4 商家用户管理
1 系统简介
服装销售网站是基于Java技术开发的电子商务网站平台,平台中可以进行服装的买和卖操作,实现了下单、在线交易的基本功能。网站是在Myeclipse平台中来开发,数据库选择的适应中小型网站的MySQL数据库,在性能和安全上都是满足网站的基本需求。服装销售网站是一个综合性的服装发布、服装买卖的平台。网站的前台是针对广大有服装购买的用户,用户注册登录后可以再网站中购买服装,网站中实现了多种搜索方式以及购物车模式。网站的后台是商家管理员发布服装、管理订单的模块,系统管理员以设置商家出售服装的类别以及对网站前台注册的用户、商家进行管理。
2 系统相关技术
2.1 Java
Java是众多面向对象开发语言中在最为简单的编程语言。并且Java 语言在电子商务和网站发领域的地位极其重要。Java语言的风格类似于C++。但是为了使语言容易熟悉和简洁,Java 语言的设计者们把 C++语言中一般程序员很少使用的特征去掉了,使其更加精炼。Java放弃了C++语言中最难掌握的指针和对内存的管理,但又引用了很多丰富的类库,可以方便程序员的直接调用。而且在硬件或操作系统平台上安装一个Java平台之后,Java应用程序就可运行。Java语言具有跨平台性、面向对象、多线程等特点。Java还在互联网、移动电话、PC、游戏控制台和数据中心等方面应用广泛。Java的主要优势:
1.面向对象
Java语言完全是面向对象的,但从面向对象的程序设计语言的优点来看,类似于Small Talk。但于比Small Talk相比,Java的优势也很明显,特别是适应于分布式计算环境的特性更为显著。Java语言还支持对不同代码的重组以及类的继承。
2.安全性
Java语言避免了对内存的非法操作,针对容易出现的指针和释放内容在Java中都被删除。另外Java在执行网页程序时,会把后台程序功能和前台浏览器结合在一起,后台在执行时,要经过代码校验、对象检查、代码断检测以及对象的操作是否合理等。
3.健壮性
Java可以自行检查程序在编译和运行阶段的错误,包括了对类型定义赋值的检查、数组边界的检查以及对内存出错的检查等。Java 特有的垃圾回收机制能自动回收变量垃圾,释放内存。Java的健壮性会降低程序的出错率。
4.跨平台性
用Java 语言编写好的一份代码,只需编译一次,就可以在多种不同平台上运行使用。
2.2 MySql数据库
数据库往往使用 SQL 语言来进行管理,MySQL 使用的是最标准化的 SQL 语 言。[13]MySQL 分为社区版和商业版两种版本,社区版免费开放,而且性能卓越, 搭配 Apache 和 PHP 可搭建良好的开发环境。可以多个客户端可以同时连接该服务器,实现数据的读写、查询操作。相比于SQL Server、Oracle数据库,MySQL数据库的体积小、简单易用,自带的只有命令行工具,可以把抽象的数据直观的展示在用户面前。MySQL数据库具有的函数、存储过程以及触发器功能可以为使用者提供更为复杂的业务处理。
1.开源性
MySQL数据库的源代码是对外开放的,每个人都可以参与到数据库的缺陷修正上来。并可以让数据库来执行不同的操作,MySQL对外开源是区别与其他数据库的主要原因。
2.跨平台性
MySQL数据库在windows、Linux操作系统中得到了广泛的应用,在Android、IOS等移动端的操作系统中也可以应用。MySQL的跨平台性让它可以应用在很多的web应用程序中,方便用户在不同系统的使用。
3.安全性
MySQL数据库是通过用户来限制对数据库的访问权限,可以分为不同的安全等级。数据库中包括了root用户和普通用户,root用户是高级用户,有对数据库操作的一切权限,root用户可以添加多个普通用户,并分配不同的权限。Root用户和普通需要登录时都需要特定的端口号、帐号、密码,提高了数据库的安全性能。
2.3 MyEclipse技术
MyEclipse是一个可视化的Java编程工具。在MyEclipse中可以进行项目的新建、编译、调试以及运行操作,极大的方便了程序员对于Java程序的开发。MyEclipse开发平台的优势如下:
1.MyEclipse集成的插件多,开发相应的功能时可以直接调取使用。
2.MyEclipse平台中自带的tomcat和jdk,用户可以不用配置,直接使用MyEclipse中的就可以运行程序,避免了配置tomcat和jdk。
3.MyEclipse安装方便,下载安装包就可以一键安装,过程中不需要配置。
2. 4 Tomcat服务器
Tomcat是一个开源的Servlet和JSP结合的容器。Tomcat深受广大Java 程序员的喜爱,不仅因为它扩展性好,支持负载平衡,运行时占用的内存资源小,提供了邮件服务等开发 Web 应用项目中常用的一系列功能,还因为 Tomcat在不断的完善和改进中,开源使得所有Java 程序员都可以改进和壮大Tomcat。并且Tomcat还实现了Servlet和JSP引擎,并进行了一些应用服务器的扩展,包括了程序与数据库建立的连接池、JNDI以及用户个人事物的处理应用,同时做为一个Servlet服务器,Tomcat的工作模式分为了独立的、进程内和进程外的Servlet容器。Tomcat服务器都是可以免费下载安装的,服务器的运行需要JDK环境变量的支持,同时需要电脑中一个服务端口。
3 需求分析
3.1 系统可行性分析
3.1.1 技术可行性分析
服装销售网站采用的开发语言是Java,Java是面向对象的,编码简单,可以在MyEclipse集成平台中完成开发。前台是JSP网页与后台Java实现动态数据的交互使用,开发网站采用Servlet框架来实现,方便对代码进行维护和管理。同时在前台可以用JavaScript来进行脚本的开发,可以让程序变的更加的灵活。一些数据的非法验证都可以在JavaScript中来完成,网站的运行是在Tomcat服务器中来完成,将网站配置在服务器中,可以实现多用户的同时访问。数据库选择MySQL数据库,可以满足服装销售网站的数据存储需求,体积小、占用内容少、查询速度快等特点符合服装销售网站对于数据库性能的需求。同时自己对Java开发语言和MySQL也很熟悉,Java开发的语言和MySQL常用的数据操作在之前的学习中都有应用过,开发服装销售网站应该是没有任何问题的。
3.1.2 经济可行性分析
对于服装销售商家来说,让更多的人购买服装是生存的根本,在网络上建立销售渠道可以更好的为商家做推广,在网络上推广可以不受地域、时间等外部因素的限制,从而带来更多的客户,增加商家的收入,对于消费者来说,在服装销售网站中购买服装可以不用四处逛店铺,节约了时间,同时网站中销售的服装相比店铺还要便宜,节约了费用。从网站的开发和运行成本上来说,开发所用的工具和软件都是免费下载使用的,运行需要租赁服务器和购买域名就可以上线,费用较低。所以开发一套服装销售网站对于商家来说是非常有利的。
3.1.3 社会可行性
现在人们的购买商品的习惯已经从线下发展为网购的模式,中国网民数量的不断增加,也保证了网购模式的高速发展。人们也已经习惯从网络中购买商品,方便挑选,便于比较,能在最短的时间内挑选到自己喜爱的商品。服装销售网站可以为商家和消费者建立简单的沟通渠道,提高了服装交易的效率,符合现在人们的消费习惯。
3.2 系统功能需求分析
服装销售网站的主要的功能是对服装的买卖交易,完成服装从线下销售模式转变为网站线上销售模式的转变。和传统的店铺销售模式一样,都具有客户和商家,但网站中的客户可以在网页中注册登录就可以购买服装,商家管理员也只需要发布一些服装的资料到网站中即可。客户在网站上下单,然后商家发货完成整个服装的买卖交易,同时系统管理员负责系统的维护和管理,包括商家发布的服装、用户和商家的基本信息。
1.用户模块
前台消费者未注册时只能是一个浏览者的身份在网站中浏览服装的信息,服装的浏览设计了多个查询搜索的方式,可以按照服装类别和服装名称的关键字来寻找相应的服装。注册完个人资料并登录才可以选择心仪的服装进行下单购买。购买时具有购物车的功能,可以把服装先临时加入到购物车中,然后一起下单。用户登录后还可以查看自己的购买订单以及修改自己的基本信息。前台消费者模块的用例图如图3-1所示:
图3-1 消费者模块的用例图
2.商家模块
商家可以发布自己需要出售的服装。可以对服装的名称、图片、价格等基本信息进行维护和管理操作。同时对购买的订单进行发货处理。还可以对个人信息、自己的密码进行管理和更新。商家用户的用例图如图3-2所示:
图3-2 商家用户的用例图
3.后台管理员模块
后台管理员可以对网站所销售的服装的类别进行设置,设置不同的服装类别有利于消费者更快的找到自己需要的服装。可以对服装的名称、图片、价格等基本信息进行维护和管理操作。同时对购买的订单进行发货处理。还可以对前台注册的用户、自己的密码进行管理和更新。管理员用户的用例图如图3-3所示:
图3-3 管理员用户的用例图
4 系统设计
4.1 系统功能结构设计
服装销售网站在功能结构上设计了两种结构模式,包括了消费者模块、商家模块、管理员模块三种模式。在前台中用户可以先注册一个帐号,登录后选择服装后进行购买,购买时必须有购物车功能,方便用户操作,为了方便用户查找服装,有按照服装的关键字查询以及服装的类型进行查询,用户还可以查询到自己的订单的基本信息和发货状态。未登录的用户只具有浏览信息的权限。服装具有图片、价格、详情的基本介绍,方便用户了解服装的基本信息。商家主要是发布服装以及对自己服装的销售订单进行管理。管理员模块主要对服装类型的定义、服装信息的管理,还可以对前台注册用户和商家的基本信息进行管理。服装信息要包括基本的名称、类型、价格、颜色、尺寸、介绍等内容组成。服装销售网站的功能结构图如图4-1所示:
图4-1 功能结构图
4.2 系统功能详细设计
4.2.1 消费者设计
1.服装搜索
服装搜索是服装销售网站中的为用户快速找到自己需求的服装的关键模块,网站中设计了两种模式的搜索方式。第一种是服装关键字,是按照服装名称的关键字来进行搜索,搜索的字符在服装名称中的一个或者多个的情况下都能搜索到,实现模糊搜索的方式快速的找到包括关键字的服装。第二种是按照服装的类别进行搜索,点击对应的服装类别名称就可以找到该服装类别下包括的所有服装信息。这两种搜索条件是设置在公共模块中,前台中的每个页面都包括,方便用户使用,在每个页面的左面。搜索功能不需要注册登录。
2.购物车
购物车是服装销售网站的关键部分,是方便用户购买服装时临时对有意向购买的服装的存储工具。把想购买的服装放置在购物车中,可以再删除或者更新服装的数量。购物车功能需要用户登录后才可以使用,用户登录后系统就会对用户创建一个属于自己的购物车中,同时购物车和用户是一一对应的关系。购物车中可以存储服装的ID和数量,当把一个服装加入到购物车中,会先验证这个服装的ID是否在购物车中建立,如果有就在原来的记录的数量上加1,否则新建一个记录,包括服装ID和数量。同时会计算购物车中总的服装的价格,对已经加入的购物车生成的记录进行循环读取。购物车的执行流程图如图4-2所示:
图4-2 购物车流程图
3.订单查看
订单查看时每个已登录的用户都可以对自己的购买订单进行查看,可以查看到订单的基本信息,包括订单的编号、发货状态,同时可以查询每一个订单下的所购买的服装的名称、数量、价格以及总价格。这个功能只对登录的顾客开放,在进入功能时要先验证用户是否登录。订单查看流程图如图4-3所示:
图4-3 订单查看流程图
4.用户信息修改
用户登录成功后,就可以修改自己的资料,页面中会先根据登录帐号获取登录人的基本信息,然后赋值在页面各个控件中。修改时验证步骤和注册时是一致的。用户信息修改执行流程图如图4-4所示:
图4-4 用户信息修改执行流程图
4.2.2商家模块设计
1.服装信息管理
服装添加时需要输入服装的编号、名称、服装类别、颜色、尺寸、图片等基本信息。添加时要对每个输入控件的值进行安全属性的非空验证,都有值且合法时才能插入到数据表中。修改和删除是在一个模块中,先显示出所有的服装信息,在每一行数据的后面有修改和删除按钮,点击后会根据该行的服装ID来操作,修改是进入到修改页面,先根据ID查询赋值,然后修改后跳转回该页面。删除时获取到服装ID为执行条件查询指定ID的服装记录信息。服装信息的发布执行流程图如图4-5所示:
图4-5 服装信息发布执行流程图
2.订单管理
订单管理页面初始化会查询该商家所有服装的销售订单,并按照发货状态进行排序,未发货的订单排在最前面,已发货的排在后面。显示了订单的编号、订购人的基本信息和购买的服装的名称和数量。
发货是对订单的状态进行更新,更改为已发货的状态。
3.留言管理
留言管理是消费者对该商品的服装进行的留言查看和回复,页面初始化显示了服装的名称、留言用户的姓名、留言的时间和内容,商家点击回复后就可以对该条留言记录进行回复。
4.2.3管理员模块设计
1.服装类别管理
服装类别管理是对服装设置一个类别名称,方便管理员对服装进行分类管理,方便消费者对服装进行分类查询。服装的添加需要先验证服装类别名称是否为空,然后再验证服装类别名称是否唯一,只有不重复的类别才可以添加成功。服装类别添加执行流程图如图4-6所示:
图4-6 服装类别添加执行流程图
2.服装管理
服装管理是管理员有权限查看并删除商家发布的服装,页面初始化查询所有服装信息。删除是根据服装的ID删除某一个服装。
3.用户信息管理
用户信息管理是管理员有权限查看并删除前台注册的用户,页面初始化查询所有用户信息。删除是根据用户的ID删除某一个用户,删除后的用户将不能再进行登录操作。
4.商家信息管理
商家信息管理是管理员有权限查看并删除前台注册的用商家户,页面初始化查询所有商家用户信息。删除是根据商家用户的ID删除某一个商家用户,删除后的商家用户将不能再进行登录操作。
4.3 数据库设计
4.3.1 数据库概念模型设计
服装销售网站要包括了服装类别、服装信息、订单、订单详情、管理员、前台消费者、商家。实体之间的概念模式如图4-7所示:
图4-7 数据库概念模式关系图
对应是数据关系如下:
(1)一个管理员可以多个前台消费者信息
(2)一个管理员可以管理多个服装类别
(3)一个商家可以管理多个商家信息
(4)一个商家可管理多个订单
(5)一个用户可以选择多个服装品,生成一个订单
(6)一个服装类别下可以包括多个服装
(7)一个前台消费者进行多次留言,一个商家可以回复多个留言
5 系统实现
5.1 消费者模块实现
5.1.1 用户注册
用户注册是保证每个购买服装的用户留下自己的基本信息,方便管理员发货来设计的,在该页面中设计了多个input输入控件,在JavaScript中多的chenck()方法会验证每个控件都不能为空。都不为空后提交整个form到user_servlet.java中的userReg方法中,获取每个控件值完成用户注册操作,注册成功后跳转到主页面。用户注册界面设计图如图5-1所示:
图5-1 用户注册
5.1.2 用户登录
用户登录是对前台用户身份的验证。页面在整个页面的顶部,是在intop.jsp基础框架页中来实现的。登录信息要现在JavaScript中的check方法验证不能为空,然后显示登录图标,进入到loginService.java中的login方法获取登录帐号和密码,然后查询t_user信息表验证是否正确。验证成功后把前台的基本信息保持的session中,并设置session中的userType为1,代表是前台用户登录。同时给用户初始化一个购物车car,并放置在session中保持起来。最后返回到前台页面,验证userType为1代表已登录成功,显示登录的用户名完成登录操作。用户登录设计图如图5-2所示:
图5-2 用户登录
5.1.3 服装搜索
服装搜索是在inLeft.jsp页面中,分别设置了按照关键字或者服装类型。关键字是设置了一个input输入值控件,点击查询后提交form表单到goods_servlet.java 中的goodsBymingcheng中获取input的值,利用sql中的like关键字实现对t_goods表中mingcheng字段的模糊查询,查询后返回一个goodsList到goodsByCatelog.jsp页面循环读取后显示出来。服装类别搜索是在goods_servlet.java 中的goodsByCatelog来获取服装类别ID,查询后返回一个goodsList到goodsByCatelog.jsp页面循环读取后显示出来。。服装搜索页面设计如图5-3所示:
图5-3 服装搜索
5.1.4 购物车
购物车在在服装详情页面中,输入购买数量后就可以先把服装加入到购物车中,提交的购买数量要先在JavaScript中的buy1中验证都数量的合法性,包括了数量不能为空和不能大于该服装的库存数量,然后才可以提交表单到buy.java中的addToCart执行加入购物车的操作。在addToCart获取商品的ID、购买数量以及用户登录时初始化的car对象。把商品ID和数量放在car对象中,如果商品ID已存在,就在原来该商品数量的基础上加上数量,否则新生成一条新的商品信息。在购物车中会计算所有服装的总价格,购物车页面是mycar.jsp,页面设计图如图5-4所示:
图5-4 购物车
5.1.5 订单查看
订单查看是每个登录用户具有的权限,在intop.jsp页面的JavaScript中的myorder会验证用户是否登录,读取session中的user字段是否有内容,如有内容是否为1,为1时才代表的用户登录。用户的订单数据是通过buy.java中的myorder的方法获取用户名查询t_order表,然后返回一个orderlist数据到myorder.jsp页面显示出来。订单查看页面设计图如图5-5所示:
图5-5 订单查看
5.1.6 用户信息修改
用户信息修改时登录用户具有的修改个人信息的功能,在intop.jsp页面的JavaScript中的myxinxi会验证用户是否登录,判断session中的user是否为空,为空代表未登录,否则登录。在userXinxi.jsp获取用户登录时保存在session中的各个值,给每个控件赋值,然后修改,修改是通过user.java中的userEdit获取用户信息修改页面中各个input的值和session中的用户名来执行修改。用户信息修改页面设计图如图5-6所示:
图5-6 用户信息修改
5.2 商家模块实现
5.2.1 商家注册
商家注册是需要销售服装的商家需先注册基本细信息,在该页面中设计了多个input输入控件,在JavaScript中多的chenck()方法会验证每个控件都不能为空。都不为空后提交整个form到qiye_servlet.java中的qiyeReg方法中,获取每个控件值完成用户注册操作,注册成功后跳转到主页面。商家注册界面设计图如图5-7所示:
图5-7 商家注册
5.2.2 服装信息管理
服装信息管理中可以对服装的基本信息进行添加,信息的添加首先要进行验证,在JavaSript中从check方法为验证每个控件的值,都验证不为空后才提交表单到goods.java中的goodsAdd方法来进行插入数据库的操作。在图片控件中会利用一个上传界面upload.jsp选择一个图片,并进行重新命名处理,该页面直接把选择的图片文件上传到upload文件夹中,关闭该页面中返回的只是图片的名称存储在数据库中即可。页面设计图如图5-8所示:
图5-8 服装信息添加
5.2.3 订单管理
订单管理主要时对订单的查看、配送发货等操作。订单信息的查询是通过buy.java中的myorder1,是先获取到商家的ID,通过商家ID查询该商家的服装,如果订单详情表中的服装是该商家发布的,就显示该服装,并显示出订单的编号、订购的时间、送货地址以及服装的名称和购买的数量。发货是通过order.java中的orderShouli来更新订单表中的fahuozhuangtai字段为yes。订单管理页面设计图如图5-9所示:
图5-9 订单管理
5.2.4 留言管理
留言管理信息的查询是通过liuyan_java中的liuyanMana来实现的,通过获取session中的商家id查询留言信息表,并与服装信息表关联在一起,查询到该商家所有服装的留言记录。回复是liuyan_java中liuyanhuifu方法更新huifu字段的内容。留言管理页面设计图如图5-10所示:
图5-10 留言管理
5.2.5 个人信息管理
修改登录密码页面中用到了三个input控件,并设置了类型为password,这样输入的时候就显示暗码。在JavaScript中的check方法中获取每个input的值并验证为空,同时验证原密码和session中保持的登录密码进行对比,不正确时返回false,正确时比较两次新密码是否一致。都验证通过后进入到loginService.Java中的qiyePwEdit中以登录帐号为条件来修改密码。修改登录密码页面设计如图5-11所示:
图5-11 修改登录密码
5.3 管理员模块实现
5.3.1 服装类别管理
服装类别的添加页面只设计了一个input控件,类型为Text,可以输入文本,执行添加后表达form跳转到catelog.java中的catelogAdd方法获取input控件的值完成把服装类别名称插入数据库中。查看是通过catelogMana方法获取数据放在catelogList中,在catelogMana.jsp页面中获取到catelogList值,然后循环读取出来。删除是catelogDel方法中获取主键ID为条件进行删除,然后返回到管理页面。服装类别管理页面设计图如图5-12所示:
图5-12 服装类别管理
5.3.2 服装信息管理
服装信息管理是对商家发布的服装进行查看和删除,初始化是通过goods.java中的goodsMana方法获取到所有发服装List,返回到服装信息管理页面通过一个for循环读取出来。删除是通过goods.java中的goodsDel1来获取服装的id执行删除。服装信息管理页面是5-13所示:
图5-13 服装信息管理
5.3.3 用户信息管理
用户信息管理是对前台注册的顾客资料进行查看和删除。用户信息管理页面设计图如图5-14所示:
图5-14 用户信息管理
5.3.4 商家用户管理
商家用户管理是对前台注册的商家资料进行查看和删除。商家用户管理页面设计图如图5-15所示:
图5-15 商家用户管理
源码+过程性文档+论文