您好,欢迎来到好土汽车网。
搜索
您的当前位置:首页毕业设计—在线交易平台的设计与实现

毕业设计—在线交易平台的设计与实现

来源:好土汽车网


哈尔滨理工大学

毕 业 设 计

题 目: 在线交易平台设计与实现

院、 系: 计算机科学与技术学院 计算机系

姓 名:

指导教师:

系主任:

2010年6月23日

哈尔滨理工大学毕业设计(论文)评语

学生姓名: 学号: 学 院:计算机科学与技术 专业:计算机科学与技术 任务起止时间: 2010 年 3 月 5 日至 2010 年 6 月 20 日 毕业设计(论文)题目:在线交易平台设计与实现 指导教师对毕业设计(论文)的评语: 指导教师签名: 指导教师职称: 评阅教师对毕业设计(论文)的评语: 评阅教师签名: 评阅教师职称: 答辩委员会对毕业设计(论文)的评语: 答辩委员会评定,该生毕业设计(论文)成绩为: 答辩委员会签名: 职称: 年 月 日

哈尔滨理工大学毕业设计(论文)任务书

学生姓名: 学号: 学 院:计算机科学与技术 专业:计算机科学与技术 任务起止时间: 2010 年 3 月 5 日至 2010 年 6 月 20 日 毕业设计(论文)题目:在线交易平台设计与实现 毕业设计工作内容: 1、熟悉使用数据库、Java程序设计语言、Hibernate、Struts、JavaScript、JSP等工具,阅相关资料;(3月5日 —— 3月20日) 2、完成各个模块设计,包含用户管理、首页面、商品浏览、购物车管理和订单管理等多个模块; (3月20日—— 4月10日) 3、各个模块编码工作; (4月10日—— 5月10日) 4、系统集成测试; (5月10日—— 5月20日) 5、完成论文,准备答辩 (5月20日—— 6月15日) 资料: 1.Bruce Eckel,陈昊鹏 译,JAVA编程思想(第4版),机械工业出版社,2007 2.(美)CAY S. HORSTMANN,GARY CORNELL,叶乃文,邝劲筠,杜永萍译,JAVA核心技术,机械工业出版社,2008 3.(美)CRAIG WALLS,RYAN BREIDENBACH,毕,王军译,SPRING IN ACTION(第二版)中文版,人民邮电出版社, 2008 4. 闫术卓,杨强,STRUTS 2技术详解:基于WEBWORK核心的MVC开发与实践,电子工业出版社,2008 指导教师意见: 签名: 年 月 日

系主任意见: 签名: 年 月 日

哈尔滨理工大学学士学位论文 在线交易平台设计与实现

摘 要

随着Internet技术的飞速发展,人们的生活和Internet的关系越来越密切,如何通过Internet抓住商机成为摆在人们面前的一个重要话题。电子商务代表着未来贸易方式的发展方向,其应用和推广将给社会和经济带来极大的效益。因此,一个能够实现在线购物功能的系统的开发就成了当务之急。

本购物系统是一个基于Internet,采用B2C(Business to Consumers)模式,并根据现有的网上购物系统的现状而设计开发的电子商务平台。它不但可以扩大商家的规模和市场影响力,而且可以减少企业的经营成本,提高工作效率。为用户提供了会员注册,购物车管理,商品搜索,用户资料修改等功能。

本文主要介绍该系统是如何实现,并详细介绍了系统分析、系统设计和数据库设计的一些思路和方法。另外,在系统设计这一章节作者列出了实现在线购物过程的详细流程。该系统凭借WEB服务器和客户的浏览器,利用电子工具高效率、低成本的特点,为客户提供交易平台、在Internet上发布商业信息,使用户可以查阅商品、搜索商品、订购商品,为客户提供全天候的、更好、更快的商务活动空间。

关键词 电子商务;在线购物;JavaWeb

- I -

哈尔滨理工大学学士学位论文 Design and Implementation of Online Trading

Abstract

With the fast development of the Internet technology, the relationship between people’s life and Internet is becoming more and more intimate. How to grasp commercial opportunity through the Internet is becoming an important topic. The E-Commerce represent the developing direction of the future type of trading. It’s application and popularization will bring great benefit to the society and economic. So,the development of a system which is able to implement online shopping is becoming an immediate necessity.

The system has mainly provided users with the following functions:

membership registration、shopping car management、goods search、information modify etc. It has also provided managers with goods management、customer information management、news management 、ad management and so on. It has been designed with B/S mode of three-tier structure, JSP technology in dynamic page design. Considering from the security and reusing code of the system, key codes has been secured by JavaBean technology. MySQL database has been used as the background database.

The paper mainly introduced this, detailed introduced some thoughts and method of system analysis,system design and database analysis.Besides,in the chapter of system design,author listed the detailed algorithm of how to implement online shopping.The system rely on Web server and client’s broswer,making use of the electronic instrument’s characteristics of high-efficiency and low-cost,providing a trading flat for client,release bussiness information in the Internet,enable the user to look up, search,subscribe goods.Providing the client with full-time,better,faster space of commercial activity.

Keywords E-Commerce;Online Shopping;JavaWeb

- II -

哈尔滨理工大学学士学位论文 目 录

摘 要 ......................................................................................................... I Abstract ....................................................................................................... II

第1章 绪论 .................................................................................................. 5 1.1 选题目的和意义 ............................................................................... 5 1.2 国内外文献综述 ............................................................................... 6 1.3 论文研究内容 ................................................................................... 7 第2章 需求分析 .......................................................................................... 8 2.1 引言 ................................................................................................... 8 .............................................................................................................. 8 .............................................................................................................. 8 2.2 任务概述 ........................................................................................... 9 2.3 可行性分析 ....................................................................................... 9 .............................................................................................................. 9 ............................................................................................................ 10 ............................................................................................................ 10 2.4 系统功能分析 ................................................................................. 10 2.5 本章小结 ......................................................................................... 10 第3章 系统设计 ........................................................................................ 11 3.1 总体结构设计 ................................................................................. 11 3.2 系统架构设计 ................................................................................. 11 3.3 设计目标与用例分析 ................................................................... 14 ............................................................................................................ 14 ............................................................................................................ 14 3.4 模块功能详细设计 ......................................................................... 15 ............................................................................................................ 15 ............................................................................................................ 19 ............................................................................................................ 22 ............................................................................................................ 25 ............................................................................................................ 25 3.5 数据库数据设计 ............................................................................. 26 ............................................................................................................ 26 ............................................................................................................ 28 3.6本章小结 ........................................................................................... 30 第4章 系统实现 ........................................................................................ 31 4.1 总体实现 ......................................................................................... 31 4.2 后台逻辑实现 ................................................................................. 32 ............................................................................................................ 32

- III -

哈尔滨理工大学学士学位论文 ............................................................................................................ 32 ............................................................................................................ 32 ............................................................................................................ 33 4.3 主要模块功能实现 ......................................................................... 33 ............................................................................................................ 33 ............................................................................................................ 34 ............................................................................................................ 34 ............................................................................................................ 34 ............................................................................................................ 35 ............................................................................................................ 35 4.4 部分页面展示 ................................................................................. 36 4.5本章小结 ........................................................................................... 39 第5章 系统测试 ........................................................................................ 40 5.1 测试用例设计与测试用例的运行过程及测试结果分析 ............. 40 模块测试 .......................................................................................... 40 ............................................................................................................ 40 ............................................................................................................ 41 5.2 评价 ................................................................................................. 41 5.3本章小结 ........................................................................................... 41 结论 ............................................................................................................ 42 致谢 ............................................................................................................ 43 参考文献 .................................................................................................... 44 附录 ............................................................................................................ 45

- IV -

哈尔滨理工大学学士学位论文 第1章 绪论

1.1 选题目的和意义

随着中国市场经济的日趋成熟和计算机技术和网络技术的发展,人们对信息的获知程度和广度都提出了更高的要求。尤其是近年来,商品的种类变得五花八门,人们在采购货物的时候对商品类别、型号、用途的要求也各不相同,如果采用传统的将各种类别不同型号的商品都配送至每个可能需要该商品的地区,就会增加很多配送方面的成本;同时,买家必须到商店里面去亲自选购所需的商品也是传统购物方式的弊端。因此网上购物这种新的商业运营模式就被越来越多的商家运用到竞争中去,并得到了大多数客户的认可,这种基于浏览器、服务器实现的购物方式已经初具规模,一些在线购物网站的成立,改变了人们以往传统的购物观念。

图1-1是根据CNNIC(中国互联网络信息中心)公布的中国B2C电子商务发展报告来进一步分析目前的网上购物的现状(主要引用其中的关于进行网络购物原因的分析图表)。 50.0 40.0 33.4 30.0 32.6 29.7 46.7 44.2 20.0 10.0 0.0% 节省时间 操作方便 节省费用 出于好奇 寻找稀有商品

图1-1网络购物原因调查图表

从图1-1可以看出网上购物选择节约时间和操作方便的分别占46.7%和44.2%,这说明随着生活节奏的加快,人们越来越希望拥有简单快捷的购物方式。因此,一个允许买家在家里就可以浏览商家发布的所有商品信息的在线购物系统将大大减轻商家的工作量、降低投资成本。

本系统是结合当前传统购物方式消耗大量人力物力的弊端、以当前市场上已经存在的B2C、C2C等在线购物网站为模型,开发出适合于大部分中小型企

- 5 -

哈尔滨理工大学学士学位论文 业以及个体用户的网上购物系统。该系统是在学习Java Web相关知识的基础上,熟悉MyEclipse开发环境并能熟练使用Java编程语言的同时,运用软件工程理论知识,开发出的一套基于Java Web的在线购物系统。在系统开发的过程中能够应用所学的知识,并促进本人更深入的学习Java Web的相关特性、积累更多MySQL的相关应用知识,这样不仅能将所学的书面知识和实际应用结合起来达到学以致用的目的,同时也为以后的工作和学习积累经验[1]。

1.2 国内外文献综述

在线交易平台即是电子商务中的一个分支,学界普遍认为,电子商务最早产生于60年代,发展于90年代。近30年来,计算机的处理速度越来越快,处理能力越来越强,价格越来越低,应用越来越广泛,这为电子商务的应用提供了基础;由于INTERNET逐渐成为全球通信与交易的媒体,全球上网用户呈级数增长趋势,快捷、安全、低成本的特点为电子商务的发展提供了应用条件;信用卡以其方便、快捷、安全等优点而成为人们消费支付的重要手段,并由此形成了完善的全球性信用卡计算机网络支付与结算系统,使\"一卡在手,走遍全球\"成为可能,同时也为电子商务中的网上支付提供的重要的手段;1997年5月31日,由美国VISA和Mastercard国际组织等联合指定的SET(Secure Electronic Transfer Protocol)即电子安全交易协议的出台,以及该协议得到大多数厂商的认可和支持,为在开发网络上的电子商务提供了一个关键的安全环境;自1997年欧盟发布了欧洲电子商务协议,美国随后发布\"全球电子商务纲要\"以后,电子商务受到世界各国的重视,许多国家的开始尝试\"网上采购\",这为电子商务的发展提供了有利的支持。

电子商务作为一种新型的交易方式,将生产企业、流通企业以及消费者和带入了一个网络经济、数字化生存的新天地;在电子商务环境中,人们不再受地域的,客户能以非常简捷的方式完成过去较为繁杂的商务活动,如通过网络银行能够全天侯地存取资金帐户、查询信息等,同时使得企业对客户的服务质量可以大大提高;电子商务能够规范事务处理的工作流程,将人工操作和电子信息处理集成为一个不可分割的整体,这样不仅能提高人力和物力的利用,也可以提高系统运行的严密性;在电子商务中,安全性是一个至关重要的核心问题,它要求网络能提供一种端到端的安全解决方案,如加密机制、签名机制、安全管理、存取控制、防火墙、防病毒保护等等,这与传统的商务活动有着很大的不同;商务活动本身是一种协调过程,它需要客户与公司内部、生产商、批发商、零售商间的协调,在电子商务环境中,它更要求银行、配送中心、通讯部门、技术服务等多个部门的通力协作,往往电子商务的全过程是一气呵成的。

关于电子商务方面,我参考查阅了《国际电子商务概论》、《电子商务营销案例》、《网上开店行销指南》、《电子商务导论》、《电子商务万事通》、《电子商务基础》、《电子商务教程》、《电子商务原理》、《中国电子商务发展研究报告》

- 6 -

哈尔滨理工大学学士学位论文 等电子书籍、文献,还查看了\"电子商务直通车网\"和\"电子商务研究网\",这些的内容涵盖了电子商务的产生、发展、概念、性质、目标和任务、作用、地位、特点、功能并提供了许多相关电子商务的案例。让我了解到了近现代电子商务理论和实践的基本内容和发展状况,深刻认识到电子商务的重要性,为论文的写作奠定了理论基础。

1.3 论文研究内容

本论文主要研究在线交易平台如何设计并使用JavaWeb实现。

现在流行的网上购物系统不仅要有漂亮的网页,更要有严谨的规划,注重每一个细小的环节,这样才能使得在电子交易时避免不必要错误发生。本系统将使用HTML、JSP等技术来编辑网页,并运用Hibernate把数据库和动态网页相关联。传统的管理信息系统信息获取方法是由专业文字录入人员将信息输入到管理系统的数据库中,这种方法在数据量不大时有很多的应用场合。当数据量比较大,并且有较强的专业性时,录入的费用和出错的可能性都相应上升。本设计在实际应用中的解决方案是建立网站,以及自己的数据库,使得所需商品信息可以及时的保存、更新,可以更好的及时了解商品买卖的情况。

- 7 -

哈尔滨理工大学学士学位论文 第2章 需求分析

2.1 引言

本系统使用Struts2+Hibernate3+Ajax+J2EE技术完成的一个网上在线购物系统,模仿新豆网(xindou )制作完成,该项目主要完成在线购物平台的设计与实现。

2.1.1 背景分析

电子商务的出现,是网络经济对我们现存经济社会的挑战,尤其是对企业传统的宣传、经营模式和理念将会造成强烈的冲击。企业运营模式的各种问题都一个个的滋生出来,给企业带来了经营上的各种匮乏,乃至企业覆灭的沉重代价;如果企业能有效解决这些问题,在网络构建全球市场竞争的平台上,企业的优势则会无限地放大,使企业从降低成本、有效商业信息、高效商业决策和加快产品流通等方面都会得到长足的发展。

真正的电子商务解决方案应是基于客户网下现有的资源,为客户建立一整套的网上商业模式。而建立网站只是用技术的手段使已定的商业模式在网上得以实现。

面对对网站开发拥有不同知识层面的客户,项目的负责人对用户需求的理解程度在很大程度上决定了此类平台实现的成败。因此如何更好地的了解、分析、明确用户需求,并且能够准确、清晰以文档的形式表达给参与项目开发的每个成员,保证开发过程按照满足用户需求为目的正确项目开发方向进行,是每个网站开发项目管理者需要面对的问题,也是需求分析的目的所在。

2.1.2 术语定义

1. Java是由Sun Microsystems公司于1995年5月推出的一种程序设计语言和该语言平台的总称[2]。

2. 面向对象是程序设计中采用封装、继承、抽象、多态等设计方法[3]。 3. servlet是一种服务器端的Java应用程序,具有于平台和协议的特性,可以生成动态的Web页面。

4. JSP是Java Server Pages的简写,是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。

5. AJAX是Asynchronous JavaScript and XML的简写,异步JavaScript和XML,AJAX并非缩写词,而是由Jesse James Gaiiett创造的名词,是指一种创建交互式网页应用的网页开发技术[5]。

6. Struts最早是作为Apache Jakarta项目的组成部分,是目前非常流行的一种动态web开源框架技术[6]。

7. Hibernate是一个开放源代码的对象关系映射框架,使得Java程序员可以

- 8 -

哈尔滨理工大学学士学位论文 随心所欲的使用对象编程思维来操纵数据库。

8. Browser/Server,浏览器/服务器,简称B/S。 9. Client/Server,客户端/服务器,简称C/S。

10.Business to Business(B2B)商家对商家,电子商务的一种业务形式。 11.Business to Consumer(B2C)商家对顾客,电子商务的一种业务形式。 12.Consumer to Consumer(C2C)顾客对顾客,电子商务的一种业务形式。

2.2 任务概述

任务目标:实现在线交易网站,可以使用户方便,轻松的进行购物(买家)、讨论、评价等和发布自己的商品(网站使用者)、信息、公告等。

用户特点:

买家特点:买家都喜欢便宜,关心商品的质量,怕买到的是假货、次货,但是网络购物只能看图片,看评论,看说明,看买过的人评价。这方面要给买家提供详细的信息。图片有大中小缩略图、商品各种评价、打分、讨论、排行等,给买家一个最好的用户体验。

卖家特点(站长):及时的宣传自己新商品,热卖商品等,让用户知道自己的商品,对于某些商品尽快脱销,需要促销活动等,都需要使买家尽快知道这些消息等。这方面要给卖家(站长)提供大量新闻,广告信息(宣传自己商品),在首页使用公告,排行等方式醒目的显示给买家。

2.3 可行性分析

可行性分析主要包括社会可行性、经济可行性、技术可行性。

2.3.1 社会可行性

首先从当前社会商业市场运作情况来看,商业企业在运营的过程中,经常会受到以下一些条件的:

1. 产品的宣传受到,采购商或顾客只能通过上门咨询、 沟通等方式进行各种信息的获取,受到一定的时间与物理空间的局限并且成本较高,庞大的商业经济周转。

2. 复杂的产品周转渠道:从看样品、谈价格到支付货款等一系列的产品周转渠道过于复杂,企业与客户之间缺乏一个全面的沟通与快捷运营的平台系统;商业企业中根据季节的变化,热销商品在销售高峰到来时货源紧张,企业需要实时了解商品的销售情况,保证热销商品的要货满足率。

基于商家在传统销售模式中遇到的以上困难,作者拟开发在线购物系统。商家在使用该系统后,只需将需要推广的产品信息录入数据库,即可达到向购买者推销的目的,节省了大量的人力资源。同时可以根据在线购物的多少、实时查看库存信息,实现商品周转渠道的最简洁化。因此,在社会方面,本系统的开发是可行的。

- 9 -

哈尔滨理工大学学士学位论文 2.3.2 经济可行性

由于使用开源框架开发本系统,且在windows操作系统下完成本系统的开发,所以开发成本仅为作者的时间,并未投入其他物质成本。且在传统的销售模式中,企业要投入大量的人力物力用于商品的配送,并且还不能有效做到合理的供货。而本系统为商家提供了随时随地查看所有商品信息的功能,是商家在短时间内充分了解当前市场货物的供需情况,从而制定合理的配送计划,达到配送成本最小化、供货效率最大化。这样就能为企业节约大量的人力资源投入,本系统的未来前景美好。所以在经济方面,该系统的开发是可行的。

2.3.3 技术可行性

Struts2、Hibernate3、Ajax、JSP等技术比较成熟,常见功能可以轻易实现,且对windows系统有良好的支持,开发环境容易搭建,后期部署方便;该系统开发完成后在1024*768的浏览器下能够达到最佳的浏览效果,在其他分辨率下亦不影响系统的正常功能;另外需要浏览该系统的计算机联入Internet,而这些方面在当前条件下是完全能够实现的,所以在技术方面,该系统的技术是可行的。

2.4 系统功能分析

商家具有通过本系统发布商品、发布公告、了解商品销售情况、销售趋势,与买家互动等功能。满足卖家快速及时的出售自己商品的需求。

买家具有注册、方便的浏览、查询、购买、讨论和评价商品等功能。满足买家购买到自己喜欢合适的商品需求。

根据在线购物的逻辑过程,同时参考、分析目前市场上已有的在线购物网站,本系统的主要功能需求分为权限管理、商品展示、交易、商品搜索和商品讨论五大模块。各个功能均参考当前互联网主流门口网站实现的功能。

1. 权限管理模块包含登录、登出、查看用户信息、以及增删查改的功能; 2. 商品显示模块包含商品的分类查看、查询、订购功能;

3. 交易模块包含购物车中商品的添加、删除,修改,订单生成等功能; 4. 商品搜索模块包含根据商品名称、分类、品牌搜索详细商品信息功能; 5. 商品讨论模块模拟论坛实现的,包含商品讨论,打分,关注等功能。

2.5 本章小结

本章主要介绍了背景分析、术语定义、可行性分析与功能分析,从需求上确定了系统开发的主要功能模块,从技术上确定了系统需要用到的编程语言和开发环境等,为后续设计与实现奠定基础。

- 10 -

哈尔滨理工大学学士学位论文 第3章 系统设计

本章的总体目标是将上一章需求分析阶段得到的功能需求转换为详细的业务逻辑模型,具体将从系统的结构设计和数据库设计两方面进行设计,即根据上一章节中需求分析的”做什么”,确定系统应该”怎么做”。

3.1 总体结构设计

系统结构和功能是系统设计的核心部分,通过系统结构图可以清楚的看出整个系统的结构。针对每个结构模块分别做分析,为以后的设计和实现打下基础。根据功能需求,根据在线购物的逻辑过程,同时参考、分析目前市场上已有的在线购物网站,本系统的主要功能需求分为权限管理、商品展示、交易、商品搜索和商品讨论五大模块。

本系统开发的软件模式选择的是快速原型模式,因为本系统模拟新豆网实现(主要模拟其业务流程),所以其原型选择新豆网,大体功能(如商品交易,查询等)即按其实现,对于当前新豆网不尽人意的地方,模拟当前互联网其他网站主流实现方法实现。

总体功能结构图如图3-1所示。

3.2 系统架构设计

本系统采用4层架构的方式进行设计与实现,主要包括:表现层、控制层、业务层、持久层[7],如图3-2所示。

表现层:主要负责用户交互和结果显示,交易系统和管理系统有不同的 URL 入口界面。该层业务展示主要使用JSP语言,为了加强用户体验度,使用JavaScript和Ajax异步与服务器交互,使用户“无等待”交互。该层的美工布局使用div+css方式,使界面美观舒适,便于观看与操作。

控制层:主要负责系统的访问控制、数据处理和注销,是系统的核心控制单元。控制层通过系统描述来组织工作。 该层主要使用Struts2的过滤器作为核心控制器,控制请求跳转与结果页面渲染,有些功能使用实现,这种注入的方式方便扩展,加强了代码的重用性,如权限判断等的。

业务层:实现了交易系统和管理系统的主要业务逻辑,是系统主要的运算单元。 该层主要使用service业务组件实现,即无状态JavaBean,向后台service调用持久层的dao方法操作数据库,向前台service提供接口供Struts2的action调用。

持久层:实现了静态数据和数据库数据的持久化管理,为业务层提供数据服务,是系统进行数据操作的统一界面。 该层使用Hibernate管理JavaBean,使用面向对象的方法操作数据库,为后期维护与扩展提供方便[11]。

全局:使用log4j记录日志,xml文件作为配置文件,使用JavaMail处理所有邮件信息(由于没有邮件服务器,该处模拟操作)。

- 11 -

哈尔滨理工大学学士学位论文 在线购物 商品浏览 分类浏览 详细浏览 排行浏览 权限管理 登录/登出 注册 验证邮箱 找回密码 搜索模块 名称搜索 类别搜索 品牌搜索 排行搜索 讨论模块 发帖/回复/留言 个人信息修改 商品打分/讨论 交易模块 订单生成/修改 付款/确认收货 购物车功能 查看购物车 修改商品数量 图3-1 总体功能结构图

- 12 -

清空购物车

哈尔滨理工大学学士学位论文 表现层 视图层 注册用户 控制层 业务层 WEB容器 持久层 数据源 监听过滤 业务控制 商品浏览 交易管理 搜索模块 权限管理 讨论模块 数据持久层 系统描述 图3-2 概要功能架构图

具体每层使用到的技术如图3-3所示,Ajax使浏览器与服务器交互,并传递数据,所以Ajax同属于显示层与控制层。由于显示层使用到了Struts的显示标签,所以Struts同属于显示层与控制层。

持久层虽然大部分使用Hibernate操作,但小部分功能使用JDBC灵活方便,所以部分持久层使用JDBC实现,其数据库连接使用数据库连接池,由JDK提供的线程池实现。

图3-3 技术架构图

- 13 -

哈尔滨理工大学学士学位论文 3.3 设计目标与用例分析

3.3.1 设计目标

本系统在设计时应该满足以下几个目标:

1. 采用人机对话的操作方式,界面设计美观友好。

2. 信息查询灵活、方便、快捷、准确、数据存储安全可靠。 3. 全面展示商城内所有商品,并可展示最新商品及特价商品。 4. 用户可选择多个商品进行比较。 5. 会员可以随时修改自己的会员资料。 6. 实现网上购物。

7. 各种商品排行,方便顾客了解本商城内的商品信息及帮助企业领导者做出相应的决策。

8. 查看商城内的公告信息。

9. 用户随时都可以查看自己的订单。

10. 对用户输入的数据进行严格的数据检验,尽可能排除人为的错误。 11. 系统最大限度地实现了易维护性和易操作性。 12. 系统运行稳定、安全可靠。

13. 各处交易安全,不泄露用户资料。

3.3.2 用例分析

未登录或登录但未通过验证的用户具有登录、注册、浏览新闻公告、浏览论坛帖子、查看各种商品排行,浏览商品和商品详细信息、搜索商品等功能,用例图如图3-4所示。

图3-4 未登录或登录用户用例图

已登录并通过验证的用户具有除注册外其他所有非登录用户的功能,并额外具有论坛发帖、查看个人信息、个人资料修改、站内发信、操作购物车、查看订单、修改订单、安全登出、商品打分等功能,用例图如图3-5所示。

- 14 -

哈尔滨理工大学学士学位论文

图3-5 登录用户用例图

管理员具有普通会员的所有功能,且额外具有新闻管理,广告管理,商品管理,会员管理等功能,用例图如图3-6所示。

图3-6 管理员用例图

3.4 模块功能详细设计

本系统分销售模块和系统管理模块,每个模块又有若干个子模块构成,其中销售模块主要包括:商品展台、购物车、会员管理、新闻管理、注销登录等子模块。系统管理模块主要包括:商品管理、订单管理、会员管理、新闻管理、注销登录等子模块。具体的模块功能设计如下。

3.4.1 权限管理模块功能设计

用户权限功能用例图如图3-7所示

- 15 -

哈尔滨理工大学学士学位论文

图3-7 权限模块用例图

主要用例说明:

用例名称:验证邮箱

用例描述:没有通过验证的用户输入验证码,激活邮箱验证。 前置条件:用户登录且未通过验证或用户注册后未验证。 后置条件:用户通过邮箱验证并加大权限。 基本事件流:

1. 用户登录注册邮箱,取得验证码。

2. 用户处于验证页面,填入验证码,点击提交。

3. 验证码不正确,返回2;验证码正确,执行后置条件。 其他事件流:无。

异常事件流:跳转到错误页显示页面,提示错误信息。 注释:无。

主要功能详细设计说明:

1. 注册功能:提供浏览者注册功能,注册之后可以在网站选购商品到购物车,否则只能浏览商品信息而无法下达订单。页面使用Ajax技术,动态判断用户名是否已被占用,密码,邮箱等是否符合格式等,友好的提示用户,防止用户提交信息失败从而重新填写大量的信息。注册结束后在数据库中存储注册信息,以加密的方式存储,使用不可逆加密md5信息摘要与base技术。用户注册序列图如图3-8所示。

2. 注册认证:激活会员邮箱,只有激活邮箱的会员才能正常使用会员功能,否则只能等待激活邮箱。注册后,会向会员邮箱发送一个邮件,邮件中含有激活码,该激活码使用uuid生成。激活成功后可以正常使用会员功能。

3. 用户登录:针对已注册的用户设置,每个访问者一次只能够登陆一个账户。登录成功后返回到主页面查看商品,失败则重新填写。用户登录序列图如图3-9所示。

4. 登出:注册用户单击“注销”后实现安全退出。点击注销后清空session,清空cookie,返回到登录页面。

- 16 -

哈尔滨理工大学学士学位论文 :Browser :Action Servlet struts. xml :AuthorizeService :User Dao 1:页面请求 2:获取对象 3:Action对象 4:处理方法:validateUsername 5:判断是否存在 6:返回结果 7:返回处理信息 8:响应请求 9:页面请求 10:获取对象 11:Action对象 12:处理方法:execute 13:生成验证码 14:发送验证码 15:显示验证码 16:页面请求 17:获取对象 18:Action对象 19:处理方法:register 20:生成User对象 21:createUser 23:返回结果 22:返回结果

图3-8 用户注册序列图

- 17 -

24:响应请求

哈尔滨理工大学学士学位论文 :Browser :Action Servlet struts. xml :AuthorizeService :User Dao 1:页面请求 2:获取对象 3:Action对象 4:处理方法:login 5:验证用户 6:返回结果 7:存储用户id到 session中 8:返回处理信息 9:响应请求

图3-9 用户登录序列图

6. 找回密码:当已注册用户忘记密码时可根据用户名和验证邮箱找回密码,也可以通过密码提示问题和答案找回密码,不论何种方式找回密码,只能以重设新密码的方式重置密码,无法获得旧密码,因为为了安全性考虑,加密方式使用了MD5信息摘要这种不可逆的技术。

7. 权限判断功能:根据是否登录和是否通过验证邮箱判断用户权限,根据权限进行操作,如果权限不够,则跳转到对应页面。该功能使用Struts2实现,在需要限定权限的功能前注入,如果权限足够则通过,不足则返回到登录界面,如果用户登录后权限仍然不足,则返回到验证邮箱页面。权限判断详细活动图如图3-10所示。

- 18 -

哈尔滨理工大学学士学位论文

图3-10 权限判断活动图

3.4.2 商品显示模块功能设计

商品显示模块功能及用例图如图3-11所示,详细功能说明如下:

1. 商品浏览:网站的首页显示出部分特价商品、新上架商品、促销商品、店长推荐商品、关注商品榜、网站公告等,同时列出了网站发布的所有商品类别导航树。存储使用request属性范围,所有信息以集合的方式存储在request中。当用户浏览1级分类时,使用树形菜单形式显示2级分类和3级分类。

- 19 -

哈尔滨理工大学学士学位论文

图3-11 商品显示模块用例图

2. 商品详细信息:根据商品的id,查询数据库,将商品的所有信息查询并显示给用户,具体交序列如图3-12所示。

:Browser :Action Servlet struts. xml :CategoryService :CategoryDao 1:页面请求 2:获取对象 3:Action对象 4:处理方法:getProduct 5:调用方法 findProductById 6:返回商品 全部信息 7:将信息存储到request中 8:返回处理信息 9:响应请求

图3-12 商品明细序列图

- 20 -

哈尔滨理工大学学士学位论文 3. 商品分类显示:根据商品的三级类别,显示商品的概要信息,有分页及排序功能,排序可按照名称,价格,上架时间,人气等。分类显示序列图如图3-13所示。

:Browser :Action Servlet struts. xml :CategoryService :CategoryDao 1:页面请求 2:获取对象 3:Action对象 4:处理方法:getProduct 5:调用方法 findProductByCategory 6:返回商品集合 List 7:将集合存储到request中 8:返回处理信息 9:响应请求

图3-13 分类显示序列图

4. 根据商品订购信息展示销售排行榜:根据购买者下订单的情况,展示出当前网站中最畅销的商品信息。首页中显示出各种商品的排行榜,以List集合的方式存储在request中。

5. 新品上架:根据数据库信息显示出最近一周内上架的商品信息。首页中显示出各种新商品的排行榜,以List集合的方式存储在request中。查询时查询一周内出现的新商品。

6. 动态首页:根据时间的不同,网站首页将放置反映不同季节或不同销售目的的图片和广告等。使用JavaScript,动感的显示一些广告,新闻等。

7. 首页显示动态新闻:在购物网站的首页按照时间录入先后顺序显示最近的新闻。在页面左上角,显示近期公告。

- 21 -

哈尔滨理工大学学士学位论文 3.4.3 交易模块功能设计

交易模块功能及用例图如图3-14所示说明:

图3-14 交易模块用例图

主要用例说明:

用例名称:操作购物车

用例描述:已登录并通过验证的用户通过此用例对自己的购物车进行增删改查操作。

前置条件:用户登录并通过验证。 后置条件:更新购物车中的数据。 基本事件流:

1. 用户点击购物车按钮,显示原有购物车详单信息。

2. 用户操作购物车,删除商品,修改购物车内商品数量,确定提交。 3. 执行后置条件。

其他事件流:登录系统并通过验证后,可以浏览商品并点击购买按钮,则商品添加到购物车中并显示购物车详单。

异常事件流:跳转到错误页显示页面,提示错误信息。 注释:无。

用例名称:商品交易

用例描述:已登录并通过验证的用户确认购买商品。 前置条件:用户登录并通过验证,购物车中有商品。 后置条件:系统更新订单信息,提示站长发货。

- 22 -

哈尔滨理工大学学士学位论文 基本事件流:

1. 用户处于购物车详单页面,点击付款按钮,跳转到订单生成页面。 2. 用户填入或选择收货地址,填写买家说明,选择付款方式与银行,点击去付款按钮,跳转到模拟付款页面。

3. 付款结束,跳转到订单详单页面。 4. 执行后置条件。

其他事件流:订单生成与付款页面,用户随时可以点击“返回”按钮,返回到购物车详单页面。

异常事件流:跳转到错误页显示页面,提示错误信息。 注释:无。

详细功能设说明:

1. 购物车功能:已登录的会员选中的商品都将暂时存放在购物车中,可通过查看购物车修改购买数量。如果用户登录了,且权限足够,则点击添加到购物车时,使用cookie添加信息,不访问服务器,而只将商品的id存储在cookie中,操作cookie使用JavaScript实现,具体序列图如图3-15所示。

:Browser :Action Servlet struts. xml :Cart Service 1:页面请求 2:获取对象 3:Action对象 4:处理方法:add/delete/modify 5:从cookie 中获得购物车 6:更新购物车中商品 7:返回处理信息 8:响应请求 图3-15 修改购物车序列图

- 23 -

哈尔滨理工大学学士学位论文 2. 订单生成功能:根据购物车中的信息,生成订单。生成订单时根据cookie中的id信息,查找数据库得到商品List,根据List计算价钱,生成订单,具体交互图如图3-16所示。

:Browser :Action Servlet struts. xml :Cart Service :CartDao 1:页面请求 2:获取对象 3:Action对象 4:处理方法:createOrder 5:获取cookie 中购物车 6:创建商品集合List 7:调用createOrder生 成订单,存储到数据库 8:返回生成订单结果 9:清空购物车 10:返回处理信11:响应请求

图3-16 订单生成交互图

3. 付款功能:根据订单,用户信息,付款方式等付款,该处不能连接真正的网上银行,属于模拟操作。

4. 用户管理自己的收货地址,用户可以有5个收货地址,使用时可以选择或重新填写。在付款时选择收货地址、付款方式和邮递方式。

- 24 -

哈尔滨理工大学学士学位论文

3.4.4 搜索模块功能设计

图3-17 商品搜索模块用例图

商品搜索模块包含根据商品名称、分类、品牌搜索详细商品信息功能,具体功能及用例图如图3-17所示。

1. 根据输入的商品名称搜索商品,在主页上即有搜索输入框。主页头部使用Ajax添加搜索框,以下拉列表框形式展示商品类别,在搜索时根据类别,商品名搜索。始终显示在所有的页面之上。

2. 根据选择的商品类别、品牌等,按对应方式搜索商品,同理如上。 4. 列表的方式显示出商品的全部类别,品牌等,同理如上。

3.4.5 商品讨论模块功能设计

图3-18 商品讨论模块用例图

- 25 -

哈尔滨理工大学学士学位论文 商品讨论模块功能及用例图如图3-18所示: 1. 给已经成功购买过的商品打分。

2. 以论坛的形式讨论商品,热门商品开辟专区。

3. 按照用户发帖数量、质量,版主可以给予评分,按照用户积分升级,获得头衔等。

由于该系统目的是在线购物,所以商品讨论简要设计并实现,如果做一个论坛(bbs),该工程不小于电子商务,所以避免主次分离,侧重点放到了商品交易部分,而讨论简要设计与实现。

3.5 数据库数据设计

3.5.1 数据库主要实体类图

数据库的表与实体类对应,字段与属性对应,此处涉及的所有与数据库有关的类都属于POJO类,所以没有业务方法,只有get和set方法[12]。以下列出主要实体类和实体类的主要属性说明。

商品关联实体类图如图3-19所示,详细说明如下: Photo 1 1 1 1…n 1…n Product 1 1…n 1 Price Color 0…n 1…n Category Orders 1 1 Brand

图3-19 商品关联实体类图

Product商品实体:商品名,商品类别,商品顶级id,是否推荐,品牌,型号,价格,赠送豆豆,是否促销,抢购价,限购件数,截止时间,质保,备注,上架时间,简介,规格,图片,颜色,市场价格,购买人气,浏览人气,总分,外观分,价格分,性能分。

Photo图片实体:图片、说明。与商品一对一的关系。

- 26 -

哈尔滨理工大学学士学位论文 Price价格实体:市场名、价格。与商品一对一的关系。

Color颜色实体:颜色名称、图片。每个商品可以有多个颜色的图片,与商品多对一的关系。

Category分类实体:分类名、父类id、分类说明。每个分类中可以有多个商品,每个商品若属于某三级分类,必属于其父级分类,所以与商品多对多关系。

Orders订单实体:下单时间,状态,商品总金额,支付方式id,送货方式id,运费,手续费,订单总金额,使用豆豆数,应付金额,收货id,是否需要,最佳收货时间,抬头,用户留言,物流公司名称,物流单号。一个订单中可以有多个商品,与商品一对多的关系。

Brand品牌实体:品牌英文名,品牌中文名,品牌大图,品牌小图,品牌介绍。一个商品对应一个品牌,与商品一对一关系。

订单关联实体类图如图3-20所示,详细说明如下: Sendway 1 1 0…n Orders 1 1 1 Payway User 1 1 ReceiveAddress

图3-20 订单关联实体类图

Sendway送货方式实体:送货方式,送货描述,基本费用,到货时间。一个订单一种送货方式,与订单一对一关系。

Payway支付方式实体:支付名称,支付介绍,手续费。一个订单一种支付方式,使用一次付清方式,与订单一对一关系。

ReceiveAddress收货地址实体:收货人姓名,所在地区省,市,区,街道地址,邮政编码, 号码,手机。一个订单对应一个收货地址,一对一关系。

User用户实体类:主要属性有用户名,密码,性别,昵称,Email,手机,联系 等。一个用户可以有多个订单,所以与订单一对多关系。

用户关联实体类图如图3-21所示,详细说明如下:

ReceiveAddress收货地址实体,一个用户可以拥有多个收货地址,与用户多对一关系。

Post主题实体:主要属性有主题类型、是否精华帖、执行精华的用户id、是否加亮显示、加亮显示颜色、加亮的用户id、是否置顶、置顶结束日期、置顶版块区、置顶的用户id、版块id、是否投票、已投票的用户等。一个用户可

- 27 -

哈尔滨理工大学学士学位论文 以发表多个主题,与用户多对一关系。

Transaction交易实体:商品id,颜色id,数量,金额小计,订单id。与用户多对一的关系。

Message消息实体:发送用户名、接收用户名、标题、内容、是否保存到发件箱、发送时间、消息状态、消息类型。与用户多对一的关系。 Orders 0..n 1 1 1 0…n Post 0..n Transaction 0..n ReceiveAddress User 1 1 0..n Message

图3-21 用户关联的实体类图

3.5.2 数据主要实体描述

以下列出了一些重要的数据表与表中的主要字段。 商品表(参见表3-1),商品价格表(参见表3-2),分类表(参加表3-3),订单表(参见表3-4),会员表(参见表3-5),公告表(参见表3-6)。

表3-1 Product

字段描述 ID 商品名称 类别3级ID 类别顶级ID 是否推荐 品牌ID 型号 价格 赠送豆豆 是否促销 字段名 id pname cid pcid recommend bid ptype price prisentation promotion 类型 int varchar(50) int int boolean int varchar(30) double int boolean 允许为空 √ √ √ √ Java类型 Integer String Integer Integer Boolean Integer String Double Integer Boolean 说明 主键,自增1 外键,多对一 0:否(缺省) 1:是 外键,多对一 缺省:0 0:否(缺省) 1:是 - 28 -

哈尔滨理工大学学士学位论文 表3-2 Price

字段描述 ID 商品id 商城名 商城价格 字段名 id pid shopname shopprice 类型 int int varchar(30) double 允许为空 Java类型 Integer Integer String Double 说明 主键,自增1 外键,多对1 表3-3 Category

字段描述 ID 分类名称 父类id 分类说明 分类图片 分类类型 字段名 id cname parentid description photo ctype 类型 int varchar(20) int varchar(200) blob bit 允许为空 √ √ Java类型 Integer String Integer String Blob Integer 说明 主键,自增1 缺省:0 缺省1 表3-4 Orders

字段描述 ID 下单时间 状态 商品总金额 用户id 支付方式id 送货方式id 字段名 id ordertime state pmoney uid pid sid 类型 varchar(15) datetime varchar(30) double int int int 允许为空 yyMMddHHmmssSSS 表3-5 User

字段描述 ID 用户名 密码 性别 昵称 Email 手机 字段名 id username password sex nickname email mobile 类型 int varchar(30) varchar(40) boolean varchar(30) varchar(50) varchar(13) 允许为空 √ Java类型 Integer String String Boolean String String String 说明 主键,自增1 0:男(缺省) 1:女 Java类型 String Date String Double Integer Integer Integer 说明 主键,按日期格式生成 外键,多对一 外键,多对一 外键,多对一 - 29 -

哈尔滨理工大学学士学位论文 表3-6 Anncounce

字段描述 ID 用户名 公告类型 公告标题 标题颜色 发表时间 内容 字段名 id username atype title titlecolor sendtime content 类型 int varchar(30) varchar(10) varchar(50) varchar(20) datetime text 允许为空 √ √ Java类型 Integer String String String String Date String 说明 主键,自增1 3.6本章小结

本章详细的设计了系统的各模块的功能以及数据库的设计和表的结构,确定了各个功能实现的方法,为下一章的代码实施提供良好的逻辑模型。

- 30 -

哈尔滨理工大学学士学位论文 第4章 系统实现

4.1 总体实现

系统实现使用Struts2框架,应用MVC分层设计思想,使用Model2的形式实现各个功能及显示,流程如图4-1所示。

M:模型,使用JavaBean方式,将数据库每个表对应一个POJO类,使用Hibernate操作持久层数据库,并将操作封装到每个类的DAO中,供上层service调用[4]。

V:显示层,主要使用tiles框架实现,作为Struts2的插件,titles完美的应用了标签+布局的方式,大大减少了重复代码,并易于维护和修改,体现了软件开发中的“开闭原则”和分层思想。

C:控制层,控制层使用Struts2,Struts2应用过滤器方式实现其控制,每个request请求发送给服务器时,先通过过滤器,找到对应的操作类,在通过配置文件中指定的位置,渲染结果显示给用户,提供了很强的维护性与扩展性。

Ajax:页面中大量使用Ajax交互技术,提高了用户的体验度,使用户操作更加方便,使用更加舒适,虽然与服务器的交互增加,但是减少了页面跳转与重定向的次数,大大增加了用户体验[5]。

前台页面主要由JSP实现;美工使用CSS;页面控制使用JavaScript;异步交互使用Ajax;页面框架使用property。

根据上一章节只列出含有uri的页面,参见表4-1所示。

表4-1 UI页面

结构模块 主页 页面名 homepage/index.action homepage/announce.action authorize/login.action 权限管理 authorize/registerOne.action authorize/registerTwo.action authorize/registerThree.action category/brand.action category/rootcategory.action category/productInfo.action category/thirdcategory.action 续表4-1

交易 页头页脚 cart/cart.action cart/pay.action invariable/head.action - 31 -

数据项 主页 网站公告内容显示页 登录页面 注册页面 邮箱验证页面 验证成功跳转页面 按品牌浏览页面 按一级分类浏览商品页面 商品详细信息页面 按三级分类浏览商品页面 商品浏览 显示购物车详细信息页面 订单付款页面 所有页面的页头

哈尔滨理工大学学士学位论文 论坛 搜索模块 invariable/foot.action bbs/bbs.action bbs/userInfo.action search/ categorylist.action search/ promotion.action search/brandlist.action search/search.action 所有页面的页脚 论坛讨论页面 用户信息设置页面 按类别搜索商品页 按价格搜索商品页 按品牌搜索商品页 按名称搜索商品页 4.2 后台逻辑实现

持久层实现

持久层使用DAO分层模式,每个实体类均有其“实体名+Dao”的类作为其操作底层数据库的方法,操作方法使用Hibernate操作[9]。数据库连接通过Hibernate工厂获得,使用线程池[15],部分代码参见附录C。

事务处理使用单线程Session方式,Session是Hibernate的事务会话,每次会话都采用新的Session,因为Session轻量级,占用资源小,并且可以确保事务的原子性与一致性[9]。

Session工厂属于重量级,创建与销毁占用资源大,所以Session工厂使用单例模式创建,只创建一次,使用结束后不销毁[11]。

Session获得方法如下:

private static final ThreadLocal threadLocal =

new ThreadLocal();

public static Session getSession()

throws HibernateException {

Session session = (Session) threadLocal.get(); if (session == null || !session.isOpen()) { if (sessionFactory == null) { rebuildSessionFactory(); } session = (sessionFactory != null) ?

sessionFactory.openSession() : null;

threadLocal.set(session); } return session; }

业务层使用service分层模式,调用持久层dao方法操作实体,由于service构造繁琐,故service使用高级工厂模式创建其示例[10],主要代码如下:

- 32 -

哈尔滨理工大学学士学位论文 package tarena.service;

public class ServiceFactory {

public static Object newInstance(String interfaceName) { try { StringBuilder sb = new StringBuilder(); sb.append(interfaceName.substring(1)); Class clazz = Class.forName(sb.toString()); return clazz.newInstance(); } catch (Exception e) { e.printStackTrace(); return null; } } }

在对应的action中获得实例如下(以权限管理service为例),该处使用反射方法,封装了创建过程[13]:

private IAuthorizeService as = (IAuthorizeService)

ServiceFactory.newInstance(\"IAuthorizeService\");

控制层实现

控制层使用Struts2的action实现,每个模块在其固定的包中,每个action调用其模块中的service方法来处理用户请求[14]。

控制层通过配置文件来体现各个类、方法之间的关系,以权限管理模块为例,其配置文件内容参见附录C。

4.3 主要模块功能实现

权限管理模块实现

权限模块使用Struts2中功能实现,当用户发出操作请求,通过权限,判断权限是否充足,是否是已通过验证的登录用户。

权限判断:查找session(会话)中是否有userid这个数据,如果没有,跳转到登录页面,如果有,则表示是登录用户,查找数据库user表isvalidate字段判断是否验证,未通过,跳转到验证页面,通过,向下执行。

用户登录:用户登录后,将密码用不可逆的MD5信息摘要方式转换后,根据用户输入的用户名和转码后密码去数据库中校验用户是否存在,存在则登录成功,否则失败。登录成功的用户,将id存储到session中,并将id加密后存储到cookie中,时间根据登录时用户的选择,保证用户下次可以直接登录。

用户注册:用户注册后,信息存储到数据库中,密码使用不可逆的MD5信息摘要方式存储,模拟发送到邮箱一个验证码,该验证码使用uuid生成,保证了不能重复,跳转到验证页面等待用户输入验证码。验证通过后跳转到注册前

- 33 -

哈尔滨理工大学学士学位论文 页面。

4.3.2 商品显示模块实现

分类显示商品:根据分类信息,在数据库中查找出所有该分类下的商品,将商品存储到List集合中,并将List集合存储到request属性集合中,在页面使用OGNL表达式迭代显示。

品牌显示商品:根据品牌信息,在数据库中查找出所有该分类下的商品,将商品存储到List集合中,并将List集合存储到request属性集合中,在页面使用OGNL表达式迭代显示。

显示商品详细信息:根据商品id,查找对应商品的全部信息,包括关联表的信息,存储到request属性集合中,使用OGNL表达式与EL表达式显示。商品明细交互图如图4-6所示。

其他显示:包括排行榜显示,新闻显示,广告显示,同理之前,只是从数据库中取出时进行排序。 分页排序实现:定义一个分页类(以下只是部分代码) public class Pagination { private Page first; private Page previous; private List content; private Page next; private Page last; }

将每个分页信息存储到类中,使用OGNL将值显示到页面,便于维护。

4.3.3 交易模块功能实现

该模块主要是购物车实现,购物车使用cookie本地存储,选择本地存储原因由于存储到session属性集合中,如果用户退出在登录则购物车被清空,如果存储到数据库,临时数据浪费数据库空间,所以存储到cookie中,方便用户下次登录不清空,cookie中只存储商品id和数量,使用时查找数据库,所以不存在安全问题[8]。

操作cookie使用JavaScript实现,免于与服务器交互减少服务器负担。 当用户确认结算时,清空购物车,根据购物车中的商品id、数量、计算总价生成订单和模拟付款。

当用户确认收货后(模拟实现),修改商品的购买次数等信息,方便动态更新排行榜信息等。

4.3.4 搜索模块功能实现

名称搜索:根据用户输入的关键字,模糊搜索数据库,按匹配度升序排序后将商品信息存储到List集合中,将List集合存储到request集合中,使用OGNL表达式迭代显示给用户。

- 34 -

哈尔滨理工大学学士学位论文 其他搜索:按价格搜索,按品牌搜索,按分类搜索,按排行搜索,原理与按名称搜索相同。

此处模糊搜索使用Hibernate中条件查询的like()方法和HQL语句中的like关键字进行匹配查询,结果按照匹配精度降序排列。

4.3.5 商品讨论模块功能实现

该模块主要是论坛模块,由于本系统主要实现在线交易,而不是社区互动,未避免主次分离,所以论坛功能从简从易,只实现论坛基本功能:发帖,浏览,回复。由于使用MVC设计模式,便于扩展,如果以后有需要,可以不修改原代码和数据库(本系统详细论坛数据库表已创建)的情况下增加其他功能,如论坛等级,版主评分等。

发帖、回复功能类似留言板,浏览帖子使用的分页排序与商品相同,不存在其他技术问题。会员可以为购买过的物品打分,评价。

4.3.6 其他功能实现

验证码生成:使用Java中的AWT动态生成随机数方式,将生成的随机数画到一个矩形中,以流的形式发送到前台页面,使用image/html方式,让页面将流解析成图片,显示给用户。

商品图片显示:与验证码原理相同,将从数据库查到到的图片,以流的形式发送到前台页面,使用image/html方式,让页面将流解析成图片,显示给用户。

Ajax交互:使用prototype框架简化js开发,异步加载代码如下: new Ajax.Updater(\"要更新的divid\例如页头信息中异步加载三级分类菜单部分代码如下:

- 35 -

哈尔滨理工大学学士学位论文 4.4 部分页面展示

图4-1 首页:homepage/index.action

- 36 -

哈尔滨理工大学学士学位论文

图4-2页头

图4-3页脚信息

图4-4注册页面

图4-5注册验证页面

- 37 -

哈尔滨理工大学学士学位论文

图4-6登录页面

图4-7商品分类

图4-8购物车信息

- 38 -

哈尔滨理工大学学士学位论文

图4-9商品详情

图4-10订单交易

4.5本章小结

本章主要进行了代码的编写,按照上一章的逻辑设计,以分层、分模块的方式具体的解释了各个功能的实现方法,并展示了部分成果,将重要、复杂的功能实现方法详细的进行了阐述。

- 39 -

哈尔滨理工大学学士学位论文 第5章 系统测试

为了设计出有效地测试方案按照下面准则进行测试:所有测试都应追溯到用户需求;在完成了需求模型就要着手制定测试计划,在编码之前最所有测试工作进行计划和设计;运用Pareto原理着重对占出现错误80%的容易出错的20%的模块进行测试,从小规模开始逐步进行大规模测试,通常先重点测试单个程序模块再转向集成的模块簇;精心设计测试方案,尽可能充分覆盖程序逻辑使之达到要求的可靠性。

按照软件工程的观点,软件测试(主要是指多模块程序的测试)共包括4个层次。

1.单元测试。单元测试的用例从单元详细设计中导出。在单元测试中可以采用功能性测试和结构性测试两种。

2.集成测试和确认测试。这一阶段的任务,是通过了单元测试的模块逐步组装起来,通过测试与纠错,最终得到一个满足需求的目标软件。

3.验证测试。在这个测试步骤中所发现的往往是需求规格说明的错误。一般来说,系统测试是功能性测试,不是结构性测试。

在整个测试中,采用了白盒测试和黑盒测试相结合的方法。

5.1 测试用例设计与测试用例的运行过程及测试结果分析

模块测试

以登录模块测试为例,其他模块均以此方法测试 登录模块用例测试

UC1:输入正确的用户名和密码 结果:系统跳转到登陆成功页面 UC2:输入空用户名 结果:提示用户名不能为空 UC3:输入用户名和空密码 结果:提示密码不能为空 UC4:输入用户名和错误的密码 结果:提示用户名或密码错误 测试数据:采用随机大量数据测试,数据范围: 1. 不符合格式要求的数据;

2. 符合格式要求的,但不符合逻辑要求的数据; 3. 符合格式要求,且符合逻辑要求的数据。

预期结果:与正常预期结果完全相符,测试通过。

集成测试

把经过单元测试的模块放在一起形成一个子系统并对它进行测试用于检验模块相互间的协调和通信,这里以用户首次注册并购买商品为例:

1. 用户注册并登录,测试通过;

2. 登录用户选购商品,填写个人信息等,测试通过;

- 40 -

哈尔滨理工大学学士学位论文 3. 登录用户确认购买,填写收货地址等,测试通过。

把经过测试的子系统装配成一个完整的系统进行测试,经过黑盒测试与白盒测试相结合的方式,对整个系统的各个功能模块进行了测试,并调试改正其中的设计和编码错误,经过这个环节的操作整个系统的功能实现成功运行。

验收测试

在进行了以上的测试工作后,将整个软件系统作为单一的实体进行测试,测试内容与系统测试基本类似,但它是在用户积极参与下进行的,此测试过程主要使用实际数据,进行测试,验证测试的目的是验证系统确实能够满足用户的需求,经过这个环节的实际数据测试,系统的各个功能实现都达到了系统需求设计的要求。

5.2 评价

虽然系统功能测试通过,但是用户体验,压力测试等由于没有条件,暂时无法测试,但用户体验(主要显示美观与操作方便)方面有些许不足:

前台显示页及整体各功能均在IE7,IE8,Mozilla Firefox,Operal,Google Chrome下通过测试。

IE6下有部分css无法显示的问题,鉴于如今在线交易用户都使用个人电脑(非网吧电脑,办公电脑),而IE6主要存在于网吧、公司办公等不便于更新的场合,所以不影响本系统用户使用。

5.3本章小结

本章主要对系统进行了测试工作,由于篇幅原因,本章只举例登录功能测试,但其他测试亦正常通过,最终系统通过测试,可以正确的部署在服务器上并运行。

- 41 -

哈尔滨理工大学学士学位论文 结 论

本系统在MyEclipse开发环境下,以J2EE为平台,运用JSP网络编程语言和Struts框架和MySQL数据库完成了B/S模式在线交易平台。系统基本上实现了预期的各项功能,达到了任务书中的主要设计内容的各项任务,整个系统也在经过测试和不断地改正之后能够顺利运行。基本上实现了开题报告中的需求设计在程序编写。

该论文具体论述了在线购物系统的主要功能及体系结构,技术方面重点讨论了系统数据准备、数据库的逻辑结构分析、各模块系统流程各功能模块的关联和响应,JSP前台显示、Struts2与后台数据库链接、Hibernate持久层等关键技术。这些技术的实现,满足了系统的需要,优化了系统的性能。目前基于该模型的系统技术非常流行,而且前景美好,越来越多人使用正在使用SSH框架,虽然还存在许多问题与不足,如安全性能还不完善等,这些功能与技术还需要加以提高和实现。

在线商城系统无论是在开发过程中,还是建成后的日常维护过程中,都需要进行严格的检测,以保证购物系统的服务质量。随着在线商城系统技术的日趋成熟、网上购物的优势日趋明显,会有更多的人参与到在线商城的浪潮中来,人类最终将迎接电子商务时代的来临。

论文至此已基本完成,经过三个月的不断学习和设计开发加上老师同学的帮助,终于完成了我的毕业设计“在线购物平台的设计与实现”,在开题报告阶段我参阅了大量的中外文献,对所开发系统的现状,国际发展情况以及未来发展趋势有了深入的了解。在整个系统的需求分析过程中对开发前期工作地流程步骤有了深入的掌握,对软件模式,开发流程有了较深入的理解。

技术方面,我进一步巩固了Java的基础语法和一些网页设计美工方面的知识,在编写代码过程中也规范了许多,在配置开发工具过程中对Tomcat和MyEclipse的连接部署有了清晰地认识,对开发Java Web程序的步骤框架页有了总体性认识,对于SSH开源框架的使用又有了熟练的掌握。

在整个系统开发的过程中,我学到了很大新的知识,前学过的许多知识点在运用过程中也有了更为深入的分析,这是我大学期间做过的规模最大的项目,在这个过程中也体会到了如何将书本知识转化到实际的应用中。

- 42 -

哈尔滨理工大学学士学位论文 致 谢

首先,我要感谢我的父母,是他们的物质支持与精神鼓励才使我顺利的读完了四年大学,才使我有机会在大学中锻炼自己,提高自己,在这里我衷心的感谢你们,你们辛苦了。

其次,衷心感谢我的导师张丽平老师,在工作非常繁忙的情况下,她自始至终细心指导我完成毕业设计、不厌其烦的帮助改正我的毕业设计论文,老师不但经验丰富知识领域宽广而且和善可亲,在完成毕设的过程您不但教授了我很多专业知识,还为我的未来发展学业工作提出了很多宝贵的意见,最终我才能顺利的完成本次毕业设计。

最后,感谢我的母校对我的四年大学教育,我将以更加饱满的热情投入到未来的工作中去,充实自己,完善自己,向着自己的目标不断地前进,用我的所学去实现我心中的梦想!

- 43 -

哈尔滨理工大学学士学位论文 参考文献

1 余绍军.李春友.电子商务概论.湖南大学出版社,2005

2 (美)Bruce Eckel.陈昊鹏 译.JAVA编程思想(第4版).机械工业出版

社,2007

3 (美)Cay S.Horstmann.Gary Cornell.叶乃文.邝劲筠.杜永萍

译.JAVA核心技术.机械工业出版社,2008

4 闫术卓.杨强.STRUTS 2技术详解:基于WEBWORK核心的MVC

开发与实践.电子工业出版社,2008

5 王沛.冯曼菲.征服Ajax Web2.0开发技术详解.人民邮电出版社,

2006

6 孙鑫.Struts2深入详解.电子工业出版社,2008

7 叶健毅.精通JAVA EE:ECLIPSE STRUTS.人民邮电出版社,2009 8 (美)弗拉纳根.李强 译.JavaScript权威指南第五版.机械工业出版

社,2007

9 (美)Iverson.王华锋.唐发根 译.轻松掌握Hibernate——J2EE开发者

指南.清华大学出版社,2007

10 夏昕.曹晓钢.唐勇.深入浅出Hibernate.电子工业出版社,2005 11 (美)埃利奥特.Hibernate高手秘籍.东南大学出版社,2007 12 郑阿奇.MySQL实用教程.电子工业出版社,2008 13 Jan Machacek.Pro Spring 3.Apress,2009

14 Arnold Doray.Beginning Apache Struts: From Novice to Professional.

Apress,2006

15 Mike Keith.Merrick Schincariol.Pro EJB 3: Java Persistence API. Apress,2008

- 44 -

哈尔滨理工大学学士学位论文 附 录

附录A英文原文

The Development of E-commerce

E-commerce is coming of age, says Paul Markillie, but not in the way predicted in the bubble years

When the technology bubble burst in 2000, the crazy valuations for online companies vanished with it, and many businesses folded. The survivors plugged on as best they could, encouraged by the growing number of internet users. Now valuations are rising again and some of the dotcoms are making real profits, but the business world has become much more cautious about the internet’s potential. The funny thing is that the wild predictions made at the height of the boom—namely, that vast chunks of the world economy would move into cyberspace—are, in one way or another, coming true.

The raw numbers tell only part of the story. According to America’s Department of Commerce, online retail sales in the world’s biggest market last year rose by 26%, to $55 billion. That sounds a lot of money, but it amounts to only 1.6% of total retail sales. The vast majority of people still buy most things in the good old “bricks-and-mortar” world.

But the commerce department’s figures deal with only part of the retail industry. For instance, they exclude online travel services, one of the most successful and fastest-growing sectors of e-commerce. InterActiveCorp (IAC), the owner of expedia and hotels , alone sold $10 billion-worth of travel last year—and it has plenty of competition, not least from airlines, hotels and car-rental companies, all of which increasingly sell online.

Nor do the figures take in things like financial services, ticket-sales agencies, pornography (a $2 billion business in America last year, according to Adult Video News, a trade magazine), online dating and a host of other activities, from tracing ancestors to gambling (worth perhaps $6 billion worldwide). They also leave out purchases in grey markets, such as the online pharmacies that are thought to be responsible for a good proportion of the $700m that Americans spent last year on buying cut-price prescription drugs from across the border in Canada.

And there is more. The commerce department’s figures include the fees earned by internet auction sites, but not the value of goods that are sold: an astonishing $24 billion-worth of trade was done last year on eBay, the biggest online auctioneer. Nor, by definition, do they include the billions of dollars-worth of goods bought and sold by businesses connecting to each other over the internet. Some of these B2B services are proprietary; for example, Wal-Mart tells its suppliers that they must use its own system if they want to be part of its annual turnover of $250 billion.

So e-commerce is already very big, and it is going to get much bigger. But the

- 45 -

哈尔滨理工大学学士学位论文 actual value of transactions currently concluded online is dwarfed by the extraordinary influence the internet is exerting over purchases carried out in the offline world. That influence is becoming an integral part of e-commerce.

To start with, the internet is profoundly changing consumer behaviour. One in five customers walking into a Sears department store in America to buy an electrical appliance will have researched their purchase online—and most will know down to a dime what they intend to pay. More surprisingly, three out of four Americans start shopping for new cars online, even though most end up buying them from traditional dealers. The difference is that these customers come to the showroom armed with information about the car and the best available deals. Sometimes they even have computer print-outs identifying the particular vehicle from the dealer’s stock that they want to buy.

Half of the 60m consumers in Europe who have an internet connection bought products offline after having investigated prices and details online, according to a study by Forrester, a research consultancy (see chart 1). Different countries have different habits. In Italy and Spain, for instance, people are twice as likely to buy offline as online after researching on the internet. But in Britain and Germany, the two most developed internet markets, the numbers are evenly split. Forrester says that people begin to shop online for simple, predictable products, such as DVDs, and then graduate to more complex items. Used-car sales are now one of the biggest online growth areas in America.

People seem to enjoy shopping on the internet, if high customer-satisfaction scores are any guide. Websites are doing ever more and cleverer things to serve and entertain their customers, and seem set to take a much bigger share of people’s overall spending in the future.

For many users, a search site is now their point of entry to the internet. The best-known search engine has already entered the lexicon: people say they have “Googled” a company, a product or their plumber. The search business has also developed one of the most effective forms of advertising on the internet. And it is already the best way to reach some consumers: teenagers and young men spend more time online than watching television. All this means that search is turning into the internet’s next big battleground as Google defends itself against challenges from Yahoo! and Microsoft.

The other way to get noticed online is to offer goods and services through one of the big sites that already get a lot of traffic. Ebay, Yahoo! and Amazon are becoming huge trading platforms for other companies. But to take part, a company’s products have to stand up to intense price competition. People check online prices, compare them with those in their local high street and may well take a peek at what customers in other countries are paying. Even if websites are prevented from shipping their goods abroad, there are plenty of web-based entrepreneurs ready to oblige.

What is going on here is arbitrage between different sales channels, says Mohanbir Sawhney, professor of technology at the Kellogg School of Management in Chicago

- 46 -

哈尔滨理工大学学士学位论文 It is not only price transparency that makes internet consumers so powerful; it is also the way the net makes it easy for them to be fickle. If they do not like a website, they swiftly move on. “The web is the most selfish environment in the world,” says Daniel Rosensweig, chief operating officer of Yahoo! “People want to use the internet whenever they want, how they want and for whatever they want.”

Yahoo! is not alone in defining its strategy as working out what its customers (260m unique users every month) are looking for, and then trying to give it to them. The first thing they want is to become better informed about products and prices. “We operate our business on that belief,” says Jeff Bezos, Amazon’s chief executive. Amazon became famous for books, but long ago branched out into selling lots of other things too; among its latest ventures are health products, jewellery and gourmet food. Apart from cheap and bulky items such as garden rakes, Mr Bezos thinks he can sell most things. And so do the millions of people who use eBay.

And yet nobody thinks real shops are finished, especially those operating in niche markets. Many bricks-and-mortar bookshops still make a good living, as do flea markets. But many record shops and travel agents could be in for a tougher time. Erik Blachford, the head of IAC’s travel side and boss of Expedia, the biggest internet travel agent, thinks online travel bookings in America could quickly move from 20% of the market to more than half. Mr Bezos reckons online retailers might capture 10-15% of retail sales over the next decade. That would represent a massive shift in spending.

How will traditional shops respond? Michael Dell, the founder of Dell, which leads the personal-computer market by selling direct to the customer, has long thought many shops will turn into showrooms. There are already signs of change on the high street. The latest Apple and Sony stores are designed to display products, in the full expectation that many people will buy online. To some extent, the online and offline worlds may merge. Multi-channel selling could involve a combination of traditional shops, a printed catalogue, a home-shopping channel on TV, a phone-in order service and an e-commerce-enabled website. But often it is likely to be the website where customers will be encouraged to place their orders.

One of the biggest commercial advantages of the internet is a lowering of transaction costs, which usually translates directly into lower prices for the consumer. So, if the lowest prices can be found on the internet and people like the service they get, why would they buy anywhere else?

One reason may be convenience; another, concern about fraud, which poses the biggest threat to online trade. But as long as the internet continues to deliver price and product information quickly, cheaply and securely, e-commerce will continue to grow. Increasingly, companies will have to assume that customers will know exactly where to look for the best buy. This market has the potential to become as perfect as it gets.

- 47 -

哈尔滨理工大学学士学位论文

- 48 -

哈尔滨理工大学学士学位论文 附录B英文译文

日趋完善的电子商务

当2000年科技泡沫爆发时,备受炒作的网上公司好象随之蒸发了,众多的网上贸易也被迫流产。劫后余生网上公司无一不紧缩商务,好在与日俱增的互联网用户在激励着他们。现在,对网上公司的评价又有所提高了,并且很多 公司的确也已开始赢利了,但工商界还是谨慎地评价互联网的潜能。尽管如此,有人已大胆的预言:世界上大量经济巨头不久都会以某种方式移师电脑空间。

据商务部不完全统计表明,去年网上零售额增加了26%,达到550亿美元。这听起来的确是一个很大的数目,但这仅相当于全球零售业总额的1.6%。大部分的成年消费者依然习惯于到“砖+混凝土”(bricks-and-mortar)的世界里消费。

其实商务部公布的数字仅涉及部分产业。例如,该数字虽然包括了网上旅游服务,这一电子商务界最成功也是增长最快的行业之一。IAC (InterActiveCorp),expedia 和 hotels 两个站的拥有者,去年仅它一家就有100亿美元的营业额,包括航空业、宾馆业、出租车公司在内的竞争对手去年网上营业总额也有大幅攀升,但这些网上营业额攀升的企业在商务部的数字中并未得到体现。

同样,商务部的数字也没有包含财经服务、票务代理、网上色情(据<成人视讯(A dult Video News)>(去年美国网上色情业营业额高达20亿美元)等行业在内。另外大量与业相关的商业形为(世界范围内的网上业营业额高达60亿美元)也没有提及。

另外,商务部的数字虽然包括了拍卖网站的利润,却没有包含所拍卖成交货物的价值在内,据估算,其价值高达数百亿美元。去年仅eBay这家最大的拍卖网站出手的货物价值就高达240亿美元。按照商务部的界定,数十亿美元的成交货物总价值是没有包括其中的,况且很多B2B模式的商贸形为都是不公开的,例如Wal-Mart公司就明确地告诫其供货商,若想成为其2500亿美元的营业额的一部分,必需采用自己的运转体系。

由以上数字可以看出,电子商务已是很有规模了,并且正在发展壮大。但是网上交易额正受到离线交易的冲击,而离线交易又是电子商务的一个重要组成部分。

互联网正深深地改变着消费者的消费行为。目前,有1/5的美国人在到商店购买电子产品前,会先到网上去查询其最低价,以节省哪怕一毛钱。更让人吃惊的是,有3/4的美国人在购买新汽车时也会首先想到互联网,即使最后成交仍可能是用传统的方式---从经销商那购买,但他们会到网上去了解有关要购汽车的各种信息,并选定网上推荐的最好的经销商。有时,他们还会到相关网站上去打印自己感兴趣的汽车的图片等资料作参考。

作为资深调查顾问的Forrester先生提供的图表显示,在欧洲6亿消费者

- 49 -

哈尔滨理工大学学士学位论文 中,有半数采取在网上查询商品信息,然后离线购买的方式来消费。当然不同国家又有不同的消费习惯,例如在意大利和西班牙,采取在网上查询然后离线购买的人数大约是网上直接购买的两倍。但在德国和英国这两个最发达的网络国家里,二者基本相当。Forrester称,人们从网上购物一般都是从一些简单的物品开始的,如DVD光盘,然后向较复杂的商品过渡。在美国,二手汽车是一个增长最快的一个领域。

如果网站的顾客导购做的成功的话,人们看来是乐意采取网上购物方式的,现在网站正在变的越来越明智,它们给顾客更多更实在的服务。在不久的将来,网上购物占人们购物总额的比例肯定会有大的提高。

网站建设对商业行为来说意义重大。一个不注重网站建设的公司无异于是在商战中自杀。即便公司并不从事网上交易,网站也会成为人们了解其商标、产品及服务的门户。在电脑空间,一个无价值的网站往往预示着一个无价值的公司,他只会在人们的鼠标点击下被无情舍弃。所以一个成功的公司一定要建成一个优秀的网站,以确保它能出现在每次搜索结果的前列。

对很多用户而言,一个搜索站点往往是他们进入互联网的切入点。全球知名的搜索引擎早已进入当代词典:人们会说他“Google”了一个公司,一个产品或是一个管道工。这种搜索行为也成为了互联网上最有成效的广告途径之一。并且这也是接近青少年这一顾客群体最好的方式,因为他们花在互联网上的时间远远超过看电视的时间。所有这些都说明,网上搜索成了互联网的一下个战场,例如,Google就是依赖其优异的搜索功能来抗衡Yahoo!和 Microsoft。

另一条忠告就是公司最好在一家已拥有相当访问量的网站上登载自己的商品及服务。Ebay、Yahoo、Amazon正在某些方面成为众多公司的展示自己商品的巨大平台,不过一个公司要参与到这个平台中来,则必需经得住激烈的价格战。网上消费者往往会拿商品网上报价与当地商店里作一比较,甚至会与别的国家的售价进行比较,即使网上销售在境外是被禁止的,也会有大量的基于网站销售方式的业主积极去运作。

芝加哥Kellogg管理学院的科技教授 Mohanbir Sawhney说,我们应清楚现今消费者购物行为的改变。例如,某人想买一部数字照相机,他会先到附近的商店里去考察实物,选好型号后,他会和售货员说:“我回去考虑一下再来”,然后他回家就会到网上去查该型号相机的最低售价,然后在网上订购。所以从这个意义上说,消费者已不再遵从传统的购物流程。

不只是互联网上透明的价格使得消费者成为强势群体,网络也使得他们成为“薄情”一族,如果他们不喜欢某一网站则会毫不犹豫地离开。“网络是世界上最自私的场所”,Yahoo!执行总裁Daniel Rosensweig 称,“人们应用互联网可谓,随时、随地、随人所欲”。

像Yahoo!这样,致力于寻找并提供客户需要的各种信息的网站并不在少数(Yahoo!每月据称有2。6亿访问者)。消费者最关心的就是最详实的商品名录

- 50 -

哈尔滨理工大学学士学位论文 及其报价,Amazon执行总裁Jeff Bezos说:“我们经营的基础是消费者的信任”。Amazon现在已是世界闻名的图书经销商,以前它也曾在网上销售过其它产品,例如保健品、珠宝和精选的食品。Bezos先生认为除仓储超市里那些体积大价格低的物品外,他们甚至可以出售一切,这也是数以百万计的消费者选择eBay的原因。

即便如此,没有人会认为传统意义的商店可以消失,特别是那些“投机”性更强的领域。许多“砖+混凝土”的商店仍有着不凡的业绩,例如杂货市场等, 但象音像和旅游市场则受到了来自互联网实实在在的冲击。作为互联网上最大的旅游代理商的Expedia旅游公司,其老板声称未来美国民众网上预订旅游服务的比例,将会从如今的20%上升到50%。Bezos先生估计未来十年网上零售业将会达到零售总额的10-15%,并将深刻地改变人们的消费观念。

面对来势汹汹的网上营销,传统的商场将如何应对呢?Dell计算机公司的创始人Michael Dell先生,一直领导个人计算机的直销市场,他认为凭借各层销售商店去出售计算机的方式只能进陈列馆作为古董了,Dell采用的直销方式已收到了良好的效果。近来,Apple 和Sony的专卖店计划展示全部可以在网上查到的该品牌商品,也是应对措施之一。从长远看,网上和离线销售方式也必将融合,传统商店也将成为多种销售手段并存的集合体:打印出的商品名录、家庭电视直销、电视订货以及电子商务网站具全。但从消费者角度来说,从网上订货还是他们最为乐意的消费方式。

网上销售最大的优势就在于其低价,这是因为网上商品没有多层中转,于是也就没有多层加价,它们一般都是直接从生产厂家直接到消费者。如果在互联网上消费者可以买到最低价格的商品并能得到最好的服务,还会有人去其它地方购物吗?

当然,消费才在网上购物时,可能会面对欺诈行为。但随着互联网的发展,它传递商品信息速度进一步加快,加上提供同一商品的多家网站必然会考虑自己的长远发展,而争相提供准确翔实的商品信息和价格,并提供优质服务,以抓住更多的用户。所以网上市场肯定会越来越完善。

- 51 -

哈尔滨理工大学学士学位论文 附录C其他

事务处理代码: package tarena.dao;

public class HibernateSessionFactory {

private static String CONFIG_FILE_LOCATION =

private static final ThreadLocal threadLocal =

new ThreadLocal();

private static Configuration configuration = new Configuration();

private static String configFile = CONFIG_FILE_LOCATION; private static final ThreadLocal transactLocal =

new ThreadLocal();

static { try { configuration.configure(configFile); sessionFactory = configuration.buildSessionFactory(); } catch (Exception e) {

\"%%%% Error Creating SessionFactory %%%%\");

e.printStackTrace(); } }

private HibernateSessionFactory() { }

public static Session getSession() throws HibernateException { Session session = (Session) threadLocal.get(); if (session == null || !session.isOpen()) { if (sessionFactory == null) { rebuildSessionFactory(); } session = (sessionFactory != null) ?

- 52 -

哈尔滨理工大学学士学位论文

}

}

sessionFactory.openSession(): null; threadLocal.set(session);

return session;

public static void rebuildSessionFactory() { try { configuration.configure(configFile); sessionFactory = configuration.buildSessionFactory(); } catch (Exception e) { }

}

\"%%%% Error Creating SessionFactory %%%%\"); e.printStackTrace();

public static void closeSession() throws HibernateException { Session session = (Session) threadLocal.get(); threadLocal.set(null); }

if (session != null) { session.close(); }

return sessionFactory; }

public static void setConfigFile(String configFile) { HibernateSessionFactory.configFile = configFile; sessionFactory = null; }

public static Configuration getConfiguration() { return configuration; }

public static Transaction beginTransaction() { Transaction txt = transactLocal.get(); if (txt == null) {

- 53 -

哈尔滨理工大学学士学位论文 Session session = getSession(); txt = session.beginTransaction(); transactLocal.set(txt); } return txt; }

public static void commitTransaction() { Transaction txt = transactLocal.get(); if (txt != null && !txt.wasCommitted() && !txt.wasRolledBack()) { txt mit(); transactLocal.set(null); } }

public static void rollbackTransaction() { Transaction txt = transactLocal.get(); if (txt != null && !txt.wasCommitted() && !txt.wasRolledBack()) { txt.rollback(); transactLocal.set(null); } } }

权限管理模块配置文件authorize.xml内容

registerTwo.xindou - -

哈尔滨理工大学学士学位论文 registerThree.xindou registerTwo.xindou img /index.action

布局配置文件tile.xml内容:

template=\"/WEB-INF/template/template.jsp\">

- 55 -

哈尔滨理工大学学士学位论文

value=\"/WEB-INF/homepage/index.jsp\" />

value=\"/WEB-INF/homepage/announce.jsp\" />

value=\"/WEB-INF/search/categorylist.jsp\" />

value=\"/WEB-INF/search/brandlist.jsp\" />

value=\"/WEB-INF/search/promotion.jsp\" />

- 56 -

哈尔滨理工大学学士学位论文

value=\"/WEB-INF/category/rootcategory.jsp\" />

value=\"/WEB-INF/category/productInfo.jsp\" />

value=\"/WEB-INF/authorize/registerOne.jsp\" />

value=\"/WEB-INF/authorize/registerTwo.jsp\" />

- 57 -

哈尔滨理工大学学士学位论文

value=\"/WEB-INF/user/usercpnewpassword.jsp\"/>

value=\"/WEB-INF/user/usercpaddress.jsp\"/>

value=\"/WEB-INF/user/usercporder.jsp\"/>

value=\"/WEB-INF/user/usercporderinfo.jsp\"/>

value=\"/WEB-INF/user/usercpscproduct.jsp\"/>

- 58 -

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- howto234.com 版权所有 湘ICP备2022005869号-3

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务