【Java开源代码栏目提醒】:网学会员在Java开源代码频道为大家收集整理了“基于Java的网上购物系统 - 产品手册“提供大家参考,希望对大家有所帮助!
晋 中 学 院本科
毕业论文(设计) 题 目 基于
JAVA 的网上购物 系统 院 系 计算机科学与技术 专 业_
计算机科学与技术 (网络工程方向) 姓 名 聂 澎 学 号 0 9 1 1 1 2 2 1 2 6 学习年限 2009 年 9 月至 2013 年 7 月 指导教师 李俊丽 职称 讲师 申请学位 学士学位 2013 年 5 月 15 日 基于
JAVA 的网上购物系统 学生李俊丽摘 要:本系统是尝试用 JSP 在网络上架构一个动态的电子商务网站,它是在 Windows7下,以 MySQL 为数据库开发平台,Tomcat 网络信息服务作为应用服务器,基于 J2EE多层体系结构,应用
Java、Struts、Hibernate 等技术开发的网上购物系统。
系统分注册与登录部分和购物车部分,注册与登录部分主要包括用户注册与登录功能;购物车部分主要包括购物车添加商品,删除商品,修改商品数量等功能。
建立后的网站系统是一个动态、交互式、具有用户登陆与注册、购物车删除与恢复、订单生成等功能的电子商务网站。
关键词:
java;jsp;Ajax;MySQL;struts Designed in the Online Shopping System based on JSP Author’s Name: NiePeng Tutor: LiJunLiABSTRACT :The system is trying to use
Java in a dynamic network ofe-commerce websites structure which is in Windows 7 MySQL for databasedevelopment in platform Tomcat application server as a network informationservices use
Java、Struts、Hibernate、Spring technology development onlineshopping system. Prospects and the background of some of his hours theprospects of users including users registered a shopping cart managementorder management personal information management message boardmanagement functions Background in part by managers including commoditymanagement processing orders customer information management inform-ation management and other functions links. After the establishment of the
website is a dynamic interactive with commodities systems managementvoice mail and other functions of the e-commerce website users.KEYWORDS:
java;jsp;Ajax;MySQL;struts 目 录1 引言 .................................................. 1 1.1 研究背景 ..............................................1 1.2 研究现状 ..............................................1 1.3 发展趋势 ..............................................12 系统概述 .............................................. 2 2.1 网站的设计目标 .........................................2 2.2 网站的可行性...........................................2 2.3 系统的主要架构及开发模式 ...............................3 2.4 系统主要技术简介.......................................43 系统功能需求 .......................................... 4 3.1 系统功能需求...........................................4 3.2 系统流程分析...........................................54 系统数据库设计 ........................................ 7 4.1 数据库需求分析.........................................7 4.2 数据库中各表间关系 .....................................85 系统详细设计 .......................................... 8 5.1 用户注册与登录.........................................8 5.2 购物车管理 ............................................9 5.3 订单生成 .............................................106 系统测试 ............................................. 11 6.1 系统关键部分测试分析 ..................................11 6.2 测试分析总结及说明....................................11 6.3 系统的性能分析........................................12 6.4 系统的整体设计和规划中的问题 ..........................12 6.5 开发功能模块所遇到的难点 ..............................12 6.6 系统中存在的问题及拟定的解决方法 ......................137 结束语 ............................................... 14致谢 ................................................... 15参考文献 ............................................... 16 1 引言 1.1 研究背景 随着全球信息网络的发展,Internet 在世界上已不仅仅是一种技术,更重要的是它已成为一种新的经营模式,彻底改变了人类工作,
学习,生活,娱乐的方式,已成为国家经济和区域经济增长的主要动力。
Internet 正成为世界最大的公共资料信息库,它包含无数的信息资源,所有最新的信息都可以通过
网络搜索获得。
更重要的是,大部分信息都是
免费的,应用电子商务可使企业获得在传统模式下所无法获得的巨量商业信息,在激烈的市场竞争中领先对手。
因此,本设计是通过 JSP 语言来实现,一个基于 B/S 模式三层结构的网上购物网站网站1。
1.2 研究现状 在国内的网上商城: 1、起步晚、数量却非常多。
虽然我国的网上商城起步的很晚,但是发展却很迅速,根据某调查网站上的数据可知,到目前具有网上商城的性质的网站达 12000 之多,但是能够真正满足消费者购物要求的却不多。
2、 支付和安全认证上的客观技术原因,导致用户完成电子商务交易变得相当复杂,使大部分用户还没等交易完成就已经退避三舍了,所以开发一个安全又操作简单的网上商城难度很大。
3、由于很多网上商城商家一开始都想把自己的网站做到成亚马逊那种境界,这导致很多网站只对商城货物的品种和数量上加以扩张,却不对数据查询技术加以改进,这使很多网站在用户浏览的时候速度很慢或者交易的过程中时间太长。
4、很多网上商城跟用户的交流很少,开发出来的网站,却不适合大部分用户的要求。
1.3 发展趋势 随着电子商务环境的改善,以及电子商务所具备的巨大优势,电子商务正在以惊人的速度在发展并且逐渐渗透到社会生活中的每一个领域。
而在人口最多的中国,近年来网购这一趋势也变的愈加明显。
越来越多的年轻人也选择在网上开店
创业,许多 1消费者也觉得在网上购物比较便宜。
目前为止,网购在中国仍有很大的发展空间。
2 系统概述 我所
设计和开发的网上购物平台主要特点是采用 Web 技术,借助于 Internet 互联网广泛应用技术,从而实现信息化,规范化,系统化,网络化的平台,使整个购物活动过程简单、方便、易行。
该平台功能如下: 1、能够完成用户基本信息录入的注册和用户基本信息的个人管理。
2、能够完成对网站的购物车商品资料(商品添加与删除、商品修改)等功能达到对购物车的管理。
3、能够通过查看购物车对所选商品进行确定、挑选,通过定单查询对支付费用进行确定。
2.1 网站的设计目标 本平台利用现在比较广泛的
JSPMySQL 数据库的架构实现的,此系统分为用户部分和购物车部分。
用户部分是友好的操作界面,包括:用户登录,用户注册,浏览商品、购买商品等功能;购物车部分包括:商品管理(商品添加与删除、商品修改)等。
系统设计的总体规则如下: 1、简单性:在实现平台的功能的同时,尽量让平台操作简单易懂,这对于一个网站来说是非常重要的。
2、针对性:该平台设计是网上购物系统及后台管理的定向开发设计,所以具有专业突出和很强的针对性。
3、实用性:该平台能完成电子商品展示和管理员管理的基本信息,具有良好实用性。
2.2 网站的可行性 1、
经济可行性 该平台设计只是作为本人的
毕业设计,又因为本人的设计能力有限,其功能还不 2能完善,所以没有什么经济效益可谈。
2、技术可行性 JSP+ServletSSH 的技术已经较为成熟。
3、运行可行性 该系统需要搭建 JVM 即
JAVA 虚拟机和 Tomcat 环境,在此环境下,还需要在正确连接数据库后可以正常运行。
通过以上的可行性分析,我将采用 JSP+ServletSSH 相结合的技术,运用数据库对网站进行建设2。
2.3 系统的主要架构及开发模式 系统的建设关键在于其所使用的 B/S 基于浏览器的架构。
B/S 基于浏览器的架构则是目前网络系统应用的主流,它将大量的数据处理工作交给服务器端来处理,客户端只用通过普通的 IE 浏览器即可访问系统,方便快捷而且利于系统的更新和维护,
java 语言在该方面更是得天独厚,J2EE 规范的出现则使
系统的开发更加规范,层次更加清楚,更利于对复杂事务的处理,而且在安全性方面也做的更好。
基于 MVC 的开发流程则使开发过程更加清晰明了,利于做一些复杂的逻辑实现,从而节省了开发周期和开发成本3。
在 B/S 体系结构系统中,用户通过浏览器向分布在网络上的许多服务器发出请求,服务器对浏览器的请求进行处理,将用户所需信息返回到浏览器。
B/S 结构简化了客户机的工作,客户机上只需配置少量的客户端
软件。
服务器将担负更多的工作,对数据库的访问和应用程序的执行将在服务器上完成。
浏览器发出请求,而其余如数据请求、加工、结果返回以及动态网页生成等工作全部由 Web Server 完成。
这种三层体系结构如图 2-1 所示。
Browse 浏览 Web 服务器 器 数据库 图 2-1 三层体系结构图 这种结构不仅把客户机从沉重的负担和不断对其提高的性能的要求中解放出来,也把技术维护人员从繁重的维护升级
工作中解脱出来。
由于客户机把事务处理逻辑部分分给了功能服务器,使客户机一下子quot苗条quot了许多,不再负责处理复杂计算和数据 3访问等关键事务,只负责显示部分,所以维护人员不再为程序的维护工作奔波于每个客户机之间,而把主要精力放在功能服务器上程序的更新工作。
这种三层结构在层与层之间相互独立,任何一层的改变不会影响其它层的功能。
2.4 系统主要技术简介 SSH 为 strutsspringhibernate 的一个集成框架,是目前较流行的一种 Web 应用
程序开源框架。
集成 SSH 框架的系统从职责上分为四层:表示层、业务逻辑层、数据持久层和域模块层,搭建结构清晰、可复用性好、维护方便的 Web 应用程序。
其中使用 Struts 作为系统的整体基础架构,负责 MVC 的分离,在 Struts 框架的模型部分,控制业务跳转,利用 Hibernate 框架对持久层提供支持。
本系统的具体做法是:用面向对象的分析方法根据需求提出一些模型,将这些模型实现为基本的
Java 对象,然后编写基本的 DAO 接口,并给出 Hibernate 的 DAO 实现,采用 Hibernate 架构实现的 DAO类来实现
Java 类与数据库之间的转换和访问。
系统的基本业务流程是: 在表示层中,首先通过 JSP 页面实现交互界面,负责传送请求和接收响应,然后 Struts 根据配置文件将 ActionServlet 接收到的 Request 委派给相应的 Action 处理。
在持久层中,则依赖于 Hibernate 的对象化映射和数据库交互,处理 DAO 组件请求的数据,并返回处理结果。
采用上述模型,不仅实现了视图、控制器与模型的彻底分离,而且还实现了业务逻辑层与持久层的分离。
这样无论前端如何变化,模型层只需很少的改动,并且数据库的变化也不会对前端有所影响,大大提高了系统的可复用性。
而且由于不同层之间耦合度小,大大提高了开发效率4。
3 系统功能需求 3.1 系统功能需求 网上商城共分两个部分,一部分是用户部分,包括:顾客在线注册、登陆、购物、提交订单、付款等操作;另外一部分是购物车管理部分,这部分的内容包括:产品的添加、删除、恢复、生成订单等。
4 3.2 系统流程分析1、前台购物时流程 未注册用户 注册浏 选 订 去 收 提览 择 购 购 货 交 商 商 已登录注册用户 物 订商 地品 品 品 登录 车 址 单 未登录注册用户 图 3-1 前台购物流程2、注册功能流程 注册入口 Email 地址有效 密码是否一致? 密码长度符合 必填项为空? 其他信息有效? 注册成功 图 3-2 用户
注册流程 53、用户登录流程 登录入口 否 用户名是否可用 是 否 密码是否有效 是 获得用户名和密码 将 user 添加到 session
登陆成功 图 3-3 用户登录流程图4、商品管理流程图 商品管理 添加商品 查询商品 修改删除 否 满 意 是 返回 3-4 商品管理流程图 65、购物车流程 购物车 查看商品 否 满意吗 调整商品 是 下订单 图 3-5 购物车流程图4 系统数据库设计4.1 数据库需求分析数据库中总共有八张表分别为:1、d_user 用户信息表存储用户的基本信息。
包含用户登录、用户注册功能。
2、d_receive_address 用户地址信息表存储用户使用过的地址信息。
包含填写送货地址功能。
3、d_category 产品类别信息表存储产品的类别信息。
包含主界面类别菜单功能。
4、d_product 产品基本信息表存储了各类型产品的基本共
通信息。
5、d_book 图书信息表存储了图书特有的信息。
6、d_category_product 产品类别和产品对应关系表存储了某个类别包含了哪个商品的关系信息。
.7、d_order 产品订单信息表 7存储了订单的基本信息。
8、d_item 订单明细表存储了某个订单所购买的产品信息。
4.2 数据库中各表间关系 图 4-1 各表间关系图5 系统详细设计5.1 用户注册与登录1、用户注册当用户第一次登录时首先要注册成为
会员后才可以购买物品.用户可以通过单 8击首页的注册按键来打开注册页面进行会员注册操作。
为了便于管理网站对用户的管理,在用户注册页接收到的注册信息要经过严格的过滤,保证注册用户的唯一性,在提交表单后需要对数据表中的数据进行查询,如果没有找到,则在插入数据表时提示注册成功,否则提示用户以被占用,请重新注册5。
用户注册界面如图 5-1 所示。
图 5-1 用户注册界面 2、用户登录 用户登录窗口设置在首页上主要用来接收用户输入的用户名和密码并更新用户在网站中的状态信息。
网站首页在用户第一次访问时会判断用户是否登录未登录则显示用户登录窗口提示用户登录或注册.对于已经登录的用户在用户登录窗口将显示用户的相关信息. 首页主要是根据保存用户名信息的 session 参数来判断用户是否已经登录的。
5.2 购物车管理 1、购物车模块 添加购物车就是把用户选中的商品放在购物车中。
当用户在前台首页中单击商品 9展示区的“购买”按钮时,系统会将该商品的详细信息展示在查看物品清单页中。
用户在单击物品清单页面下方的“购买”链接,便可将商品放入购物车。
2、查看购物车 为了方便用户随时查看购物情况,在网站的首页加入了查看购物车链接,通过它可以将所选物品信息放入购物车中显示出来。
在程序中使用一组文本框记录用户购买的商品数量,用户可以在文本框中输入想要购买的数量然后单击修改按钮。
如果要删除物品,可以点“删除”,并单击修改按钮来更新购物车中商品的数量6。
购物车界面如图 5-2 所示。
图 5-2 购物车界面 3、清空购物车 清空购物车是指当用户订单生成后,倘若还想继续购物,一定要清空购物车在进行选购商品,这样防止重复购物。
清空购物车只需要将 session 中存储的对象清空即可。
5.3 订单生成 在生成订单模块中主要使用了调出用户信息并根据订单生成的时间生成唯一订单号,调出用户信息就是完全的对数据库进行操作,利用 session 对象把登陆后的用 10户名保存起来,在订单生成时把保存的用户名从数据库的用户表中取出即可。
订单生成界面如图 5-3 所示。
图 5-3 订单生成成功界面 6 系统测试 6.1 系统关键部分测试分析 系统完成之后,对各个模块的功能进行了详细的测试,输入数据和预测输出数据相比,发现了一些
问题。
主要是在
查询过程中预计查询结果和实际结果不一致,有时候达不到目的,对数据库的操作表之间的关联考虑得不够周到,因此往往会出现一些小的错误。
还有查询条件的前后数据类型不一致也是一个很常见的错误,需要靠一步步的查找解决。
各个模块组装完成后,又会出现一些问题。
比如在操作购物车结帐的这个流程中,由于是多次添加和修改,最后结帐,所以很容易造成数据混乱,必须对相应的数据关系理清楚,一些关键查询统计的 SQL 语句必须反复斟酌才能放在程序中使用。
6.2 测试分析总结及说明 在测试过程中,我经过模块测试和组装测试,排除了系统的大部分错误。
当然排 11除所有错误是不太可能的,我想应该还有些不易检测到的错误还没有被发现,需要在使用的过程中进一步的完善,数据库的加密是一个重要的概念,在实际的应用过程中是一个尚待解决的问题,应该做好数据库的完善工作,特别是备份和安全工作;另一方面本系统没有制作相关的打印,由于时间仓促难免有错误和不完善的地方,希望老师能够帮我指点和纠正。
6.3 系统的性能分析 网上购物系统的性质决定了它的服务端工作负荷比较大,这就要求服务端的硬件配置要尽可能的高,主要是内存,而且操作系统也要尽可能的稳定。
基于
java 的系统一般来说网络安全性比较好,但并不能说就一定安全,尤其在 windows 操作系统下,由于 windows 的漏洞比较多,系统装配在 windows 下并不是最佳的选择,如果有条件,建议可将系统装配在 unix 操作系统下,提高系统的抗侵入能力。
系统的核心数据库,随着数据的不断增多,必然会产生冗余,导致系统运行效率降低,建议管理员定期备份和清理冗余数据,以保证系统的正常高效运行。
6.4 系统的整体设.