本 科 生 毕 业 设 计(论 文)
论文题目 | : | 基于JSP的网上花店系统 |
姓名 | : | 唐熙鹏 |
学号 | : | 09041127 |
班级 | : | 090411班 |
年级 | : | 09级 |
专业 | : | 计算机科学与技术 |
学院 | : | 信息工程学院 |
指导教师 | : | 王芳 (讲师) |
完成时间 | : | 2013年 6 月14日 |
本人以信誉郑重声明:所呈交的学位毕业设计(论文),是本人在指导教师指导下由本人撰写完成的,没有剽窃、抄袭、造假等违反道德、学术规范和其他侵权行为。文中引用他人的文献、数据、图件、资料均已明确标注出,不包含他人成果及为获得东华理工大学或其他教育机构的学位或证书而使用过的材料。对本设计(论文)的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本毕业设计(论文)引起的法律结果完全由本人承担。
本毕业设计(论文)成果归东华理工大学所有。
特此声明。
毕业设计(论文)作者(签字):
签字日期: 年 月 日
本人声明:该学位论文是本人指导学生完成的研究成果,已经审阅过论文的全部内容,并能够保证题目、关键词、摘要部分中英文内容的一致性和准确性。
学位论文指导教师签名:
年 月 日
基于JSP的网上花店系统
唐熙鹏
Design and implementation of the online flower shop based on JSP
Xipeng Tang
2013年 6月14日
摘 要
随着网络时代的到来,很多商品不再限于面对面销售,网络为商品销售的成本降低做出了重大的贡献,由此众多的电子商务网站应运而生,国内著名的电子商务网站有淘宝,京东,当当等。电子商务的便捷性决定了它在当前社会不可或缺的地位。正是在这种市场网络化驱动下,很多企业开始将注意力转向网络交易,从而不断地刺激电子商务的进一步发展。
本文主要根据实际的购物网站需求,对电子商务网站业务实现进行了一定的研究从而提出了鲜花网的业务功能需求,并在此需求上对整个鲜花网的功能实现进行详细功能设计和数据库设计。同时对整个课题的研究背景和相关目的进行了简介,让读者更好的了解课题研究对象。
整个项目主要基于B/S构架,采用了jsp实现技术,在java的集成开发环境下,采用面向对象开发工具MyEclipse进行开发,服务器端采用数据库Orcal。目的是为了用户和开发商明确本电子商务网站所要达到的功能和目标。通过不断的讨论和交互,最终实现网上鲜花的销售。同时通过需求分析报告,可以进一步了解现实的需求,从而严格按照流程,及时、准确地完成系统的开发,以满足设计的需求。
关键词:电子商务; 网络销售; Java; Jsp; 鲜花网
ABSTRACT
With the advent of the Internet age, many goods are no longer limited to the face to face sales, merchandise sales network to reduce the cost of making a significant contribution, which came into being many e-commerce sites, famous e-commerce website Taobao, Jingdong , Dangdang and so on. The convenience of e-commerce determines its indispensable position in the current society. It is in this market, network drives, many companies began to turn their attention to network transactions, in order to continuously stimulate the further development of e-commerce.
In this paper, according to the actual needs of shopping sites, e-commerce website business to achieve a certain amount of research which made the Flowers business functional requirements, and on this demand function for the entire Flowers realization detailed functional design and database design. While the entire research background and related purposes Introduction, to give readers a better understanding of the research object.
The entire project is mainly based on B / S architecture, implementation techniques using jsp in java integrated development environment, using object-oriented development tools MyEclipse for development, server database Orcal. Purpose is to define users and developers to be achieved by the e-commerce site features and goals. Through continuous discussion and interaction, and ultimately online flower sales. Same time, through needs analysis, you can learn more about the reality of demand, thus strict accordance with the process, timely and accurate completion of system development to meet the design requirements.
Key words: electronic commerce; Network marketing; Java; Flower net
目 录
第1章 绪论 - 1 -
1.1 课题研究背景 - 1 -
1.2 课题研究目的 - 1 -
1.3 开发设计思想 - 1 -
第2章 技术支持和环境定义 - 2 -
2.1 电子商务简介 - 2 -
2.2 开发语言支持 - 2 -
2.2.1 JAVA语言的技术优势 - 2 -
2.2.2 JAVA技术在本系统中的应用 - 2 -
2.3 开发工具Myeclipse9.0、Oracle11g及Tomcat6.0简介 - 2 -
2.4 其他技术运用 - 3 -
2.4.1 JSP、JQuery、Ajax - 3 -
2.5 开发环境 - 3 -
2.6 运行环境 - 3 -
第3章 需求与可行性分析 - 4 -
3.1 系统结构 - 4 -
3.2 界面要求 - 5 -
3.3 可行性分析 - 5 -
3.4 需求分析 - 5 -
第4章 数据库设计 - 7 -
4.1 系统逻辑结构设计 - 7 -
4.2 表设计 - 7 -
第5章 系统功能实现 - 12 -
5.1 商品模块 - 12 -
5.2 购物模块 - 13 -
5.3 会员模块 - 15 -
5.4 用户管理 - 16 -
5.5 商品管理 - 17 -
5.6 订单管理 - 19 -
第6章 总 结 - 21 -
致 谢 - 22 -
参考文献 - 23 -
附 录 - 24 -
第1章 绪论
1.1 课题研究背景
随着经济的全球化发展,电子商务的运用已经深入到我们普通消费者的心中。它不仅可以让消费者足不出户的条件下就能买到自己想要的产品,同时在价格上网上购物也为消费者提供了各种实体店所无法提供的优惠。这就使得越来越多的消费者选择网上消费。正是由于这种市场需求的驱动,近几年来电子商务在我国得到了快速发展,例如:淘宝天猫商城、当当网等一大批网络交易平台孕育而生。正是在这种大环境的影响下很多中小型企业开始将运营范围从实体店转向网上店面,以吸引更多的客户。在网络化不断地影响我们世界的今天,网上购物是整个市场的发展趋势。[1]
1.2 课题研究目的
本课题基于电子商务不断发展以及网上预订的普及性。开发网上售花网站不但降低成本、提高利润,同时还能起到宣传企业品牌的作用。整个网站的功能实现始终围绕着市场上鲜花销售的实际运营模式和销售背景来完成的。其主要目的就是要和市场上真正的售花环境进行对接,让它成为一个可以用于实际商用化的鲜花销售平台。然而,在了解相关的行业背景下广义上地提出交易需求还不能满足实际的要求,一份详细的需求设计和相关的业务实现文档是至关重要的。本课题正是基于这样的目的对鲜花网系统的全面实现进行了相关设计和实现说明,以及在整个开发过程中所用到的工具和相关技术进行了一定程度的介绍。
1.3 开发设计思想
对于鲜花网而言,客户们都是通过浏览器对其门户网站进行鲜花的浏览、预订等相关操作,而后台的数据管理也是由多用户、多地域进行管理的,正是由于这种实际使用需求本系统使用了B/S体系结构。而相对于B/S体系结构而言C/S属于客户端类的软件,它主要是用于开发在单台电脑上运行某些功能处理的软件。这种体系结构的软件很显然不利于管理,不利于联网操作的功能。然而,B/S体系结构恰恰解决了这个问题,他可以在任何一台联网的终端产品上使用所开发的软件,使管理更合理、更便捷。在未来的网上预订领域上,网络化将会普及,所以,对于本系统而言B/S体系结构更优越。
基于本项目的工作量和实际业务操作的要求,本项目并没有使用相关框架进行功能实现,而是采用了jsp实现技术,相对框架而言jsp完全能满足功能业务的实现要求,从而减少了重量级框架的资源浪费。[2]
第2章 技术支持和环境定义
2.1电子商务简介
电子商务源于英文ELECTRONIC COMMERCE,简写为EC。顾名思义,其内容包含两个方面,一种是电子方式,另一种是商贸活动。 [3]
电子商务指的是采用电子形式进行商务活动,买卖双方通过任何电子工具,如web技术等。简单的,比如你通过打电话或发传真的方式来与客户进行商贸活动,似乎也可以称作为电子商务;但是,现在人们所探讨的电子商务主要是以EDI(电子数据交换)和INTERNET来完成的。尤其是随着INTERNET技术的日益成熟,电子商务真正的发展将是建立在INTERNET技术上的。所以也有人把电子商务简称为IC(INTERNET COMMERCE)。总的来说,正如大家所熟知的那样,电子商务可以分为企业(Business)对终端客户(Customer)的电子商务(即BtoC)和企业对企业的电子商务(BtoB)两种主要模式。
2.2 开发语言支持
2.2.1JAVA语言的技术优势
Java语言是一门能够撰写跨平台应用的面向对象程序设计语言,s公司于1995年就推出了这个平台以及相关的程序设计语言。作为一个新兴的语言平台它的优越性主要体现在安全性高和跨平台性强以及效率高上,正因为如此,它广泛地被运用于我们的个人电脑上和数据中心中,同时也被大量运用在银行企业和类运用上。在全球化云计算与移动互联网产业环境中,它被赋予了强大的竞争优势和广阔的发展前景。[4]
2.2.2JAVA技术在本系统中的应用
正是基于java在企业级开发中诸多的优点,故本系统采用java语言编写。其中前台显示页面为jsp页面,后台部分采用了三层架构开发模式,在实体类中定义了静态的常量,并对实体类进行封装,在业务层中调用实体类或方法来实现业务功能。在本系统中采用了大量的注解方式来代替类的导入,从而提高程序性能,也使代码更加简洁。[4]
2.3 开发工具Myeclipse9.0、Oracle11g及Tomcat6.0简介
在整个软件的开发过程中,主要用到Myeclipse9.0、Oracle11g和Tomcat6.0开发工具。Oracle11g是数据库服务,主要用来存储数据,并通过后台对数据库信息进行增、删、改、查等功能。Myeclipse9.0是主要的开发工具,通过它可以创建项目模板,并自带了很多软件所用到的包,其强大的更能让开发效率更高。Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache 服务器,可利用它响应对HTML 页面的访问请求。[6,7,8]
2.4其他技术运用
2.4.1JSP、JQuery、Ajax
该鲜花网站的显示页面均为jsp[8]页面,在显示内容上加入了少量的el脚本,同时写入必要的js代码从而实现客户端页面的功能需求。在编写js代码时使用了大量的Jquery代码,从而减少了代码量,体现了jquery在处理动态业务上的优势。除此之外,在很多jsp页面上加入了大量的ajax技术来实现页面的无刷新体验,这些技术的运用不但能够减少代码量同时能提高整个程序的运行效率,尤其是提高了用户在浏览上的体验。[8,9,11]
2.5开发环境
本系统管理系统采用java进行开发,其语言的跨平台性使得系统在用户终端上能得到更好的使用。同时,J2EE在企业级开发上的优越性也会是得软件更优秀。该软件属于B/S架构软件,较C/S架构而言B/S适用于与网络化的发展模式,只需要电脑联网就可以对软件进行访问和使用,客户可以通过任何地点,任何联网用户终端就可以轻易的完成网上预订功能,方便快捷。[16]
2.6运行环境
本系统的运行环境包括硬件、操作系统、关系数据库等软件,如下:硬件:处理器(CPU):Intel 酷睿i3;硬盘:10GB以上硬盘;软驱:1.44MB软驱;内存:128MB;
显示器:15寸或17寸显示器;操作系统:Windows7,Windows NT,Windows XP, Unix, Linux;关系数据库:Oracle 11G。
第3章 需求与可行性分析
3.1系统结构
根据网上售花的实际业务需要,本网站主要分为门户展示部分和数据管理两大部分。功能结构图如下:
图3-1 功能结构图
3.2界面要求
图3-2 前台首页
3.3可行性分析
本系统是基于数据库的管理和查询,同时要满足用户所提出的系统功能的一个系统。要根据用户的目标来确定现有的软件及硬件技术水准是否能实现开发。在现有的较成熟的软件、硬件条件下,并且考虑到所给予的开发时间也比较充裕,预计系统在规定的时间内是可以完成开发。系统的开发和研制都要充分考虑工作人员使用需求,就是要便于使用,简单上手,运行的条件也要简单。系统的开发符合国家的和法律,对于他人、集合、国家的利益没有侵犯。本系统的最终用户是普通管理员以及普通用户,具有一定的计算机操作能力。
3.4需求分析
3.1角色需求
根据网上花店系统的特点,本网上花店系统的用户应该分为两类, 即消费者和管理员。
消费者登录后可进行在线花卉查询,订单查询,下订单,订单修改以及删除。
管理员能手工添加,修改,删除网店的花卉的相关信息,同时能够对用户信息进行管理,对用户所下订单的管理。
3.2功能需求
根据初步的需求分析,系统功能应该主要包括用户注册与登录,在线查询,下订单,用户管理,订单管理等。以下将按照不同的角色权限对功能进行具体描述:
(1)消费者
对于用户身份而言,主要包括在线查询、注册与登录、下订单、查看订单四大功能。
1)在线查询:用户可以任选时间进行在线查询,找到自己需求的花卉信息。
2)注册与登录:用户可以在线注册与登录,进行购买。
3)下订单:用户可以对自己中意的商品下订单。
4)查看订单:用户可以查看自己订单。
5)订单删除:用户可以根据自己的需要可以删除。
(2)管理员
对于管理员而言,主要包括用户管理、商品管理、订单管理三大功能。
1)用户管理:管理员可以对用户信息进行查询。
2)商品管理:管理员可以手工添加,修改,删除网店的花卉的相关信息。
3)订单管理:管理员可以对订单信息进行查询。
4)订单删除:管理员可以删除订单。
3.3性能需求
(1)准确性和及时性:在性能上要保证系统的响应时间是客户可以接受的。
(2)易用性:本系统是直接面对用户的,而用户往往对计算机并不一定非常熟悉。这就要求系统能够提供良好的用户接口,易用的人机交互界面。要实现这一点,就要求系统应该尽量使用用户熟悉的术语和中文信息的界面,从而保证系统的易用性。
网上花店系统对用户在线查询,修改订单,删除订单以及管理员对于用户信息的操作有较高要求,用户可以根据自己的意愿随时修改以及删除所提交的订单,同时本系统也实现了对注册用户的信息管理,以及所注册用户所提交的订单的管理,管理员可以查询所注册的所有用户的个人信息以及对一些订单的查询和删除,所以整个系统应该性能良好、安全可靠。此外系统应当操作简便,界面友好,维护简便。数据库要求运行速度快,稳定性高,安全可靠。
第4章 数据库
4.1E-R图
在数据库设计中不同表之间存在着相互关联关系,例如一个会员下多个订单,一个订单对应多个商品等。以及表的相关主要属性说明,如下图:
图4-1 系统E-R图
4.2系统逻辑结构设计
1、会员表:(用户ID,邮箱(唯一),密码,姓名,性别,联系电话,省,城市,地址,注册时间,状态(是否被禁用) )。
2、商品分类表:(商品类别ID,商品类别名,商品父类ID)。
3、商品表:(商品ID,商品名称,商品类别,商品材料,商品包装,备注,附送,配送,说明,花语,市场价,现价,商品图片,上架时间,销售的次数,单击次数,是否置顶)。
4、订单表:(订单ID,用户ID,订购人姓名,订购人电话,订购人地址,收货人姓名,收货人电话,收货人省,城市,收货人地址,订单时间,订单总价,订单状态(有四种状态,未审核,已发货,确认收货,取消状态),是否支付)。
5、订单明细表:(明细ID,订单ID,商品ID,商品数量)。
6、商品评论表:(评论ID,商品ID,订单ID,评论者,评论时间,评论内容)。
7、文章表:(文章ID,文章标题,文章发布作者,文章发布时间,文章内容,文章分类)。
8、首页图片轮步器表:(图片ID,图片url,图片href,状态(首页是否显示))。
9、管理员表:(管理员ID,管理员账号,管理员密码,管理员级别)。
10、收货人信息表:(收货信息ID,会员ID,收货人姓名,收货人省份,收货人城市,收货人详细地址,收货人电话)。
4.3表设计
根据数据字典的设计,进一步细化为数据库表的设计,如下:
表4-1 Product 商品表
字段名 | 类型 | 允许为空 | 默认值 | 说明 |
PID | NUMBER | FALSE | 商品ID(主键) | |
PNAME | VARCHAR2(500) | FALSE | 商品名称 | |
PTYPE | NUMBER | FALSE | 商品类别(外键) | |
PMETE | VARCHAR2(500) | TRUE | 商品材料 | |
PWRAP | VARCHAR2(500) | TRUE | 商品包装 | |
PBEIZHU | VARCHAR2(500) | TRUE | 备注 | |
PSEND | VARCHAR2(500) | TRUE | 附送 | |
PMORE | VARCHAR2(500) | TRUE | 配送 | |
PINTRO | VARCHAR2(500) | TRUE | 说明 | |
PWORD | VARCHAR2(500) | TRUE | 鲜花花语 | |
LASTPRICE | NUMBER(9,2) | TRUE | 市场价 | |
NOWPRICE | NUMBER(9,2) | TRUE | 现价 | |
PIMG | VARCHAR2(500) | TRUE | 商品图片 | |
PTIME | DATE | FLASE | 上架时间 | |
PCOUNT | NUMBER | FALSE | 销售次数 | |
PCLICK | NUMBER | FALSE | 商品点击次数 | |
PSHOW | NUMBER | FALSE | 是否置顶 |
字段名 | 类型 | 允许为空 | 默认值 | 说明 |
OID | NUMBER | FALSE | 订单编号(主键) | |
AID | NUMBER | FALSE | 会员ID(外键) | |
ONAME | VARCHAR2(50) | FALSE | 订购人姓名 | |
OPHONE | VARCHAR2(50) | FALSE | 订购人电话 | |
OADDRESS | VARCHAR2(50) | FALSE | 订购人地址 | |
RNAME | VARCHAR2(50) | FALSE | 收货人姓名 | |
RPHONE | VARCHAR2(50) | FALSE | 收货人电话 | |
RPROVIN | VARCHAR2(50) | FALSE | 收货人省 | |
RCITY | VARCHAR2(50) | FALSE | 收货人城市 | |
RADDRESS | VARCHAR2(500) | FALSE | 收货人地址 | |
OTIME | DATE | FALSE | 订单时间 | |
PRICE | NUMBER(9,2) | FALSE | 订单总价 | |
OSTATE | VARCHAR2(50) | FALSE | 订单状态 | |
OPAY | VARCHAR2(50) | FALSE | 支付状态 |
字段名 | 类型 | 允许为空 | 默认值 | 说明 |
LISTID | NUMBER | FALSE | 明细编号(主键) | |
ORDERID | NUMBER | FALSE | 订单ID(外键) | |
PID | NUMBER | FALSE | 商品ID(外键) | |
LCOUNT | NUMBER | FALSE | 商品数量 |
字段名 | 类型 | 允许为空 | 默认值 | 说明 |
AID | NUMBER | FALSE | 管理员ID(主键) | |
ANAME | VARCHAR2(200) | FALSE | 管理员账号 | |
APWD | VARCHAR2(200) | FALSE | 管理员密码 | |
ALEVEL | NUMBER | TURE | 管理员级别 |
字段名 | 类型 | 允许为空 | 默认值 | 说明 |
ADDID | NUMBER | FALSE | 收货ID(主键) | |
MID | NUMBER | FALSE | 会员ID(外键) | |
ADDNAME | VARCHAR2(200) | FALSE | 收货人姓名 | |
ADDPRO | VARCHAR2(50) | FALSE | 收货人省份 | |
ADDCITY | VARCHAR2(50) | FALSE | 收货人城市 | |
ADDDETAIL | VARCHAR2(200) | FALSE | 收货人详细地址 | |
PHONE | VARCHAR2(200) | FALSE | 收货人电话 |
5.1 商品模块
在整个网站中商品模块的功能实现内容比较多,其中包括商品的列表展示,商品的详细展示等内容。在商品的列表展示中需要对这些商品进行条件查询,而在显示界面上需要对相关的商品的信息进行一些计算,例如商品的市场价和优惠价之间就需要进行数据处理,然后显示出来。在详细展示页面上主要是显示该种商品的全部信息,其中一些信息可能涉及到不同表的数据,这就需要系统对多张表进行多表查询,然后显示出来。
1)商品列表展示
图5-1 商品列表
内部逻辑:在网站首页或商品分类列表页面,点击具体某个商品分类的文字等链接进入,链接地址: ProductList?type=商品编号。在servletWebProduct中接收商品类型编号参数,调用ProductDao类中queryBytypeId的方法,获取商品实体类(product)对象并添加到集合,判断集合是否为null或者其size小于0,如果是null或者小于0跳转到错误链接展示页面err.jsp,否则将商品的实体对象集合保存到request.setAttribute(“pList”),最后通过转发到productList.jsp页面。显示界面productList.jsp。
2)商品详细信息展示
图5-2 商品详细图
在网站首页或商品分类列表页面,点击具体某个商品的图片、文字等链接进入,链接地址: Product?id=商品编号。在servletWebProduct中接收商品编号参数,调用ProductDao类中queryById的方法,获取商品实体类(product)对象,判断是否为null,如果是null跳转到错误链接展示页面err.jsp,否则更新商品的浏览次数,调用ProductDao类中的updateClickCount方法,将商品的实体对象保存到request.setAttribute(“product”)。根据商品的编号调用 CommentDao类的queryByProduct方法,获取该商品所有的评论,并保存到request.setAttribute(“commentlist”)中,最后通过转发到product.jsp页面。显示界面product.jsp。
3)商品查找功能
在网站首页或商品分类列表页面和商品详细信息页面,在头部的搜索框中输入相应的关键字,链接地址: Product?name=商品名称。在ServletWebQuery中接收商品名称参数,调用ProductDao类中queryByName的方法,获取商品实体类(product)对象并封装到集合中, 判断集合是否为null或者其size小于0,如果是null或者小于0跳转到错误链接展示页面err.jsp,否则将商品的实体对象保存到request.setAttribute(“pSearch”);最后通过转发到search.jsp页面。显示界面search.jsp。
5.2购物模块
在购物车模块部分主要是对放入到购物车内的商品进行管理,其中包括对多项商品进行管理,并且系统能够将这些商品的价格通过计算显示在界面上。此外,在购物车管理上用户可以调整需要买的商品数量,系统会根据商品数量的不同计算出相应的价格,然后计算出总的价格。同时,用户还能够对不想要的商品进行删除,系统也会根据删除后的数量计算出价格。在订单完善页面上,用户可根据实际情况填写订单信息,其中既包括订货人的信息,也包括收货人的信息以及收获地址管理等内容。
1)购物车管理
图5-3 购物车界面
内部逻辑:在商品展示页面,单击加入购物车,进入链接地址 Car?id=商品编号。在ServletWebShopCar接受到参数id后,条用ProductDao类中的queryById的方法,购物车商品实体类(CarProduct)对象,将获取到的CarProduct实体对象添加到集合对象ArrayList 2)下订单管理 图5-5 订单填写 内部逻辑:填写收货人和发货人的信息。页面js验证收货人和发货人的信息不能为空,后提交到ServletWebOrder,调用OrderDao的addOrder方法添加订单信息,条用OrderDao的AddOrderList方法将给订单明细添加数据,最后调用ProductDao的updateCount方法修改商品的销售次数,最后页面转向到member.jsp。显示页面menber.jsp。 5.3会员模块 会员模块主要包括两部分,即会员注册和会员登录功能。在会员注册部分以邮箱作为用户名进行注册,并且对于已注册的会员会屏蔽注册,并且对输入的邮箱实现了校验功能。有两次输入密码的校验和验证码的校验等功能。会员登录功能主要是邮箱登录,当用户名和密码均输入正确时可以勾选记住密码来实现对该会员信息的保存,以方便下次登录。 1)用户注册 图5-6 注册界面 email和密码都要经过合法性和非空验证,并且email还要使用到ajax技术到数据库中查询该email是否已经存在。在网站首页或商品分类列表页面以及商品详细展示页面的头部,点击注册链接到注册页面,链接地址:register.jsp 。在注册界面首先填写注册信息,在填写每一个信息后,当鼠标失去焦点是激发web前端验证(其中邮箱要符合邮箱规范并且使用ajax无刷新技术从数据库中查询是否有重复的邮箱),如果有一个信息没有通过前端验证,提示应该输入的正确信息规则,如果全部信息通过验证,则将表单提交到ServletWebRegister,在ServletRegister中接收注册表单提交过了的参数,调用memberDao类中add的方法,并返回boolean值,如何返回值是false,返回到注册页面(history.go(-1)),如果返回值是true重定向到Login.jsp页面。显示界面login.jsp 或者register.jsp页面。 2)用户登录 图5-7 登录页面 在网站首页或商品分类列表页面以及商品详细展示页面的头部,点击登录链接到登录页面,链接地址:login.jsp 。在登录界面首先填写登录信息(email,密码,验证码),在填写每一个信息后,当鼠标失去焦点是激发web前端验证,如果有一个信息没有通过前端验证,提示应该输入的正确信息,如果全部信息都通过了验证,则将表单提交到ServletWebLogin,在ServletWebLogin中接收注册表单提交过了的参数,调用memberDao类中login的方法,并返回member对象,如果返回值为空,提示该用户不存在,并返回登录界面;如果返回值不为空,则将返回的member对象放到request.setAttributee(“member”),同时判断用户是否选择了记住密码选项,如果是,也同时将返回的member放入cookie中,并返回到history.go(-1)。首页或商品分类列表页面以及商品详细展示页面。 5.4用户管理 会员管理可以是对当前后台系统登录的用户信息进行管理和对会员信息的管理两部分。对于管理员而言,管理员用户可以修改登录密码。会员管理主要是对会员信息进行展示和对信息的修改和删除功能。 1)修改管理密码:在网站后台入口,验证管理员账户,进入管理界面,点击修改管理员密码,地址:AdminPwdUp.jsp。在ServletAdminPwdUp中接收原始密码和新密码,调用AdminDao类中checkAdminPwd()的方法,判断用户名原密码是否正确,如果是正确的,则调用AdminDao类中的updateAdminPwd()的方法,将新密码更新到数据库,更新成功则返回修改成功的消息。如果原密码验证失败,则提示无权修改。显示界面AdminPwdUp.jsp。 2)会员管理模块 图5-8 会员管理界面 内部逻辑:在网站后台通过验证进入后台管理页面,点击管理菜单AdminMenu.jsp中的会员管理,如果是查询某时间段的注册用户,则在MemberManager.js页面输入需要查询的。时间段,如果是需要禁用,或者启用某用户,则点击用户列表的里面的启用/禁用按钮。在ServletMemberManager中接受MemberManager.js里面传过来的时间段,调用MemmberDao里面的qureryByTime()的方法,查询符合的数据并返回Member对象的结果集。在ServletMemberManager中接受MemberManager.js中传来的禁用/启用命令,调用MemberDao里面的updateMember ()的方法,将数据库中的用户登录权限更改,并返回是否修改成功的消息。未做其他输入则在MemberManager.js中分页显示所有注册用户,如果使用查询,则在MemberManager.js中显示查询结果,如果是更改权限,则直接显示修改结果,并刷新更改按钮的文本。 5.5商品管理 商品管理包括商品类型管理和商品信息管理两部分。商品类型管理主要实现了添加商品类型信息、修改商品类型信息和删除商品类型。商品信息管理主要是对商品信息的详细信息进行修改,删除和查询等功能实现。此外,还能对某些需要推荐的商品进行置顶操作。实现商品优先展示的功能情况。 1)添加商品类型:在网站后台通过验证进入后台管理页面,点击管理菜单AdminMenu.jsp中的商品管理,选择添加商品类型,进入ProductTypeAdd.jsp页面,先在列表框中选择父类商品类型,在输入该父类下的新的商品类型。在ServletProductTypeAdd中接受来自输入界面的数据,如果是父类选项,则通过ProductTypeDao中的queryFatherProductType()方法,查询到所有父类数据,返回产品类型数据集。再接收到新的子类信息后,通过addProductType(),将数据导入数据库,并返回添加成功与否的消息。将返回的通过父类查询到的数据显示到ProductTypeAdd.jsp中。显示添加成功与否的消息。 2)商品类型管理:在网站后台通过验证进入后台管理页面,点击管理菜单AdminMenu.jsp中的商品管理,选择商品类型管理功能,进入ProductTypeManager.jsp页面,先在列表框中选择父类商品类型,对该父类下的子类型进行删除修改等操作(可批量操作)。在ServletProductTypeManager中接受来自ProductTypeManager.jsp页面操作的数据,通过ProductTypeDao里面的updateProductType()和deleteProductType()方法,对数据进行操作。每次操作后,刷新数据显示在ProductTypeManager.jsp页面。 3)添加商品 在网站后台通过验证进入后台管理页面,点击管理菜单AdminMenu.jsp中的商品管理,选择添加商品类型功能,进入AddProduct.jsp页面,在页面输入框中输入产品的相关信息,要求上传图片,提交数据在ServletAddProduct中接受来自AddProduct.jsp页面提交的数据,通过ProductDao里面的addProduct()方法,添加商品数据到数据库。并返回添加成功与否信息。在AddProduct.jsp页面显示添加后返回的消息。 4)商品信息管理模块K在网站后台通过验证进入后台管理页面,点击管理菜单AdminMenu中的商品管理,选择商品信息管理功能,进入ProductManager页面,该页面包含多种查找,删除修改商品信息,置顶商品信息的功能。在ServletProductedManager中接受来自ProductedManager.jsp页面提交的数据,通过ProductDao里面的updateProduct(),deleteProduct(),setTop()方法,对接受的操作进行处理。并返回处理结果。在ProductedManager.jsp页面显示添加后返回的消息。 5.6订单管理 图5-9 订单信息页面 1)查看订单详情:在ServAdminOrder调用OrderDao的queryByState方法返回所有已收货的订单情况,再调用queryProduct遍历某订单下所有的商品信息。 在ServAdminOrder调用OrderDao的queryByState方法返回所有未审核的订单情况,再调用queryProduct遍历某订单下所有的商品信息,点击确认发货时调用OrderDao的方法updateState修改订单为以确认发货。 2)查看已发货订单:在ServAdminOrder调用OrderDao的queryByState方法返回所有已发货的订单情况,再调用queryProduct遍历某订单下所有的商。 第6章 总 结 今年三月,我开始了我的毕业论文工作,直到今天,论文才算基本完成。从最初的恐慌,慢慢倒有所领会,再到对思路基本的清晰,这个过程是三言两语无法描述的。经历了几个月的努力,紧张而又充实的毕业设计终于将要划伤的句号。回想这几个月的经历和感受,感慨万分。在这次毕业设计的过程中,我收获颇丰。 在这段时间里,我巩固和加深了所学的编程语言JAVA,以及开发环境的运用等方面的知识。还了解到Orcal数据库的运用及操作技巧。这让我开阔了知识面,扩大了视野,为下一步的工作和学习打好了比较坚实的基础。 总的来说,本次设计完成的比较理想,达到了预期的目的。完成了利用JSP语言编写鲜花网的功能的实现。因为在网上关于电子销售的资料很杂,很难从中提取对自己有用的信息,所以探索之路有些坎坷,但度过了最开始的挣扎期以后,思路慢慢清晰了,到现在也总算是不辱使命,但是本次设计仍有不足之处,系统的一些地方也还存在着缺陷,对学习的内容认识也比较浅薄,知道到了应用层次,还没有能力完成。这些都要求我在今后还要加倍继续刻苦努力学习与专研。 这次毕业设计给了我很大的启示。我体会到在设计过程中,必须要有坚定的恒心和不屈的自信心,还必须要有孜孜不倦的探索精神,才能够完成复杂的各种设计要求。在车场毕业设计中由于相互彼此的讨论和帮助,也是我们的同学关系更进一步了。同学之间有什么不懂的,一起商量,相互帮助,听听不同的看法对我们更好的理解知识。再次更感谢我的毕业设计指导老师王芳,是老师的细心指导和帮助,我才能够顺利的完成毕业设计。还有在此过程中帮助我的同学们,从你们身上我不仅学到了扎实的专业方面的知识,也学到了许多处事的道理,在此我要向你们致以最衷心的感谢和深深的敬意。 致 谢 经过思念的学习以及几个月的精心准备,倾注了自己许多心血的毕业论文写作任务终于到了结束的时候,在论文完稿直接,心头如释重负,在欣慰之余额,万千思绪涌上心头,令我感触良多。论文写作的过程并不轻松,知识的积累和组合尚欠火候,还要面对学习和工作的种种压力,于是我只能一次次地在图书馆和网上查阅大量的参考资料,一次次地写作和修改论文,一次次的向导师和同学请教,以期高质量地如期完成论文。第一次话费这么长的时间和精力,完成了一篇具有一定学术价值的论文,轻重的艰辛与困难难以诉说,其中的酸甜苦辣,值得我一生回味。 在此我要感谢我的指导老师王芳,王老师虽身负教学科研众人,仍抽出时间,不时召集我们以督课业,耳提面命,殷殷之情静载谆谆教诲中。从初稿到定稿王老师不厌其烦,一审再审,达到篇章布局的偏颇,小到语句格式的瑕疵,都一一予以之处,为我精心点播,悉心指导。同事我要感谢信息工程学院所有给我上过课的老师,是他们传授给我方方面面的知识,拓宽了我的知识面,培养了我的功底,对论文的完成不无裨益。衷心感谢深身边的所有同学,他们时时关注我的论文情况,并从多方面给我了有力的支持,让我能够全身心地投入到论文写作中。 谨向我的父母和家人表示诚挚的谢意。你们是我生命中永远的依靠和支持,你们无微不至的关怀是我前进的动力;你们的殷殷希望,激发我不断前行。没有你们就没有我,我的点滴成就都来自你们。 让我依依不舍的还有各位室友,校友和老乡。在我需要的时候,你们屡屡伸出温暖的双手,鼎力相助。作为排行老六的我,还要感谢大哥黄辉,二哥赖鹏希,三哥刘焰峰,四哥应俊,五哥吴兵强,大学四年有你们相伴是我的荣幸。还有罗利民,俞超,吴继辉,胡丽川,罗名俊,和你们在09计科相聚四年,互励互勉,共同进退的生活,此生不忘。 最后,向我们亲爱的,敬爱的班主任申凯老师致敬,直至现在我还无法适应您已离开我们,离开这人世。作为09计科1班班长,我与您的接触远比其他同学更多、更深。正因如此,您的离去让我更加悲痛不已。但逝者已逝,我们会作为您唯一带过班的一届学生,在人生的路上,秉着您正直,敬业的精神,越走越远! 本论文的完成远非终点,文中的不足和浅显之处则是我新的征程上一个个新的起点。 我将继续前行! 参考文献 在编写本需求分析报告时,参考的文献资料主要有: [1].石磊 电子商务的网络技术 中国水利水电出版社 2005 [2].史志国 基于JSP的教务管理系统设计 2008 [3].方美琪,《电子商务概论》,北京,清华大学出版社,1999年 [4].孙卫琴. 精通Struts: 基于MVC的Java web设计与开发. 电子工业出版社. 2005. 第一章到第八章 [5].G. Booch. 用UML构建Web应用. 中国电力出版社, 2003.全文 [6].刘亚宾, 杨红. 精通Eclipse. 电子工业出版社. 2004. 全文 [7].朱亚兴 基于oracle的web应用项目开发作 电子工业出版社 2011 [8].孙卫琴,李洪成.Tomcat与Java Web开发技术详解[M]. 电子工业出版社 2004 [9].张桂元,贾燕枫,姜波(编著),征服AJAX—快速入门与项目实践. 北京:人民邮电出版社,2006. 全文 [10].钱雪忠 《数据库原理及应用》 北京邮电大学出版社 2007,8 第二版 [11].飞思科技产品研发中心. JSP应用开发详解(第二版)[M]. 电子工业出版社 2004 [12].G.E.Hobona,S.J.Abele,Philip James[J]. University of Newcastle upon Tyne, 2006 [13].罗时飞. 精通Sping. 电子工业出版社, 2005.全文 [14].吴以欣,陈小宁. JavaScript脚本程序设计[M]. 人民邮电出版社 2005 [15].James Turner,Kevin Bedell. Struts Kick Start[M]. SAMS,2004 [16].Kong Michael. An environment for secure SQL/SERVER computing[M]. Oxford University Press Inc.,2008 [17].张越,刘奇 小型电子商务网站的设计与实现 电子工业出版社 2007