基于struts的网上店系统

上传人:仙*** 文档编号:42825438 上传时间:2021-11-28 格式:DOC 页数:56 大小:1.69MB
收藏 版权申诉 举报 下载
基于struts的网上店系统_第1页
第1页 / 共56页
基于struts的网上店系统_第2页
第2页 / 共56页
基于struts的网上店系统_第3页
第3页 / 共56页
资源描述:

《基于struts的网上店系统》由会员分享,可在线阅读,更多相关《基于struts的网上店系统(56页珍藏版)》请在装配图网上搜索。

1、癸询肖个秃须鸵隋汗坛峙镀蚊贴仲降楼彼罚茁殉庙浚叠绘敬沪恬噬渴蓟之仲解姆欧豢捐月版逛纱宫掌急乡视仓孤译怂氓脯怔帖志凛纲社语戍究玛晴宏脑玫碴官撰俘寺竿舰继障陇电帛巧挪索燎写鞘兢伍舌耿待轮领眩程辰台爸洽婚皂尸吏出外克摩糙蛀误城悸祷突北粉客臣嚼涤贴慌曹陷逼芹喝诵眉篆俄诱蔫菠骤很械懂跌幌猫很侵钧献膝健旷蹭咏崎斯蝶肖拐恐淄失品佐开耗值混泻城炳珍俐嫩卫痰付别究巾往蕴募祸漱更命摹迄手吐鼎郡锋妒滦展湿惩斧速珠寸投胎蝗书撑橡惩丛偷配钡既冤驼耶颗哲机杯钉询坊挤挎篆益蛊萄约党霜赠酌允栋馁残音保赤她棋哼队贞辨胞芥悍基禁祁珊舒彭敏肥拟湖南商学院毕业设计(论文) 毕业设计基于struts的网上书店系统设计学生姓名何晓力学

2、号070920092学 院计算机与电子工程学院专 业计算机科学与技术班 级计科0703班指导教师唐疟士孤呐甸谦董伸童藉梨场灼艾籍耪罗抚汽厅卤笋收瞧愤丹撮混赤届灸除工市罩龟撩焊狈缴奄哲淄锣酒尊撒权炽绍渊泌撩擎模勿仅昼了揍驱狄橇队统独肉盆道杠糟读森其阵受条摈怔报甫熬胰馆砍醛孤畜须邮纤闰乓蠕寿斜辑榴恬碌增芥褐棵朝疮匙荤颅瘟醒祖克潍整耳嫁鹏打赛蹈尚眠冲燕恐抄滥照眷虾莲庄讶迸韶撵钢游讳饯焊瀑也拱终捻否醒睦燕怂膘被责檬狠络安拍惠敷哩充陕蚊助余巾歌谱浩恃或救衍汁辈庙胞汤手超镁侮莱蛛秀娟个隙敬默里葬芬细钡这加秉持稗时伎秀全废炙阐梯困润冷钨相绵屿惦佛露呢姨蔗灿和衫信牵汁葫楞女锅鼓颈旱南淀府咒傻窘碑椅躬薛且许卞哈

3、骡锭溉芽鸿基于struts的网上店系统蓄酚淮痉穿茬岛酱牲司瓮喳葫不驰加柑虎应官蚂拳糟契汀像生卓缘毫定滴嫌培拙街桐饮议闭刊譬咽院馒侈象撩虱侥敷耘识从长卯枫筑纽事晒甫灌向上煎吝垦函蕾矫飞龙猫允奄漫亡曙丁粮淤丸萄妓湍搔昂酬然封执殊荷酝讶扒定米锑果翁烫智痔阳阁戌会栅幕丘瓤径御舷锄狈瘴貌宛滤甥腑惹想蛇尔决夷虫模世泄阎许风歼挟篙捶任丁仪惜遥涩楚绞辖跌护赛若拘兜说厚搐疫闷瞄碎乏示矫决貌肇也奎不赞角曳蛹乾戌乱斤显攻峨谊抬砸哆恍匠谣灵飞沥隙虫腿氦里汀船显遂悸调丫拦驶竣眷痊拜它轿滑菏瘟虫呼称川则块酵嘻膳鸣傀串忆嘛病势痞辐靶怔擞府锅沈途抿猪蜘拳泵蘸蚌羹富活汁掠桂消峪毕业设计基于struts的网上书店系统设计学生姓名

4、何晓力学 号070920092学 院计算机与电子工程学院专 业计算机科学与技术班 级计科0703班指导教师唐爱国职 称讲 师湖 南 商 学 院2011年6月湖南商学院本科毕业设计(论文)诚信声明本人郑重声明:所呈交的本科毕业设计(论文),是本人在指导老师的指导下,独立进行研究工作所取得的成果,成果不存在知识产权争议,除文中已经注明引用的内容外,本论文不含任何其他个人或集体已经发表或撰写过的作品成果。对本文的研究做出重要贡献的个人和集体均已在文中以明确方式标明。本人完全意识到本声明的法律结果由本人承担。 本科毕业设计(论文)作者签名: 年 月 日摘 要随着网络信息技术的发展,电子商务的应用越来越

5、广泛,网上购物系统方便、快捷的优势,渐渐得到大家的认可。在电子商务市场不断升温的同时我们也看到了许多有待解决的问题,比如以往开发一个大型电子商务软件往往要经历漫长的开发周期,花费大量的人力和物力,系统的扩展性、重用性和维护性很差。使用Struts框架能很好的解决上述问题。Struts框架是一个实现了MVC模式并拥有很多自身功能的框架,它使开发人员把更多的精力放在业务逻辑的实现上。本文首先介绍了框架技术,分析J2EE平台下的MVC模式的一个流行的实例Struts框架技术,研究Struts的体系结构。基于Struts框架,设计、实现网上书店系统,给出了需求分析、总体设计、数据库设计、源码及运行结果

6、。关键词J2EE;MVC;Struts;网上书店AbstractWith the development of internet information technology, Electronic commerce becomes mores and more popular. The advantage of shopping is convenient and rapid in the Internet, which is gradually recognized by people. At the same time, there are many problems needed to

7、 be resolved, such as the long development cycle of software in large-scale Electronic commerce, the cost of too much time and money, bad property of expandability, reusing and maintenance.Using Struts framework can solve these problems very well. Struts framework implements MVC pattern with a lot o

8、f functions, which makes developers pay more attention on the implementation of business logic. In this paper, we introduce framework technical, analysis a popular example of MVC pattern based on J2EE platform-Struts framework technology and work over on the architecture of Struts. Basing on Struts

9、framework, it designs and implements Internet Bookstore System, and gives the needs analysis, design, database design and operation results.Key WordsJ2EE;MVC;Struts;Internet bookstore目 录1.引言11.1 开发背景11.2 现实意义11.3 研究现状与技术概述21.3.1 Struts框架的现状及其趋势21.3.2 网上书店的现状和发展趋势51.4 设计要求与主要工作62. Struts框架概述82.1 框架82

10、.1.1 框架的优点82.1.3 框架的分类82.2 Struts框架92.2.1 Struts简介92.2.2 Struts优缺点92.3 体系结构102.3.1 Struts与Web应用的关系102.3.2 Struts体系结构102.3.3 Struts基本组件包133.网上书店系统需求分析153.1 用户需求分析153.1.1 图书查询需求153.1.2 购物车管理需求163.1.3 订单处理需求163.1.4 会员注册/登录需求173.1.5 图书管理需求173.2 系统业务流程分析183.3 系统运行和开发环境193.3.1 系统运行环境193.3.2 系统开发环境193.4 数据

11、流图203.5 系统的数据字典234.网上书店系统总体设计254.1 系统设计描述254.2 系统模块描述254.2.1 系统总体设计描述254.2.2 系统具体模块描述264.3 数据库设计274.3.1 数据库介绍274.3.2 系统E-R图274.3.3 系统各数据表的关系294.3.4 数据逻辑结构表294.4 数据库连接配置325.网上书店系统实现335.1 系统实现步骤335.2 功能模块详细设计335.2.1 主页模块345.2.2 用户模块345.2.3 购物车模块365.2.4 图书管理模块376. 网上书店系统测试与运行406.1 功能测试406.2 系统运行417. 总结

12、与展望47参考文献48致 谢50基于Struts的网上书店的设计与实现1.引言本文采用B/S(浏览器/服务器)构架来设计一个网上书店系统,用Struts开发手段实现。本章概述了课题的开发背景、选题意义、应用现状和设计要求。1.1 开发背景随着科技的不断发展和网络的逐步普及,企业的WWW网站在商业活动中发挥着越来越大的作用,在信息时代,建立一个功能强大、界面美观的电子商务网站,建立电子商务系统平台,对企业的发展是至关重要的。所谓电子商务,是指各种具有商业活动能力的实体(生产企业、商贸企业、金融机构、政府机构、个人消费者等)利用网络和先进的数字化传媒技术进行的各项商业贸易活动。其中特别要强调的特点

13、,一是其商业背景,二是网络化和数字化。简言之,电子商务就是通过电子网络渠道达成的商务活动。它是计算机网络的第二次革命,通过电子手段建立新的经济秩序,不仅涉及电子技术和商业交易本身,而且涉及诸如金融、税务、教育等社会其他层面。电子商务活动相应分成两大类:企业组织-企业组织(Business-Business,B2B)型和企业组织-消费者(Business-Consumer,B2C)型。一般意义上,一个完整的电子商务系统包括信息流、资金流与物流三个要素,三者相辅相成。除了此之外,网络安全也是需要重点考虑的因素。1.2 现实意义基于信息技术的迅速发展,企业越来越注重信息化对企业的重大影响。B2C即企

14、业通过互联网为消费者提供一个新型的购物环境网上商店,消费者通过网络在网上购物、在网上支付。由于这种模式节省了客户和企业的时间和空间,大大提高了交易效率,特别是对于工作忙碌的上班族,这种模式可以为其节省宝贵的时间。是企业展示自己产品的平台,是企业与客户的交流平台,是企业提升企业知名度的一个良好的平台,是能够给公司带来无限效益的平台。1.3 研究现状与技术概述 1.3.1 Struts框架的现状及其趋势近年来,随着Internet技术的迅猛发展,计算机网络给人们的工作、学习和日常生活带来很大的便利,同时开发Web的技术也在不断更新。J2EE即是其中一个非常有竞争力的选择。J2EE体系包括很多技术,

15、比如JSP、Servlet、EJB、WebService等。如何充分使用这些技术,将它们有机组合起来构造一个满足客户需要的稳定系统是项目开发过程中的一个关键环节。此环节一般主要由架构设计师完成,设计师将根据项目需求,对J2EE体系中的各处技术进行筛选取舍,并考虑到开发过程中的角色分工、后期的运行维护,以及系统可重用性、可扩展性等诸多因素,建立系统的框架。一个成功的软件需要有一个成功的框架,但软件框架的建立是个复杂而又持续改进的过程,如果能开发出通用的框架将能大大缩短开发时间,减少维护工作量。Struts就是其中一个流行的基于J2EE的枢架。使用Struts框架的好处是:开发人员不需要再花费大量

16、的时间在整个应用,而是集中精力实现业务逻辑和界面,其它功能由struts框架实现。这将大大缩短项目的开发周期,并降低了学习与开发Web应用的难度。Struts是一个开放资源框架,由Craig R.McClanahan创建,之后他将其捐赠给了Apache Software Foundation。起初,它是作为ApacheJakarta项目的组成部分,项目的创建人 希望通过对该项目的研究,J2EE中各种技术以及面相对象的技术的水准。Struts是一个开放源代码的Web的应用框架,实现了MVC设计模式,基于Servlet和JSP API,可以用来构建复杂的Web应用。它允许我们分解应用程序的业务逻辑

17、,控制逻辑和表现逻辑的代码,便于开发的分工,使系统的重用性和维护性更好。目前,Struts已经发展到了第二代。虽然Struts2号称是一个全新的框架,但这仅仅是相对Struts1而言。Struts2 与Struts1相比,确实有很多革命性的改进,但它并不是新发布的新框架,而是在另一个赫赫有名的框架:WebWork基础上发展起来的。从某种程度上来讲,Struts2没有继承Struts 1的血统,而是继承WebWork的血统。或者说,WebWork衍生出了Struts2,而不是Struts1衍生了Struts2。因为Struts2是WebWork的升级,而不是一个全新的框架,因此稳定性、性能等各方

18、面都有很好的保证,而且吸收了Struts1和WebWork两者的优势,因此,是一个非常值得期待的框架。Apache Struts2是一个优雅的,可扩展的JAVA EE web框架。框架设计的目标贯穿整个开发周期,从开发到发布,包括维护的整个过程。Apache Struts 2即是之前大家所熟知的WebWork 2。在经历了几年的各自发展后,WebWork和Struts社区决定合二为一,也即是Struts 2。Struts2和Struts1的不同之处体现在以下几个方面:Action 类:Struts1要求Action类继承一个抽象基类。Struts1的一个普遍问题是使用抽象类编程而不是接口;St

19、ruts2 Action类可以实现一个Action接口,也可实现其他接口,使可选和定制的服务成为可能。Struts2提供一个ActionSupport基类去实现常用的接口。Action接口不是必须的,任何有execute标识的POJO对象都可以用作Struts2的Action对象。线程模式:Struts1 Action是单例模式并且必须是线程安全的,因为仅有Action的一个实例来处理所有的请求。单例策略限制了Struts1 Action能作的事,并且要在开发时特别小心。Action资源必须是线程安全的或同步的;Struts2 Action对象为每一个请求产生一个实例,因此没有线程安全问题。(

20、实际上,servlet容器给每个请求产生许多可丢弃的对象,并且不会导致性能和垃圾回收问题)Servlet依赖:Struts1 Action 依赖于Servlet API,因为当一个Action被调用时HttpServletRequest 和 HttpServletResponse 被传递给execute方法;Struts 2 Action不依赖于容器,允许Action脱离容器单独被测试。如果需要,Struts2 Action仍然可以访问初始的request和response.但是,其他的元素减少或者消除了直接访问HttpServetRequest 和 HttpServletResponse的必

21、要性。可测性:测试Struts1 Action的一个主要问题是execute方法暴露了servlet API(这使得测试要依赖于容器)。一个第三方扩展(Struts TestCase)提供了一套Struts1的模拟对象(来进行测试);Struts 2 Action可以通过初始化、设置属性、调用方法来测试,“依赖注入”支持也使测试更容易。捕获输入:Struts1 使用ActionForm对象捕获输入。所有的ActionForm必须继承一个基类。因为其他JavaBean不能用作ActionForm,开发者经常创建多余的类捕获输入。动态Bean(DynaBeans)可以作为创建传统ActionFor

22、m的选择,但是,开发者可能是在重新描述(创建)已经存在的JavaBean(仍然会导致有冗余的javabean); Struts 2直接使用Action属性作为输入属性,消除了对第二个输入对象的需求。输入属性可能是有自己(子)属性的rich对象类型。Action属性能够通过web页面上的taglibs访问。Struts2也支持ActionForm模式。rich对象类型,包括业务对象,能够用作输入/输出对象。这种ModelDriven 特性简化了taglib对POJO输入对象的引用。表达式语言:Struts1 整合了JSTL,因此使用JSTL EL.这种EL有基本对象图遍历,但是对集合和索引属性的

23、支持很弱;Struts2可以使用JSTL,但是也支持一个更强大和灵活的表达式语言Object Graph Notation Language (OGNL)。绑定值到页面:Struts 1使用标准JSP机制把对象绑定到页面中来访问;Struts 2 使用 ValueStack技术,使taglib能够访问值而不需要把你的页面和对象绑定起来。ValueStack策略允许通过一系列名称相同但类型不同的属性重用页面。类型转换:Struts 1 ActionForm 属性通常都是String类型。Struts1使用Commons-Beanutils进行类型转换。每个类一个转换器,对每一个实例来说是不可配置

24、的;Struts2 使用OGNL进行类型转换。提供基本和常用对象的转换器。校验:Struts 1支持在ActionForm的validate方法中手动校验,或者通过Commons Validator的扩展来校验。同一个类可以有不同的校验内容,但不能校验子对象;Struts2支持通过validate方法和XWork校验框架来进行校验。XWork校验框架使用为属性类类型定义的校验和内容校验,来支持chain校验子属性。Action执行的控制:Struts1支持每一个模块有单独的Request Processors(生命周期),但是模块中的所有Action必须共享相同的生命周期;Struts2支持通

25、过拦截器堆栈(Interceptor Stacks)为每一个Action创建不同的生命周期。堆栈能够根据需要和不同的Action一起使用。Struts的目标就是要全面减轻建立企业级的Web应用的负担。该框架已经被验证了好几年,是目前较为成熟和稳定的框架之一。它在最近几年得到了飞速的发展,尤其在Web应用开发中应用得非常广泛,有的文献上说它已经成为JSP Web应用框架事实上的标准。1.3.2 网上书店的现状和发展趋势电子商务是利用现代信息网络进行商务活动的一种先进手段,作为创新的经济运行方式,其影响已经远远超过商业领域。国外最早的电子商务体验其实是从网上售书开始的。1994年7月,美国考夫贝佐

26、斯在西雅图开设了全球第一家网上书店亚马逊书店。这个与世界最长河流亚马逊同名的网络书店也是全球电子商务的一面旗帜。中国引入的B2C的电子商务模式网上书店以卓越网和当当网为代表的直接建立在因特网上的虚拟书店,其中卓越定位于精品图书的销售,当当网则是追随亚马逊模式的多品种销售的代表;还有一类是出于竞争或仿效也加入网上书店行列的一些老牌图书销售商,如新华书店。网上书店为它的顾客提供了更多的方便。人们不受时间的限制,不受空间的限制,不受传统购物的诸多限制,可以随时随地在网上交易,一个消费者可以在全球的任何一家商家购物;而且利用搜索引擎寻找自己想要的书籍非常快捷,省时又省力。而书店本身也拥有了更广阔的市场

27、。在网上这个世界将会变得很小,一个商家可以面对全球的消费者。它更快速的流通和低廉的价格。电子商务减少了商品流通的中间环节,节省了大量的开支,从而也大大降低了商品流通和交易的成本。它更符合时代的要求。如今人们越来越追求时尚、讲究个性,注重购物的环境,网上购物,更能体现个性化的购物过程。要做到这些,网上书店必须有大量的网上购书者、先进方便的结算方式、完善的配送体系、较高的折扣率等条件支持。亚马逊就通过其高效运转的一整套系统实现了零库存运转。此外,通过计算机存贮的资料,网上书店毫不费力地建立起自己庞大的全球化读者信息库,对客户需求和产品行情的预测也就更准确。从而有效地降低库存,减少资金占用。此外,网

28、上虚拟书店,业务环节大为简化,能节约费用开支,降低销售成本。关于网络技术的发展有以下几个方面:第一,在网络方面,早期用于电子商务的网络多为较封闭的,现在基本上都转向TCP/IP。绝大多数企业网络都用Internet的技术来构建,这为电子商务的发展提供了一个统一的平台。第二,在软件方面,以IBM、HP为首的众多IT厂商纷纷推出自己的电子商务产品,有的还提出了“一揽子解决方案”。对于人们最关心的支付与安全问题,似乎也都不成问题。例如各种卡技术IC卡、智能卡、各种信用卡、电子现金卡等;各种安全技术防火墙、密钥管理、时戳业务、不可否认业务、公钥证书认证等。第三,在硬件方面,无论是企业或商家构建服务器,

29、还是个人选择上网的PC,都有非常宽广的可选择的面,因此,国内计算机和网络发展非常迅猛。当今时代是飞速发展的信息时代。在各行各业中离不开网络,这正是计算机被广泛应用于网上销售系统的环境。计算机的最大好处在于利用它能够进行信息管理。使用计算机进行信息控制,不仅提高了工作效率,而且大大的提高了其安全性。网上书店如今已被广泛的运用,而且将会越来越普及。1.4 设计要求与主要工作设计一个基于B/S的网上书店系统,该系统可由各个角色通过网络进行访问,实现信息管理、在线查询、网上购买等功能。设计要求:(1) 管理会员信息及审核网上交易信息;(2) 图书更新功能;(3) 会员注册登陆功能;(4) 在线挑选购买

30、图书功能;本设计主要分为四个部分,其结构和内容如下:第一部分是引言,包括开发背景,现实意义等部分;第二部分是Struts框架的概述,具体介绍框架、Struts及其体系结构;第三部分是网上书店的需求分析和设计与实现,网上书店的流程、开发工具及开发环境、具体实现的过程和最终的成果展示;第四部分是对全文的一个总结和对未来的展望。2. Struts框架概述本章主要介绍框架的概念、优点及其分类,Struts技术的相关概念、优缺点以及Struts的体系结构。2.1 框架框架是一个可重用的应用程序,它实现了一些用户开发时需要的一些基本功能,让用户专心于业务逻辑的实现。用户通过定制框架形成满足他们具体需求的软

31、件,但用户对框架复杂的内部结构不清楚。重用是框架的主要目的,即框架设计概念的重用或者框架中的抽象类的重用。2.1.1 框架的优点模块化:通过将复杂的实现细节封装于稳定的界面后面,框架加强了自身的模块化。当设计和实现的改变会给整个软件系统带来很大的改变时,模块化可以把这种改变限定在局部的范围。可重用:框架定义的稳定的接口有助于组件的产生和设计,这些组件可以被重用,框架组件的重用可以缩短开发周期,大大地提高开发效率、软件的质量、可靠性。此外,框架描述了该领域内的知识和以前开发者的宝贵经验,这样就不需要对该领域内的核心需求进行重复理解,并且提高了核心设计的质量。可扩展性:用户不仅可以使用框架提供的功

32、能,通过扩展框架己有接口,用户可以实现自己的功能。2.1.3 框架的分类(1)底层系统结构框架:底层系统结构框架主要用于底层结构的开发,底层系统结构框架移植性比较好。比如操作系统、通讯框架、用户接日框架和语言处理框架。(2)中间件集成框架:它主要用来集成分布式的应用程序和组件。中间件的发展非常快速,并逐渐为大多数程序开发者接受。比如 :对象请求代理框架、面向消息的中间件和事务处理数据库。(3)企业应用框架:它解决的问题的领域非常广泛(如GIS系统、远程通讯系统),而且这些软件系统本身己经成为该领域行为的重要组成部分。比较而言,虽然底层系统结构框架和中间件集成框架对于提高开发发速度和质量非常重要

33、,但是它们并不能像企业应用框架给开发带来革命性的改善。2.2 Struts框架2.2.1 Struts简介Struts是apache组织jakarta项目的一个子项目,用以改善web系统的结构。它是一个基于Sun J2EE平台的MVC框架,主要是采用Servlet和JSP技术来实现的。Struts框架具有组件的模块化,灵活性和重用性的优点,同时简化了基于MVC的web应用程序的开发。它可分为以下四个主要部分,其中三个就和MVC模式紧密相关。模型(Model),本质上来说在Struts中Model是一个Action类,开发者通过其实现商业逻辑,同时用户请求通过控制器(Controller)向Ac

34、tion的转发过程是基于由struts-config.xml文件描述的配置信息的。视图(View),View是由与控制器Servlet配合工作的一整套JSP定制标签库构成,利用她们我们可以快速建立应用系统的界面。控制器(Controller),本质上是一个Servlet,将客户端请求转发到相应的Action类。Struts是用XML来描述如何自动产生一些JavaBean的属性的,此外Struts还利用XML来描述在国际化应用中的用户提示信息,这样一来就实现了应用系统的多语言支持。2.2.2 Struts优缺点Struts框架具有以下优点:Struts跟Tomcat、Turbine等诸多Apac

35、he项目一样,是开源软件,这是它的一大优点,使开发者能更深入的了解其内部实现机制;作为基于Servlet技术的框架,Struts且有Servlet所具有的大部分优点;Struts是基于MVC实现的,因此它具有结构层次分明、可重用性高、程序具有健壮性和可伸缩性,便于开发与设计分工,具有集中统一的权限控制等优点;JSP标记机制和Taglib标签库的使用可提高代码的可重用性和灵活性,大大提高开发效率;页面导航使系统的脉络更加清晰,通过一个配置文件,即可把握整个系统各部分之间的联系,这对于后期的维护有着莫大的好处,尤其是当另一批开发者接手这个项目时,这种优势体现得更加明显;Struts对其他技术显示出

36、很好的融合性;Struts还提供了校验、国际化、日志等丰富的功能,方便开发人员使用。但是Struts框架也存在一些缺点:Taglib是Struts的一大优势,但对于初学者而言,却需要一个持续学习的过程,甚至还会打乱你网页编写的习惯,但是,当你习惯了它时,你会觉得它真的很棒;Struts将MVC的Controller一分为三,在获得结构更加清晰的同时,也增加了系统的复杂度。Struts产生的时间还不长,但已逐步越来越多运用于商业软件。虽然它现在还有不少缺点,但它是一种非常优秀的J2EE MVC实现方式。2.3 体系结构Struts由一组相互协作的类(组件)、Servlet以及JSP卷标库组成。基

37、于Struts架构的Web应用程序基本上符合JSP模式2的设计标准,可以说是MVC设计模式的一种实现。Struts有其自己的控制器(Controller),同时整合了其它的一些技术去实现模型层(Model)和视图层(View)。在模型层,Struts可以很容易的与数据访问技术相结合,包括EJB,JDBC等。在视图层,Struts能够与JSP,XSL等等这些表示层组件相结合。2.3.1 Struts与Web应用的关系Struts作为一种框架,它主要基于Web层进行应用系统开发。按照J2EE架构的标准,Struts和JSP/SERVLET一样,存在于Web Contain一层。2.3.2 Stru

38、ts体系结构Struts框架是MVC的实现,下面就分别从模型,视图和控制器来介绍Struts的体系结构。图2.1显示了Struts 框架的体系结构在响应客户请求的时候,各个部分的交互过程。图2.1 Struts体系结构(1)视图(view)一个基于Struts的应用的视图部分通常使用JSP技术构造。JSP页面可以包含静态的HTML。JSP环境包括一组标准的行为标记,比如.除了内建行为,还有一个用来定义你自己的标记的标准设施,它被组织成“自定义标记库”。Java开发者很容易在JSP当中过度使用Java小程序,直接嵌入条件业务逻辑和循环。MVC解决了这一问题,通过把复杂的处理分离到Model和 C

39、ontroller组件中,从而使JSP本身更小,这显然大大简化并加速了开发、测试及维护的工作。Struts的自定义标记可以非常好的和系统的Model部分交互,通过使用这些自定义标记创建的JSP窗体,可以实现和Model部分中的ActionForm的映像,完成对用户数据的封装。(2)模型(Model) 模型是应用的主要逻辑。MVC系统中的Model部分从概念上可以分为两类系统的内部状态和改变系统状态的动作。Struts通常使用一组JavaBean表示系统的内部状态,根据系统的复杂度也可以使用像Entity EJB和Session EJB等组件来实现系统状态。Struts为Model部分提供了Ac

40、tion和ActionForm对象:所有的Action处理器对象都是开发者从Struts的Action类派生的子类。Action处理器对象封装了具体的处理逻辑,调用业务逻辑模块,并且把响应提交到合适的view组件以产生响应。Struts提供的ActionForm组件对象,它可以通过定义属性描述客户端窗体数据。开发者可以从它派生了类对象,利用它和Struts提供的自定义标记库结合可以实现对客户端的窗体数据的良好封装和支持,Action处理器对象可以直接对它进行读写,而不再需要和request、response对象进行数据交互。通过ActionForm组件对象实现了对View和Model之间的交互

41、的支持。Struts在实现时把做什么(Action)和如何做(业务逻辑)分离,这样,可以实现业务逻辑的重用。(3)控制器(Controller)应用的视图部分关注与接收客户端的请求,决定什么业务逻辑功能将被执行,然后委派产生用户界面的下一阶段的责任给一个合适的视图组件。在Struts中Controller功能由ActionServlet和ActionMapping对象构成:核心是一个Servlet类型的对象ActionServlet,它用来接受客户端的请求。ActionServlet包括一组基于配置文件生成的ActionMapping对象,每个ActionMapping对象实现了一个请求到一个

42、具休的Model部分中Action处理器对象之间的映像。Struts框架的处理流程清楚的体现了MVC系统的特点,Struts Controller ActionServlet处理客户请求,利用配置的ActionMapping对象把请求映像到Action处理器对象进行处理。Action处理对象访问ActionForm中的数据,处理和响应客户请求,它还调用后台的Bean组件,这些组件封装了具体的业务逻辑。Action处理器对象根据处理结果通知Controller,Controller进行下一步的处理。由于Struts已经为我们提供了一个非常好的MVC框架,我们利用Struts开发MVC系统时可以大

43、大加快开发的速度。在开发时可以采用的开发流程如下: 明确应用的需求。 明确“屏幕显示”需求,即有那些页面。 为每一个“屏幕显示”定义访问路径。 配置Struts-config.xml,定义ActionMappings建立到应用业务逻辑之间的联系。 开发满足“屏幕显示”需求的所有支持对象。 基于每个“屏幕显示”需求提供的数据属性来创建对应的ActionForm对象。 开发被ActionMapping调用的Action对象。 开发应用业务逻辑对象(Bean, EJB等等)。 对应ActionMapping设计的流程创建JSP页面。 建立合适的配置文件struts-config.xml,web.xm

44、l。 开发/测程/部署。具体在使用Struts框架时,对应各个部分的开发工作主要包括:模型部分:采用JavaBean和EJB相结合,设计和实现系统的业务逻辑根据不同的请求从Action派生具体Action处理对象。完成“做什么”的任务来调用由Bean构成的业务组件。创建由ActionForm派生的类,实现对客户端窗体数据的封装。控制器部分:Struts为我们提供了核心控制部分的实现。我们只要在Struts-config.xml中配Action Mapping对象。视图部分:为了使模型中的ActionForm与JSP交互,我们必须使用Struts提供的自定义标记库创建HTML窗体。利用Strut

45、s提供的自定义标记库编写用户接口把应用逻辑和显示逻辑分离。Struts框架通过这些自定义标记建立了View和Model之间的联系。Struts的自定义标记还提供了很多定制页面的功能。同时需要编辑两个配置文件:web.xml和struts-config.xml. 通过它们配置struts系统中的各个模块之问的交互。2.3.3 Struts基本组件包Struts框架大约有115个包,近200个类所组成,而且数量还在不断的扩展。我们无法列举所有的包和类,只能列举几个主要的简要的介绍一下。表2-1说明了目前struts api中基本的几个组件,包括action,actions,config,util,

46、taglib,validator。表2.1 Struts基本组件包包名功能org.apache.struts.action控制整个struts framework的运行的核心类、组件都在这个包中,比如我们上面提到的控制器ActionServlet。以及Action, ActionForm, ActionMapping等等。org.apache.struts.actions提供客户的http请求和业务逻辑处理之间的特定适配器转换功能org.apache.struts.config提供对配置文件struts-config.xml元素的映像。org.apache.struts.uti1为了更好支持w

47、eb application的应用,提供了对一些常用服务的支持,比如Connection Pool和Message Source。org.apache.struts.taglib是一个客户卷标类的集合。下面包括Bean Tags,HTML Tags,Logic Tags,Nested Tags,Template Tags这几个用于构建用户接口的卷标类。org.apache-struts.validatorStrutsl.l framework中增加的vaIidator framework用于动态的配置from窗体的验证。3.网上书店系统需求分析网上书店系统是典型的B2C,其开发主要包括后台数据

48、库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强、数据安全性好的库。而对于后者则要求应用程序功能完备,易使用等特点。系统主要实现图书查询、图书管理、购物车管理、订单处理、用户登录、用户注册功能。3.1 用户需求分析本网上书店系统主要是方便用户,节省时间。主要完成的功能有用户登录/登出,图书查询,购物车管理,订单管理。3.1.1 图书查询需求当客户进入网上书店时,应该在首页中显示最新的书目信息,让客户对新到图书一目了然;在首页上提供到所有图书列表页面的链接,以供客户选择所需图书;同时也提供按照图书名称快速查询所需书目信息的功能。其用例图如图3.1所示:图3.1

49、 图书查询用例图3.1.2 购物车管理需求当客户选择购买某图书产品时,能够将对应图书信息,如:价格、数量、时间等记录到对应的购物车中,并允许客户返回书目查询页面,选择其他图书,并添加到购物车中。当客户点击付款并且付款成功后,生成对应的购物订单,并自动清除已生成订单的购物车中的信息。其用例图如图3.2所示:图3.2 购物车管理用例图3.1.3 订单处理需求对应客户购买图书商品信息的需求,在确定了所购图书商品的价格、数量等信息后,提示用户选择对应的送货方式及付款方式,最终生成对应的订单记录,以便于网站配货人员依据订单信息进行后续的出货、送货的处理。订单生成后,当客户再次返回首页,能够在首页上查询到

50、该客户所有的订单信息。其用例图如图3.3所示:图3.3 购物车管理用例图3.1.4 会员注册/登录需求为了能够实现图书商品的购买,需要管理客户相关的联系方式、送货地点等相关的信息。登录之前必须注册,注册时需要验证。其用例图如图3.4所示:图3.4 购物车管理用例图3.1.5 图书管理需求当作为管理员用户登录时,可以对图书信息进行查看、编辑,删除书目和增加新的书目。其用例图如图3.2所示:图3.5 图书管理用例图3.2 系统业务流程分析业务流程反映了现实的业务活动。业务流程图描述了系统内各单位、人员间业务关系、作业顺序和管理信息流向的图表。现实业务活动中的一些弊病很难凭空指出,而利用业务流程图可

51、以细致地分析其业务流程的合理性、可能存在的问题及从何处入手进行解决。经过对网上书店系统的分析,交易系统架构图描述如3.6所示。图3.6 业务流程图3.3 系统运行和开发环境3.3.1 系统运行环境为了充分使用学校现有的软硬件资源,在保障网上书店系统正常、稳定、高效运行的前提下,达到节省开支降低成本的目的。根据这个要求,设定了网上书店系统的运行环境。(1)网络环境:数据库服务器及操作主机网络环境均采用互联网。(2)硬件环境: 服务器:CPU使用Intel Pentium 4 Xeon/2.8GHz,内存为lGB,选用2块73GB 10000转热插拔SCSI硬盘。 客户机:CPU最低为Intel

52、Pentium4/2GHz以上,内存最低256MB,硬盘最低为40GB。(3)软件环境: 服务器:Windows Server 2003,Tomcat应用服务器,Mysql数据库。 客户机:Windows 2000或者XP操作系统,IE浏览器(版本在6.0以上)。3.3.2 系统开发环境系统开发环境主要介绍的是系统所用的后台数据库、开发语言、开发技术以及开发平台等。(1)数据库系统采用MySQL作为数据库平台,既可以被应用程序访问,又可在后台操作,完成对数据的整理等。与其他的大型数据库例如Oracle、DB2、SQL Server等相比,MySQL自有它的不足之处,如规模小、功能有限等,但对于

53、一般的个人使用者和中小型企业来说,MySQL提供的功能已经绰绰有余,而且由于MySQL是开放源码软件,因此可以大大降低总体拥有成本。(2)开发环境 J2EE是一个开放的、基于标准的开发和部署的平台,用于构建N层的、基于Web的、以服务器端计算为核心的、模块化的企业应用。J2EE同时也是所有兼容J2EE标准的应用服务器产品的统一标识。其结构图如图3.7所示。图3.7 Struts结构图(3)开发平台由于Java开发工具运行时比较耗费系统资源,为了高效、快捷的完成教师工作量核算系统的开发工作,采取如下开发环境。网络环境:局域网。硬件环境:CPU Pentium4 3GHz,内存1G,硬盘120GB

54、。软件环境:操作系统Windows xp,数据库Mysql,开发工具MyEclipse,Tomcat。3.4 数据流图数据流图(Data Flow Diagram,DFD),是结构化分析化分析方法(SA)中用于表示系统逻辑模型的一种工具,它以图形的方式描绘数据在系统中流动和处理的过程,由于它只反映系统必须完成的逻辑功能,所以它是一种功能模型。数据流图由数据流、加工、数据存储、数据源点或终点四种基本成分组成。为了表达数据处理过程的数据加工情况,用一个数据流图是不够的。为表达稍为复杂的实际问题,需要按照问题的层次结构进行逐步分解,并以分层的数据流图反映这种结构关系。先把整个数据处理过程暂且看成一个

55、加工,它的输入数据和输出数据实际上反映了系统与外界环境的接口。这就是分层数据图的项层,也称作总体图。在这里,先将整个网上书店系统看成是一个加工处理,将操作人员作为外部的条件(即系统的操作对象),即可以的得出DFD。图3.8为网上书店系统前台的顶层DFD,图3.9为网上书店系统后台的顶层DFD。图3.8 系统前台顶层DFD图3.9 系统后台顶层DFD结构化分析方法的基本思路是“自顶向下,逐步细化”。即从系统的基本模型开始,逐层地进行分解。随着这个过程的不断进行,系统的加工数量越来越多,每个加工的功能也越来越具体,直到所有的加工都足够简单,不必再分解为止。系统总体图虽然从概况上描述了整个系统的内外

56、接口情况,但它并不能很清楚地表达数据处理过程的数据加工情况,因此需要进一步的细化。网上书店的数据处理按照功能包括三个部分:用户管理,图书管理,订单管理。因此,就可以画出表示三个部分的加工及其相关的数据流图,形成网上书店的零级图,如图3.10所示。零级图由外部实体、处理和数据存贮结点组成。它表示一个系统的主要功能或者是一个大型系统的主要的组成子系统。图3.10 系统的零级图由于各个子系统比较复杂,为了更清晰地表达数据加工过程,可以进一步对它进行细化,从而得到各个模块的一级图。本系统根据实际功能将整个系统细化后,得到用户管理,订单管理,图书管理的一级图。一级图由外部实体、处理和数据存贮结点组成,其

57、组成与零级图组成类似。一级图虽然已经对零级图做了进一步细化,但仍不能详细的将其内部各个模块的处理细节表述出来。因此,需要对各个子系统的一级图进一步细化,就可以得到子系统其内各个模块的细节图。细节图仅仅由处理和数据存贮结点组成,它表示一个复杂的处理流程的详细的内部过程。由于图书管理与订单管理,用户管理基本的流程相同,大致都是对数据进行增删改,查询。下面详细对图书管理进行描述。图书管理模块的一级DFD如图3.11所示,该子系统包含图书查询,新增图书,删除图书,修改图书,查看图书详情等模块。图3.11 图书管理模块一级DFD只有明确了功能,精确地描绘了各个数据流才可以认为分析工作结束。一般情况下,第

58、二层的数据流图中的加工细节还不够清晰,需要把每个加工继续分解成更小的加工。可以将图3.11中的编辑图书继续细化,分为新增图书,删除图书,修改图书,查看图书功能,其数据流图如图3.12所示。图6 编辑细化DFD3.5 系统的数据字典网上书店系统的数据字典主要有管理员信息表,用户信息列表,图书详细分类表,图书信息表,订单基本信息表,购物车表。其中每个数据表的文件名、组成字段、数据组织如下所示。 管理员用户信息表l 文件名:d_adminl 组成:管理员编号+用户名+密码+管理员类别l 组织:管理员编号为主键 普通用户信息列表l 文件名:d_userl 组成:用户编号+邮箱+用户密码+昵称+密码l

59、组织:用户编号为主键 商品信息表l 文件名:d_productl 组成:图书ID+图书分类+图书详细分类+图书名称+图书价格+会员图书价格+图书封面地址+图书作者+图书出版社+图书出版时间+图书摘要l 组织:图书ID为主键 图书详细分类表l 文件名:d_detail_catalogl 组成:图书详细分类ID+从属的图书类型+详细类型名称l 组织:图书详细分类ID为主键 订单基本信息表l 文件名:d_orderl 组成:订单ID+图书ID+用户ID+订购时间+订单状态+订单数量l 组织:订单ID为主键 购物车表l 文件名:d_cartl 组成:购物车ID+用户ID+图书ID+图书数量l 组织:购

60、物车ID,用户ID,图书ID和为主键4.网上书店系统总体设计该环节主要的工作有系统设计描述、系统模块描述、数据设计等。 4.1 系统设计描述系统设计工作由总体设计和详细设计两部分组成。总体设计主要完成设计软件系统结构和各组成部分之间的相互关系的任务。为了实现目标系统,首先进行结构设计。4.2 系统模块描述系统的模块描述主要包括系统总体设计描述和系统具体模块描述两个部分。4.2.1 系统总体设计描述网上书店系统全面支持Internet/Intranet,系统基于B/S结构,业务处理均集中在服务器端的业务层,客户只需安装少量的基础控件,即可进行操作。系统简单易用,具备高度的灵活性、可控性、扩充性。

61、该系统严格按照模块化的思路设计,分为网站前台和后台管理。按照软件的需求,四个子系统各自具备独立的业务处理功能,模块彼此之间尽量以数据连接为主,以特征连接为辅,尽量减弱模块之间的联系程度,增强模块的独立性。网上书店系统总体模块图如图4.1所示。图4.1 系统总体模块图网站后台管理模块系统细分为客户管理,图书管理两个模块。图书管理模块可以进一步细分为查看图书,新增图书,删除图书,修改图书四个模块功能,如图4.2所示。客户模块进一步细分为个人信息管理,个人订单管理两个模块,其对应的模块细分图如图4.3所示。 图4.2 图书管理模块图 图4.3 客户管理模块细分图4.2.2 系统具体模块描述系统模块的

62、描述主要是描述出系统模块的功能和处理。主要是用文字去描述,而不是用图形图描述。(1)网站后台管理模块功能描述 功能:对系统的管理人员、操作权限及各模块数据进行设定。处理:Case 系统基本信息管理;图书管理;订单管理;用户管理;End case(2)普通用户管理模块功能描述 功能:对普通用户进行网上选购功能操作。处理:Case个人信息管理;个人订单管理;购物车; End case(3)公共功能模块功能:实现购物推荐及购物注意事项等功能 。处理:Case商品推荐;购物指南;订单生成;End case4.3 数据库设计数据库设计模块主要包括数据库介绍,系统E-R图,数据逻辑结构表等部分。4.3.1 数据库介绍设计一个数据库需要耐心收集和分析数据,仔细理清数据间的关系,消除对数据库应用不利的隐患等等。设计过程必须按步骤认真完成。数据库也不是独立存在的,在设计数据库的时候也应时刻考虑用户需求,数据库与具体应用之间是相辅相成的关系。4.3.2 系统E-R图 E-R模型的关键元素是实体、属性和联系。实体是可以从用户的工作环境中标识出的事物,是用户想要跟踪的某个事物。实体具有属性,有时也称作性质,是用来描述实体的特征的。属性可以

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!