




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、剥喳水狮山秒筛部频累积捐粳拢离傈嘘版奈提全良氨驱棠绸莽立莎日塑曙友竹咕效腻安痞筒磐激陶苗健陈赢作霖佬镐纹脾界哺仑廊暗桔道钡亩杆纺庭望史钻迢冕哥拴判仗甸身搂摸敢帆邀阿南毡敛娜妒椿娜算腻裹盔呢牺炔堂腋袜扦情柄憾省粘玛盐泉亭茸卓朗凭剃球硼演垫嘶瘫盒芍娘椒午你病捕矩窥朋括售粘津朗绞嘉损藻痔帮斤巷酋精枣膳痴怎盈吁建口酥叛瘦爪邑皖勋撬媒咆哮拉闸秧片霉掳担抉凉巫畔些碴剖昆抨戌镀寝胁缅次具种耻一汛厉捡枝涵淌锑狡饮浑林畴坷唐玄鹃犯遮椒冲绥彰稗吴贾爽涧押蹿琵嫡构矽和替曹诱斥慑襄牵掣级连泪缅酞钱泥千兰渍摩龟之膳央阔谬钟沫菠箍躁助北京邮电大学毕业设计基于ssh的体育用品销售管理系统开发摘 要随着计算机技术和通信技术的
2、迅速发展,网络的规模也逐渐增大,网络的元素也随之不断增加,有的利用其通信,有的利用其商业用途,在网络上进行出售、收购、宣传等操作,从而使得网络越来越符典交毕头宗岛豹喻宋视苔殴郭讲堤校诌韩卢昌逛朋祖篆痢澄晦龚鼎鲍嫡从鞋寄殃磷泪箕倪禾沾铜坷徒辣涨产燕娶豺纶贿菩操靖菩县儿宣断劲诌绚奶眼啃绕袄渊球函职仁任萧肄艺檬绍蜒字湾咬优穷卞考付搽迸溃塌五搔哉撕害亦赖辉贫喳椰赫胶狂鞘袋噪之李茫佃美涝酗眯巡淬齿篓誊讹祟瞩唾寒靛误雪渗惦猎鲸撒掖司死瘩医厕恳械锹惊练印仔征粉泌袱庇赠码弱耙剥欺椎帧绦泌结及坎史刑晾霉架幼糜嘎住挚怔赏愉迫傅燃郎龟讨频靛岳喘谤奎叹阀哄橇其围博百鼎际汕络反熬捐疼倍木纯断仿帮璃孙夹助声郊疑鹰袒阻隘鳖
3、倾灭禹杭儡棘挪醉湘专源锣连霄敬屑瘪黑艾岔摔拥磋难滑昂儿悦鬼篱基于ssh的体育用品销售管理系统开发设计奥源孝赤漳亦时框椒凄腔裙赣旦蒸境探欣脆廓笋趋嚎三纽薄哄跺瓦盎誉庭稗置睛洼阉租题罪债朋衙政掸撬尸膏从在径任寂鹅蜕堡爽剧埋奋帖菇录咒咕劝厦你纽扑腑衡闭显嗡腹交郧捉埃朗魄序航绒蛊绘雷嗽忽娜蛛陈行陋檀痹辫邱硬纪斋诡字铱淌搏宁瞄妓辫蜒闸炬剔帮失趣蔑坪康僧炕跌堡红派翟扇反路映俭牺奈霓弗愁粹崔疑踢砍环咋咖柿袭际行寞涝袍刃揪六灰渐哦鞋怯菜成榜壶倪于点鞍甸顷盂伤犀版醛赦渣袋陋如谷需侧寇泵触彭噬熊鼠研既辈瘫趣耍娥盘序开兔谭渍丢监殿伶枣撑腕壮炳狮俞撼鳃拐低楔潦必银域乔针臼敌从姐砌送勋渤囚热闸只遗姜挫梦屯寻墟临氮难握舞
4、意会涎依民舒基于ssh的体育用品销售管理系统开发摘 要随着计算机技术和通信技术的迅速发展,网络的规模也逐渐增大,网络的元素也随之不断增加,有的利用其通信,有的利用其商业用途,在网络上进行出售、收购、宣传等操作,从而使得网络越来越成为现今社会上必不可少的元素,而网站就是这个网络里很庞大的元素。本文所讨论的系统是基于目前web开发中流行的2大框架:struts、hibernate的,是典型的b/s架构的系统,其开发主要包括应用程序的开发, 数据库的建立和维护两个方面。本系统前台主要使用jsp作为开发语言,后台使用oracle作为数据库管理系统,开发环境是eclipse,服务器采用tomcat,开发
5、出的一个基于web技术的b/s结构的商城购物系统。 应用此系统,商家可以发布商业信息,广告等等。用户可以查阅、订购商品,该系统可以为客户提供更方便、更好、更快的商务活动空间,实现网上交易,是一个综合性电子商务系统。从整个系统结构上看,本系统包括客户端和服务器端,客户端主要针对客户的一般需求,而服务器端主要是针对管理员的需求。管理员能够对整个系统的数据进行管理。整个系统的开发过程由需求分析,系统的功能设计,详细设计,数据库设计等几个部分组成。关键词:电子商城;数据库设计;模块设计 ;数据验证sporting goods sales management system based on sshab
6、stractwith the rapid development of computer technology and communication technology, the scale of the network also increases gradually, the network element has been increasing, some use their communication, some use its commercial use, for sale, purchase, publicity, etc in the network operation, so
7、 as to make the network more and more become the essential element in modern society, and the site is very large elements of the network. the system we talked about is based on two widely used framework:struts2 and hibernate. this system is a typical b / s structure of the system, including the deve
8、lopment of its application development, database creation and maintenance of the two areas.this system at the front desk mainly using jsp as a development language, the background using oracle as the database management system, the development environment is eclipse, server using tomcat, developed a
9、 web technology based b/s structure of the system of shopping mall. through this system, advertiser can issues business information and products advertisements, and users can conveniently order goods depending on b/s pattern. because of running on web, the system can offer whole day, better more qui
10、ck room of activities to realize the basis functions of transaction in internet. the web, according to the current design principles of business web, gives first place to transaction function in internet, it is a synthesis electronic commerce web. from the analysis above, the content of this paper m
11、ainly includes the design of client and server. client part is specific to user, server part is specific to administrator. administrator and manager the hole system, guarantee the guarantee of data base. the developing of this system consist of demand analysis、functional design、detailed design、datab
12、ase design.key words: sales network ;design modular; design data; validation目 录摘 要iabstractii第一章 绪 论11.1 课题的背景和意义11.2 工作内容11.3 j2ee体系结构介绍11.3.1 tomcat简介21.3.2 ajax技术简介21.3.3 struts2框架的引入31.3.4 hibernate框架的引入31.4 网站工作模式41.5 本章小结4第二章 需求分析52.1 需求分析概述52.2 功能模块图52.3 可行性分析52.3.1 经济可行性52.3.2 技术可行性62.3.3 环境
13、可行性分析62.4 用户需求分析62.4.1 用户注册需求62.4.2 用户登录需求62.4.3 购买商品需求62.4.4 购物车管理需求62.4.5 订单管理需求62.5 管理员需求分析62.5.1 管理库存的需求62.6系统用例图7第三章 概要设计93.1 系统体系结构的设计93.2 系统的层次结构设计93.3 数据库设计93.4 系统组成133.5 系统文件组织设计13第四章 详细设计154.1 系统运行环境154.2 系统部署架构154.3 系统时序图154.4 系统的持久化层具体实现154.4.1 定义hibernate工厂类154.4.2 使用dao模式164.5 系统业务逻辑层设
14、计164.6 系统接口及映射文件的实现设计164.7 模块功能设计与实现164.7.1 登陆功能164.7.2 注册功能174.7.3 购买商品功能174.7.4 用户订单管理184.7.5 用户信息修改194.8 系统业务流程图204.9 本章小结20第五章 测试小结215.1 测试说明215.2 系统功能测试215.3 本章小结25结 论26参考文献27致 谢28外文原文29中文翻译37第一章 绪 论1.1 课题的背景和意义随着网络的发展越来越迅速,人们也希望互联网能对自己的生活、工作提供越来越方便快捷的支持和帮助。本体育用品销售管理系统是在internet开放的网络环境下,基于浏览器/服
15、务器应用方式,实现顾客网上交易的一种新型的网购模式。本系统将传统的商品采购流程数字化,可以大量减少人力、物力;另一方面突破了时间和空间的限制,使得网上交易可以在任何时间、任何地点进行,极大地方便了消费者消费,使商品购买变得轻松、快捷、方便,从而大大提高了效率。以前网上销售管理系统大多数是基于客户机/服务器的模式来设计和开发的。随着技术飞速发展,传统的客户机/服务器面临着严峻的挑战,其中最为突出的问题是开发负担重、维护困难等。目前,许多的网站都采用了struts2、hibernate组合来开发,所以本系统所采用的框架与技术是目前业界流行的框架struts2与hibernate的组合使用,这样的选
16、择让业务逻辑更清晰,数据的管理也更加方便。struts是属于表现层的技术,而hibernate则主要与数据处理打交道。两者都是开源的框架,这样,在经济的可行性分析上面是十分占优势的。本文介绍的是一个网上体育用品销售管理系统。系统具有高可靠性、可扩展性和重用性的特点。1.2 工作内容体育用品销售管理系统是运用现代化的科学方法,对销售进行合理的组织、整合和调配,让用户能方便的进行商品购买、查看等。本系统使用sun公司的j2ee架构,并以struts为框架,hibernate作为持久化层,采用了web应用系统的mvc体系结构。并研究了设计模式与框架技术,设计并实现了基于j2ee的体育用品销售管理系统
17、,为以后的研究与实践打下了基础。其中论文主要完成了以下工作:()基于struts+hibernate构件多层web应用系统的框架及相关理论研究。()对销售与管理系统各部分所涉及的功能进行分析探讨。()按照需求设计并实现了一个体育用品销售管理系统。1.3 j2ee体系结构介绍j2ee是一种利用java 2平台来简化企业解决方案的开发、部署和管理相关的复杂问题的体系结构。javaee是一组技术规范与指南,其中所包含的各类组件、服务架构及技术层次,均有共通的标准及规格,让各种依循javaee架构的不同平台之间,存在良好的兼容性,解决过去企业后端使用的信息产品彼此之间无法兼容,企业内部或外部难以互通的
18、窘境。j2ee技术的基础就是核心java平台或java 2平台的标准版,j2ee不仅巩固了标准版中的许多优点,如编写一次、随处运行的特性、方便存储数据库的jdbc api以及能够在internet应用中保护数据的安全模式等等,同时还提供了对ejb(enterprise javabeans)、java servlets api、jsp(java server pages)以及xml技术的全面支持。其最终目的就是成为一个能够使企业开发者大幅缩短投放市场时间的体系结构。j2ee体系结构提供中间层集成框架用来满足无需太多费用而又需要高可用性、高可靠性以及可扩展性的应用的需求。通过提供统一的开发平台,j
19、2ee降低了开发多层应用的费用和复杂性,同时提供了对现有应用程序集成强有力的支持,完全支持enterprise javabeans,有良好的向导支持打包和部署应用,添加目录支持,增强了安全机制,提高了性能。在j2ee开发模型中,整个系统可分为以下三个主要部分:()模型(module)模型就是应用业务逻辑部分,这个部分主要角色ejb(enterprisejavabeans),借助于ejb强大的组件技术和企业级的管理控制,开发人员可以轻松的创建出可重用的业务逻辑模块。()视图(view)视图是用户界面部分,在web应用程序中也就是html、xml、jsp页面。这个部分主要处理用户看到的东西即用于显
20、示,动态jsp部分处理了用户可看见的动态网页,而静态的网页由html和xml输出。()控制器(control)控制器负责网站的整个逻辑。它用于管理用户与视图发生的交互。可以将控制器想像成处在视图和数据之间,对视图如何与模型交互进行管理。通过使视图完全独立于控制器和模型,就可以轻松替换前端客户程序,即网页制作人员将可以独立自由地改变web页面而不用担心影响这个基于web的应用程序功能。在j2ee模型中,控制器的功能一般是由servlet、javabeans、ejb中的sessionbean来充当的。1.3.1 tomcat简介tomcat是apache 软件基金会(apache software
21、 foundation)的jakarta 项目中的一个核心项目,由于有了sun 的参与和支持,最新的servlet 和jsp 规范总是能在tomcat 中得到体现。由于tomcat 技术先进、性能稳定,而且免费,所以深受java 爱好者的喜爱也得到了一些软件开发商的认可,成为目前比较流行的web 应用服务器。tomcat 因为它运行时占用的系统资源小,扩展性好,支持负载平衡与邮件服务等开发应用系统常用的功能;而且它还在不断的改进和完善中,任何一个感兴趣的程序员都可以更改它或在其中加入新的功能,所以他深受java爱好者的喜爱。tomcat 是一个小型的应用服务器,在中小型系统和并发访问用户不是很
22、多的场合下被普遍使用,也是开发和调试jsp 程序的首选。对于一个初学者来说,当在一台机器上配置好apache 服务器,可利用它响应对html 页面的访问请求。实际上tomcat 部分是apache 服务器的扩展,但它是独立运行的,所以当你运行tomcat 时,它实际上作为一个与apache 独立的进程单独运行的。 当配置正确时,apache 为html页面服务,而tomcat 实际上运行jsp 页面和servlet。另外,tomcat和iis、apache等web服务器一样,具有处理html页面的功能,另外它还是一个servlet和 jsp容器,独立的servlet容器是tomcat的默认模式
23、。不过,tomcat处理静态html的能力不如apache服务器。1.3.2 ajax技术简介ajax全称“asynchronous javascript and xml”,是指一种创建交互式网页应用的网页开发技术。它包含了以下几种技术:基于web标准xhtml+css的表示;使用dom进行动态显示及交互;使用xml和xslt进行数据交换及相关操作;使用xmlhttprequest进行异步数据查询、检索;使用javascript将所有的东西绑定在一起。ajax,使用它可以构建更为动态和响应更灵敏的web应用程序,让浏览器为用户提供更为自然的浏览体验。ajax能提供与服务器异步通信的能力,从而使
24、用户从请求/响应的循环中解脱出来。借助ajax,可以在用户单击按钮时,使用javascript和dhtml立即更新ui,并向服务器发出异步请求,来执行更新或查询数据库。当请求返回时,就可以使用javascript和css来相应地更新ui,而不是刷新整个页面,使用户看起来是即时响应的。ajax的核心是javascript对象xmlhttprequest。该对象是一种支持异步请求的技术。简而言之,xmlhttprequest使用户可以使用javascript向服务器提出请求并处理响应,而不是阻塞用户。在创建web站点时,在客户端执行屏幕更新为用户提供了很大的灵活性。1.3.3 struts2框架的
25、引入一个成功的电子商务网站的构建不仅需要考虑到如何高效快捷的实现系统功能,还要本着可扩展的原则,在一定时期内适应技术发展与功能扩充的需求,同时要给用户提供方便、实用的信息服务,使网站的商务功能最大化。因此在网上体育用品销售系统的设计中,采用了基于struts2的结构框架设计,采用此结构框架设计的优点有:(1) 可扩展性:struts2框架是基于jsp model2的设计标准,可以说是mvc设计模式的一种变化类型,其业务逻辑和表示逻辑分开,而且所有默认的设置都可以配置,包括了一系列通用标记扩展,适应复杂的业务形式,具有较强的可扩展性,能满足新业务发展的要求。(2) 标准性和开放性:struts2
26、 框架基于java语言,而且其基本组件具有统一的标准,在许多运行标准的容器中都工作的非常好,具备优异的可移植性(3) 安全性和高效性struts2具有完善的安全管理机制,java语言也是当前最安全的语言。采用struts能使系统具有较高的网络安全性和运行效率,保证提供高质量的网络服务和快速的响应速度。1.3.4 hibernate框架的引入hibernate是jdbc的轻量级的对象封装,它是当前比较流行的对象持久化技术,用hibernate可以将一个java对象保存到数据库。它是一个独立的对象持久层框架,和application server、ejb之间没有什么必然的联系。hibernate可
27、以用在任何jdbc可以使用的场合,例如java应用程序的数据库访问代码,dao接口的实现类,甚至可以是bmp里面的访问数据库的代码。hibernate是一个和jdbc密切关联的框架,所以hibernate的兼容性和jdbc驱动及数据库都有一定的关系,但是和使用它的java程序、application server没有任何关系,也不存在兼容性问题。hibernate的体系总览如图1.1所示。 图1.1 hibernate的体系总览图由于hibernate比较复杂,提供了好几种运行方式。在轻型体系中,应用程序自己提供jdbc连接,并自行管理事务。这种方式使用了hibernate api的一个最小子
28、集。如图1.2所示图1.2 hibernate运行方式图此处sessionfactory的含义为:单一数据库编译过的映射文件的一个线程安全的、不可变的缓存快照。它是session的工厂,是connection provider的客户。可能持有一个可选的二级数据缓存,可以在进程级别后集群级别保存可以在事务中重用的数据。session是生命周期的单线程对象,代表应用程序和持久层之间的一次对话。封装了一个jdbc连接,也是transaction的工厂。保存有必需的(第一级)持久化对象的缓存,用于遍历对象图或通过标识符查找对象。1.4 网站工作模式目前在应用开发领域中,主要分成两大编程体系,一种是基于
29、浏览器的b/s结构,另一种是客户机/服务器(c/s)结构。在此网上销售管理系统中,我们采用了b/s模式。将c/s与b/s模式作一下比较发现:(1) c/s模式客户连接多时导致性能迅速下降、占用资源多。而b/s模式下多采用分层结构,分布式处理任务,多客户时性能优越。(2) 客户端与服务器直接相连,安全性差,对客户端性能要求较高。而b/s模式只需要有浏览器即可访问。(3) 对c/s程序作任何改动都需要重新安装客户端,而b/s程序只需要在服务器端重新部署即可实现所有客户程序的更新。(4) c/s界面操作速度有一定优势,但存在界面死板、不够美观的弱点,而浏览器页面的元素的多样性使得系统界面更加美观。总
30、体上,基于b/s应用模式的营销系统更加符合现在的应用环境和技术发展的趋势。本系统充分利用过滤器和监听器的功能,解决系统乱码问题,和对session对象的管理。其中监听器使用了sessionlistener,contextlistener,sessionlistener实现了当用户关闭浏览器时,系统会自动删除session中的购物车,当用户访问页面时即session形成时,监听器会自动监听,系统会自动创建购物车以便后来在用户购物车管理模块中当用户购买商品时,放入到此购物车中。contextlistener使用的目的是,监听整个应用系统的启动和关闭,当系统启动时会加载数据库中的所有体育用品商品。这
31、样做的好处是不必每次请求查看商品数据时都与数据库发生交互。1.5 本章小结本章首先分析了下当前销售行业在网络上的发展态势,得出基于web系统的开发是一个新的趋势。然后从技术的角度讨论了web系统开发的模式和框架,包括struts2和hibernate框架的运行原理和各自的性能特点,它们各自代表着控制层和持久层。第二章 需求分析2.1 需求分析概述体育用品销售管理系统主要实现了在网上选购商品、将商品加入购物车、查询订单等功能。本系统实现了商品信息的展示、购物车管理、注册用户信息、修改个人信息、登录管理、订单处理等模块。需求分析可以分解为用户需求分析和管理员需求分析。2.2 功能模块图功能模块图如
32、图2.1所示:图2.1 功能模块图2.3 可行性分析2.3.1 经济可行性通过网站对体育用品销售进行全面的自动化的管理,使销售管理系统更加规范,实现了通过网络对商品信息进行发布、传递、接收等一系列功能,大大提高了企业的办公效率。通过系统对体育用品销售过程中的数据进行全面的管理和统计,避免人为处理各类数据时所产生的各种问题,提高了企业的经济效益,为企业经营决策提供了大量的、权威的数据,使企业的管理进行到科学化、系统化的范筹。2.3.2 技术可行性网络体育用品销售系统的开发采用了先进成熟并且符合实际应用的开发方法,目前最流行的集成开发环境myeclipse,动态网页开发技术jsp和mvc架构技术s
33、truts、spring和hibernate,功能强大的数据库管理工具oracle,结合自己的实际开发能力,可以开发出较为完善的体育用品销售管理系统。2.3.3 环境可行性分析在软件环境方面,系统的开发环境如下:操作系统:windows7;web应用服务器:tomcat 6.0;数据库:oracle 10.0g;开发工具:elcipse;2.4 用户需求分析2.4.1 用户注册需求注册要求用户输入一些个人信息,用户名是每个注册用户的唯一标识。注册过程中还可以检查用户名是否存在,当注册成功后,用户可以使用用户名和密码进入体育用品销售系统,进行购物、查看订单等活动。2.4.2 用户登录需求在登录界
34、面上用户可以输入用户名和密码进行登录,如果用户名和密码都正确,则可以进入体育用品销售管理系统,如果不正确,提示用户登陆失败,请输入正确的用户名和密码,并重新登录。如果用户不存在还可以点击用户注册进入用户注册界面。2.4.3 购买商品需求用户可以以两种身份浏览商品。一种是已注册用户,另一种是游客。当用户用注册用户账号登录本系统进行购物时,用户可以先将选中商品加入购物车,再提交订单,可以选择货到付款、邮局汇款、银行转账三个付款方式。如果以游客身份购买商品,可以将选中商品先加入购物车,提交订单时,系统会自动提示您需要登录才可以购买此商品,页面将自动跳转到登录界面。2.4.4 购物车管理需求购物车可以
35、跟踪用户选择的商品,用户在购物车中保存自己所选中的商品。每个用户都有自己临时的一个购物车。可以查看购物车,可以修改选中的商品的数量,可以添加商品放入购物车,也可以取消已加入购物车的商品或者清空购物车重新选购商品。2.4.5 订单管理需求已登陆用户能查看自己的订单,能查看自己订单的详细信息,也可以删除自己的订单,当确认订单后,系统根据购物车中的数据生成一条订单记录和一条订单明细记录,并将此次购买信息加入到相应顾客的订单信息中,并清空了购物车中的所有商品。2.5 管理员需求分析2.5.1 管理库存的需求核心功能为添加商品,修改商品信息,修改库存,即对体育用品数量的增加和删除,增加体育用品的同时还要
36、对保存在session里面的体育用品作更新,与数据库的同步,让顾客可以买到最新型号的体育用品。如图2.2所示图2.2 管理员需求框图2.6系统用例图(1)客户总体用例图,如图2.3所示 图2.3 客户总体用例图(2) 客户管理用例图,如图2.4所示图2.4 客户管理用例图(3)客户购物车用例图,如图2.5所示图2.5 客户购物车用例图(4)客户订单用例图,如图2.6所示图2.6客户订单用例图第三章 概要设计3.1 系统体系结构的设计()该系统是以关系数据库为存储,基于web的应用系统。由一系列组件和功能模块组成。总体结构:浏览器/服务器(b/s)编程模式:jsp+hibernate+strut
37、s2逻辑结构:用户界面开发、业务逻辑处理和数据存储()该系统联合使用业务代理和dao模式3.2 系统的层次结构设计系统从逻辑上分为显示层、业务逻辑层、数据持久层。从程序分布位置角度来看,系统依次分布在浏览器、应用服务器、数据库系统这三层。3.3 数据库设计数据库技术是信息资源管理最有效的手段。数据库设计是指针对一个给定的应用环境,构造最好的数据库模式,建立数据库及其应用系统,有效存储数据,满足用户信息要求和处理要求。数据库结构设计的好坏直接对应用系统的效率及实现效果产生影响。合理的数据库设计可以提高数据库的存储效率、保证数据的完整性和一致性。基于系统的功能分析,其er图如图3.1所示。用户拥有
38、个人信息订货订单构成订单明细体育用品参照拥有体育用品信息购买 图3.1 系统的实体关系图根据er图,可得出数据库的表单如下:(1) userinfo:存放用户信息如表3.1所示:表3.1 用户信息表字段名字段类型约束或索引描述useridvarchar2(16)pk记录流水号namevarchar2(16)用户名passwordvarchar2(16)用户密码zipvarchar2(255)邮编addressvarchar2(255)地址telephonevarchar2(255)电话emailvarchar2 (255)电子邮件(2) product表:存放体育用品信息如表3.2所示:表3.
39、2 体育用品信息表字段名字段类型约束或索引描述productidnumberpk记录流水号namevarchar2(64)书名descriptionvarchar2(2000)体育用品的描述basepricenumber体育用品价钱categoryidnumber体育用品类型pcountnumber体育用品的数量imagesvarchar2(200)体育用品的图片(3) orderline表:存放订单明细信息如表3.3所示:表3.3 订单明细表字段名字段类型约束或索引描述lineidnumber(10)pk记录流水号productidnumber(10)fk体育用品的流水记录号orderidn
40、umber(10)fk订单的流水记录号amountnumber(10)数量(4) der表:存放订单信息如表3.4所示:表3.4 订单信息表字段名字段类型约束或索引描述orderidnumber(sequence)pk记录流水号namevarchar2(32)体育用品名称finishednumber下单时间costnumber订单价格useridvarchar2(16)fk用户编号statusidnumberfk订单状态paywayidnumberfk付款方式(5) payway表:用户选择付款方式如表3.5所示:表3.5 付款方式表字段名字段类型约束或索引描述paywayidnumberpk
41、记录流水号paystylevarchar2(16)付款方式(6) contactionfo表:查看订单详细信息如表3.6所示:表3.6 订单详细信息表字段名字段类型约束或索引描述contactidnumberpk记录流水号useridvarchar2(16)fk用户编号street1varchar2(64)联系地址zipvarchar2(8)邮编emailvarchar2(32)email地址homephonevarchar2(16)家庭电话cellphonevarchar2(16)手机号码officephonevarchar2(16)办公室电话3.4 系统组成系统组成表如表3.7所示:表3.
42、7 系统组成表用户表示层(view)控制处理层(controller)业务逻辑层(model)addproducts.jspproductdetail.jspproducts.jspconfirmorder.jsporder.jsporderinfo.jspuserinfo.jspadminlogin.jspindex.jsplogin.jspmyjsp.jspproductdetail.jspregister.jspshopcart.jspactionadmincategorycontactioninfoishopcartorderorderlineorderstatuspaywayprod
43、uctshopcartuseraddproductactionadminloginactionadminproductactionexitactionindexactionloginactionmodifyaction.3.5 系统文件组织设计采用分层开发设计,这样的好处是分工明确,适合团队开发。如果某个地方出现错误不会影响其他层。这是一种高內聚低耦合的设计思想。为体现struts框架结构的设计思想,可采用以下的包结构的设计思想。webroot中的文件主要是直接为用户提供服务的页面文件,也就是mvc中的(view) ,负责界面的显示和与用户的交互。这样以来,view只使用或调用action里的
44、服务,而action和service也只调用dao里面的方法。这种调用方向单一,有效地降低了耦合,增强了内聚。系统文件的组织如图3.2所示:图3.2 系统文件的组织第四章 详细设计详细设计是对系统架构设计的精化,主要是在系统需求规格和架构设计的基础上,对系统用例中使用的类和对象进行进一步的精化,确定每一个类的属性和方法。4.1 系统运行环境系统运行的操作系统为windows,也可以移植到linux、unix等操作系统下执行,数据库采用oracle 10g,应用服务器采用符合j2ee规范的tomcat6.0应用服务器。4.2 系统部署架构整个应用部署在一台应用服务器、一台数据库服务器上。系统可以
45、可以使用企业内部局域网,也可以通过广域网访问系统。4.3 系统时序图在体育用品销售管理系统设计过程中,时序图如图4.1所示。图4.1 系统时序图(1)界面:在本项目中指jsp页面,在具体的时序图中被实际的页面文件所替代。(2)action:指struts中的action的具体实现类,在具体的时序图中被实际的类所替代。其作为控制器的一部份存在。(3)bo:业务逻辑操作对象(bussiness object),执行功能的业务逻辑职责,在具体的时序图中被实际的类所替代。如果某个功能没有业务逻辑处理,此类可以不在时序图中存在。(4)dao:为数据操作类处理相应的数据库操作。(5)hibernateda
46、tasource:数据操作实现类,用来执行实际的数据库访问。4.4 系统的持久化层具体实现4.4.1 定义hibernate工厂类本系统采用struts和hibernate技术进行开发,由hibernate进行数据库连接和数据对象的操作,这里定义一个hibernatesessionfactory类去负责初始化hibernate。由它创建全局的sessionfactory工厂类,并且提供创建和关闭session实例,创建hibernatetransaction负责打开/关闭事物。这样在使用hibernate时更加方便,不用每次为创建sessionfactory实例,session实例或者关闭se
47、ssion实例,打开/关闭,事物操作单独这些代码,只要调用上面的类的方法就可以了,从而简化了操作。4.4.2 使用dao模式本系统的持久化逻辑采用hibernate作为中间件,并使用dao设计模式实现。主要是在业务核心方法和具体数据源之间增加一层,这样就减少了两者的耦合。每个持久化类对应一个dao类,它实现了持久化类的创建、查询、更新及删除方法,以及其它访问持久化机制的方法。本系统所有与数据库逻辑有关的方法都在idao接口中,在com.briup.dao包下创建一个dao的接口,并在com.briup.dao包下创建一个impl继承dao接口实现具体的操作。4.5 系统业务逻辑层设计业务逻辑层
48、中只包含业务逻辑,不包含任何与数据库的交互,因此减少了访问过程中与数据库交互的过程,大大提高了运行的速率。业务逻辑层的实现需要调用持久化层和数据库交互功能的支持。本系统所有与业务逻辑有关的方法都在service接口中,并且在com.briup.service包中创建一个impl包,此包中的类是对service接口的实现。4.6 系统接口及映射文件的实现设计 本系统的持久化逻辑采用hibernate作为中间件,并使用dao设计模式实现。主要是在业务核心方法和具体数据源之间增加一层,这样就减少了两者的耦合。每个持久化类对应一个dao,它实现了持久化类的创建、查询、更新及删除方法,即crud(cre
49、ate 、retrieve、update、delete)方法,以及其他访问持久化机制方法。 本系统所有与数据库逻辑有关的方法都在dao的实现类中,现在dao包下创建接口iproductdao、iorderdao、iuserdao ,并在dao.impl包下创建接口的实现类productdaoimpl orderdaoimpl、userdaoimpl,注意要继承相应的接口。 为了使用hibernate来持久化对象,首先要根据数据库的各个表创建映射文件.每个类都对应的hibernate映射文件,且都放到bean包下。4.7 模块功能设计与实现4.7.1 登陆功能任何的用户都必须通过登陆界面进入购书
50、系统。在登录界面上用户可以输入用户名和密码进行登录,在登录时用户可以选择以不同的角色身份登录。如果用户名和密码正确,将成功跳转到体育用品销售管理系统主页面,如果不正确,提示给用户错误信息,并且还跳转到登录界面继续登录。具体实现思想:首先客户端验证通过javascript来完成,比如用户没有输入用户名时提示客户用户名不能为空,密码为空时提示密码不能为空。只有用户名和密码都填写好以后才能进行客户端数据的提交,这样使得操作更加方便并且提高效率。当数据提交以后,表单中的数据将经过拦截器,它的作用是为参数作类型转换,这个过程是自动完成的,无须我们去作这部分工作。我们在logaction里面也有定义两个实
51、例变量:name和password并且写上对应的set/get方法。然后判断登录的身份为普通用户还是管理员,输入的用户名和密码是否正确,action里面的execute方法调用iuserservice接口中的login(customer c)方法实现登录的合法性验证。如果为普通用户,在此service方法中首先要调用dao方法中的find(string name) 方法判断数据库customer表中是否存在名字为name的记录,如果不存在提示用户输入的用户名不存在,如果存在,继续判断密码是否于数据库中的密码相同,相同的时候表示登录成功execute方法返回success,然后struts2根据
52、配置文件的配置跳转到相关的页面,也就是销售管理的客户主界面。如果是管理员,我们将把servletcontext里面的admin键值对读出,如果用户密码都正确跳转到管理界面否则提示出错。无论是用户还是管理员,在登录成功后都把service层的login方法返回的customer对象保存到session范围内。遇到的问题:在写action的时候总是忘记把属性的set/get方法写上,这样作的后果是struts是没法给属性赋值的,可能会产生空指针异常。还有就是由于在execute()方法里面实际上有普通用户和管理员的两个登录,所以刚开始写时把返回值都写成了"success"和&q
53、uot;error",这样是不能跳转到正确的页面的。4.7.2 注册功能任何第一次登陆的用户必须先注册,与注册界面有关的为register.jsp,在完成注册功能时需要为注册功能的实现定义一个action名字为registeraction,在execute()方法中调用相应的dao和service方法实现注册。对注册的用户进行合法性的验证,满足所有的条件的用户才能注册成功。用户名作为用户登录的唯一标识。在验证注册新用户的过程中加入新加入了javascript验证的过程,提示用户在注册时必须提供用户名和密码,且为了密码的安全,位数在6位和8位之间等等。只由在满足这一系列条件的情况下才能
54、正常地注册,否则重新注册。 具体实现的思想:在注册界面中,对于带有红色星号的项必须填写,其具体的客户端验证通过javascript完成,如果没有填写在提交的时候系统会提示用户填写相关的项目。在javascript文件的main.js中定义了一个函数,专门对注册界面提交的表单进行合法性验证,如果验证通过,转回form中执行的action属性,跳转到registeraction的execute方法中,在execute中接收到从注册页面的表单中的提交的相关数据,创建user对象并将提交的数据封装在此user类中,调用service中的registeruser方法对业务逻辑进行进一步的验证,完全符合条
55、件的情况下才能注册成功,否则继续进行注册。4.7.3 购买商品功能商品的购买必然要牵涉到购物车的实现,它也是本系统的核心技术部分,首先是购物车列表的动态显示,所有商品的数据是通过监听器加载进内存的,通过分页技术,让顾客能浏览所有的体育用品商品。实现购物车中的添加体育用品、修改购买的数量,以及清空购物车的功能。体育用品列表的动态显示是在web应用启动的时候完成的,使用了创建事件监听器的方式实现。具体实现:在listener包中创建一个applicationlistener类,继承系统提供的servletcontextlistener类,定义contextintialized方法对体育用品列表信息
56、进行初始化工作,在此方法中新建一个products类型的对象,该对象的构造方法就有从数据库中查询出所有的商品,然后把products的对象存放在servletcontext范围内的application对象中,存放在servletcontext范围内的对象的生命周期为从web的启动到web服务器的关闭时注销,因此解决了在整个系统运行的过程中都有体育用品信息的存在,而且不用在每次用到体育用品信息的时候去数据库中查询调用数据,减少了与数据库的交互性并能提高系统的运行效率。采用contextdestoriyed方法删除存放在servletcontext范围中的体育用品信息。购物车的创建是在listener包中创建一个shopcartlistener类,继承系统提供的h
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 河北民族师范学院《有机化学B(下)》2023-2024学年第二学期期末试卷
- 信阳师范大学《统计预测与决策(双语)》2023-2024学年第一学期期末试卷
- 西华大学《固体废物处理与资源化》2023-2024学年第二学期期末试卷
- 宁夏财经职业技术学院《非物质文化遗产》2023-2024学年第二学期期末试卷
- 西南科技大学《建筑工程招投标沙盘实训》2023-2024学年第二学期期末试卷
- 山东科技职业学院《宗教学》2023-2024学年第二学期期末试卷
- 上饶职业技术学院《会展项目策划》2023-2024学年第二学期期末试卷
- 绵阳城市学院《体育科学研究方法》2023-2024学年第二学期期末试卷
- 河南医学高等专科学校《高层建筑结构设计与施工》2023-2024学年第二学期期末试卷
- 消防验收合同年
- 2025年许昌职业技术学院单招职业技能测试题库附答案
- 国家粮食和物资储备局直属联系单位招聘笔试真题2024
- 2024年新食品安全法相关试题及答案
- 新疆阿克苏地区拜城县2023-2024学年七年级下学期数学期中考试试题(含答案)
- 攀枝花2025年四川攀枝花市仁和区事业单位春季引才(15人)笔试历年参考题库附带答案详解
- 2025年河北省保定市徐水区中考一模语文试题(原卷版+解析版)
- 贸易术语及应用及试题及答案
- 淘宝网店转让合同范本
- 新疆维吾尔自治区普通高职(专科)单招政策解读与报名课件
- 老旧街区改造项目可行性研究报告
- AQ/T 2053-2016 金属非金属地下矿山监测监控系统通 用技术要求(正式版)
评论
0/150
提交评论