电子商城的设计与实现【开题报告+文献综述+毕业论文】

电子商城的设计与实现【开题报告+文献综述+毕业论文】

ID:448805

大小:147.43 KB

页数:26页

时间:2017-08-03

上传者:U-944
电子商城的设计与实现【开题报告+文献综述+毕业论文】_第1页
电子商城的设计与实现【开题报告+文献综述+毕业论文】_第2页
电子商城的设计与实现【开题报告+文献综述+毕业论文】_第3页
电子商城的设计与实现【开题报告+文献综述+毕业论文】_第4页
电子商城的设计与实现【开题报告+文献综述+毕业论文】_第5页
资源描述:

《电子商城的设计与实现【开题报告+文献综述+毕业论文】》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

本科毕业论文系列开题报告电子商城的设计与实现一、选题的背景和意义随着信息技术的发展,Internet与人们的关系变得越来越紧密,人们每天都可以随时随地地从英特网接受到形形色色的信息。如果能使用因特网进行商务交易是否意味着能消除掉传统商务的很多弊端呢。例如传统商务有着地域的限制,如果你在杭州你不可能去逛北京的商场,如果你想去那某个商场买东西,那你就必须买一张北京杭州的往返机票,这无疑将花费你巨大的金钱和时间代价。传统商务还有时间限制,例如某天半夜你睡不着觉,非常有逛商场的欲望,那你也不能马上起床去逛商场,因为商场都已经关门了。传统商务还有一个重要的弊端,当顾客很多的时候,总是需要你排队购买,浪费你大量的时间。传统的商务模式逐渐不能够满足人们的需要,因此电子商务开始发展起来。电子商务没有地域的局限,时间的局限,你可以足不出户随时随地购买你想要的任何东西,最重要的是它很快捷,不需要排队。因此电子商务逐渐走入了大多数人的生活,成为人们生活必不可少的一个部分。对于商家来说,顾客就是他们利润的源泉,只有充分了解了顾客的信息,才能更好地对顾客进行服务。因此,一个好的,有效的电子商务系统就变得尤为重要。电子商城的设计与实现是为了建立一个安全的,高效的,可扩展性强的B2C电子商务网站。二、研究目标与主要内容(含论文提纲)一个电子商城的设计与实现。该商城为一个高效的电子商务网站,分为前台和后台两个部分,前台部分主要是面向顾客的商品的呈现以及交易系统,后台部分主要是商城管理员对用户,商品,订单的管理。引言(一)研究的背景与意义(二)国内外研究现状一、Struts框架 二、系统需求分析(一)购物需求分析(二)各模块需求分析三、系统整体设计(一)数据库分析(二)系统结构分析四、系统详细设计(一)数据库详细设计(二)功能模块详细设计五、细节设计(一)Filter过滤器(二)JDBC数据库连接六、系统实现与配置安装(一)系统开发工具与环境(二)相关配置文件结束语注释参考文献致谢三、拟采取的研究方法、研究手段及技术路线、实验方案等研究方法与研究手段:本人通过查阅大量的文献,了解MVC模式是先如今最先进的J2EE的开发模式,Struts等框架技术的运用可以用来来支持MVC模式的开发。并通过自己的总结归纳,制定了一套电子商城的设计与实现的方案。开发软件主要选用Myeclipse,tomcat,mysql,jdk1.6。 技术路线:确定使用MVC开发模式并使用STRUTS框架系统功能分析系统概要设计和数据库设计确立研究该论文的背景和意义系统的详细设计环境搭建及相关配置测试总结与体会四、参考文献[1]刘剑.JSP网站开发与设计[J].电脑知识与技术.2005.14.[2]周祖荣,陈荣珍.基于JSP的招生网站的设计[J].科技信息.2010.01.[3]陈武,卫红萍,刘焕杰.用JSP开发高效的学院网站系统[J].乐山师范学院学报.2010.05.[4]尹强国,庄小叶,张慧如.浅析JSP动态网站开发中文乱码问题的处理[J].硅谷,2010.14.[5]陈杨杨,黎铭生,黄国际,叶树青.基于JSP+MYSQL的实验教学中心信息资源管理网站的设计与开发[J].电脑知识与技.2010.23.[6]焦广旭,李军杰,梁静,张跃斌,张兴忠.基于JSP技术的WAP网站的设计与实现[J].电脑开发与应.2009.03.[7]徐蕾,陈金有,于生.精品课程JSP教学网站的评价研究[J].软件导刊.2009.08.[8]何文辉.基于JSP的动态网站开发技术[J].吉林省教育学院学报(学科版).2008.08.[9]彭浩,林翠云.基于JSP技术的三层结构商务网站构建[J].福建电脑,2008.10.[10]孙敏燕,黄丽.基于JSP的B2C电子商务网站构建[J].软件导刊.2008.12.[11]余绍霖.基于JSP技术的电子商务网站设计与开发[J].科技资迅,2007.07. [12]邓惠俊,侯整风,郭骏,管正兵.基于JSP的企业动态网站设计与开发[J].全国第19届计算机技术与应用(CACIS)学术会议论文集(上册).2008.06.[13]刘伟,张利国.JavaWeb开发与实战[M].北京科海电子出版社,2008.12.[14]徐明华,邱加永.Struts基础与案例开发详解[M].清华大学出版社,2009.9.[15]杨俊,李艳梅.JavaScript面向对象编程探析[J].办公自动化,2010.4.[16]靳秀兰,张晓琳.基于J2EE平台MVC模式的就业管理信息系统的设计与实现[J].科技信息.2010.2.[17]李建.JSP技术中监听器组件应用及实例分析[J].电脑编程技巧与维护.2010.1.[18]BryanBashamKathySierra&BertBates.HeadFirstServlets&JSP[M].O'ReillyMedia.August.2004.[19]KathySierra,BertBates.SCJPSunCertifiedProgrammerforJava6[M].McGraw-HillOsborneMedia.2004.8.五、研究的整体方案与工作进度安排(内容、步骤、时间)1、研究的整体方案通过对电子商务网站常用开发技术的了解和购物车功能模块的分析,查阅了期刊,图书和网站的基础上确定了论文的选题。并参考各种期刊,书籍,网站和文献综述后总结出了和本文相关的研究现状及研究成果确定了本文的文献综述。同时查找了与本论文有关的外文资料,并翻译了与本文相关的部分,完成了外文资料翻译。在文献综述和外文翻译的基础上完成了该开题报告,确定了论文的提纲。并接下去会在规定时间内完成论文正文初稿的工作。2、工作进度安排(1)12月15日-1月10日明确课题任务,阅读相关文献,完成外文翻译、文献综述。(2)1月11日-1月20日熟悉资料,撰写开题报告、拟定设计方案。(3)1月20日-2月10日依据方案实质性开发。(4)2月11-2月18日完成功能开发,并完成调试工作。撰写并完成论文初稿。 (5)3月1日-3月10日论文中期检查。(6)3月11日-4月20日论文修改、定稿,同时修改格式规范。(7)5月14日论文答辩。六、研究的主要特点及创新点通过理论与实际相结合,使用Struts框架技术实现了该基于MVC模式的电子商城,使其具有良好的扩展性、可维护性和实用性。 电子商城的设计与实现随着时代的进步,信息技术的发展,传统的商务模式逐渐不能够满足人们的需要,因此电子商务开始发展起来。电子商务没有地域的局限,时间的局限,只需一台可以上网的电脑就能随时随地进行商务活动,大大地方便了人们的生活。同时,对于商家来说,顾客就是他们利润的源泉,只有充分了解了顾客的信息,才能更好地对顾客进行服务。因此,一个好的,有效的电子商务系统就变得尤为重要。电子商城的设计与实现是为了建立一个安全的,高效的,可扩展性强的B2C电子商务网站中的最重要的购物车功能模块。(一)国内外研究现状在开发模式的方面,现如今国内外J2EE平台使用的最流行的开发模式是MVC模式,MVC是三个单词的缩写,分别为:模型(Model),视图(View)和控制器(Controller)。MVC模式的目的是为了实现网页中各个系统的职能分工。模型层是为了实现系统中的那些业务逻辑,通常我们会使用JavaBean或者EJB来实现(一般还会将模型层进行细分为几个层次)。视图层是作用于与用户之间的交互活动,既是用户可以直接看到的界面,一般使用JSP来实现。控制器层是模型层和视图层之间沟通的桥梁,它可以分派用户请求并从中选择适当的视图(JSP页面)来返回给用户用以显示,同时它也能够解释用户的输入并将它们映射成为模型层里面的可执行操作。MVC模式的出现不仅仅实现了功能模块和显示模块的分离,同时它还提高了应用系统的可维护性,可扩展性,可移植性和组件的可复用性。大大提高了开发网站的效率。模型层中包含了该系统的全部业务逻辑,模型层一般可分为实体层(entity),持久层(persist)和业务层(biz)。实体层主要是一些实体模型,比如说JavaBean。JavaBean是一种JAVA语言写成的可重用组件。使用JavaBean将功能,处理,值,数据库访问以及 其他任何可以用java代码创造的对象进行打包,并且其他的开发者可以通过内部的JSP页面、Servlet、其他JavaBean、applet程序或者应用来使用这些个对象。JavaBean为使用者提供了一种可以随时随地地复制粘贴的功能,而不用关心由此对它早曾的任何改变。持久层是一些对于数据库的操作,是专注于数据持久化逻辑的实现,例如对数据库的增删查改等功能。Hibernate就是一种用来支持数据持久层的框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员能够无拘束地使用面向对象(OO)编程思想来操作数据库。业务层是对业务逻辑的功能的一些实现,将它从持久层中区分出来使得维护时只需要针对具体的业务逻辑,而不用去考虑具体的数据库操作,降低了系统的耦合性,提高了维护性,并且可扩展性也大大地提高。控制层中最主要的就是Servlet控制器。Servlet是1996年由Sun公司推出的用Java来编写服务器端程序的技术。现在Servlet已经发展到了2.5版本,Servlet已经不再是Java单一的Web编程解决方案,它是Java的WEB编程解决方案中的一种技术。servlet是指在服务器上运行的java程序,处理客户浏览器发送来的请求,需要根据用户的请求来分派视图返回给用户,以此来达到控制的目的。视图层中使用的是JSP网页技术。JSP(JavaServerPages)是由SunMicrosystems公司倡导的,由许多公司共同参与一起建立起来的一种动态网页技术标准。JSP技术使用了Java语言编写类XML的tags与scriptlets,来封装了产生动态网页处理逻辑。网页还能够通过tags与scriptlets访问存在于服务端的资源的应用逻辑。基于MVC的JSP的唯一工作就是视图,就是呈现给用户看的东西。而Struts则是现如今最流行的MVC组件。它是由APACHE公司开发的,最早是作为ApacheJakarta项目的一个组成部分,该项目的目的是希望通过对它的研究,改进与提高JavaServerPages、Servlet、标签库以及面向对象的技术水准。Struts这个名字翻译成中文既是框架的意思,就好比房子需要框架,进行网页应用程序的开发同样需要框架,它能够为整个网页应用的每一层提供支持。它的出现减少了运用MVC模式来开发网页应用的时间。(二)研究主要成果靳秀兰;张晓琳在他们所写的《基于J2EE平台MVC模式的就业管理信息系统的设计与实现 》中向我们详细阐述了MVC模式的工作原理。其中MODEL(模型)完整表现了应用程序使用的对象,封装了所有数据并独立于界面及I/O操作,这样的模型增加了模型的可重用性,编写的模型可为多个视图使用。VIEW(视图)表现为用户界面,它根据模型中的数据及数据关系,将获得的信息以特定形式显示给用户。CONTORLLER(控制器)是联系模型与视图之间的纽带,控制模型和视图之间的交互过程。应用MVC模式分离了数据的控制与显示,从而使开发者更容易协作开发,后台开发人员可以专注业务逻辑的编程,前台开发人员专注于用户交互的界面,从而缩短系统产品的开发周期。各逻辑之间的弱耦合,强独立即提高了效率也增加了可靠性。同时MVC模式分离了数据访问和数据表现,这样既提高了程序代码的可复用性也降低了维护开销。徐明华、邱加永在他们所编著的《Struts基础与案例开发详解》中向我们介绍了Struts的安装方式:一共有两种方式。方式一是从官方获取Struts的jar文件。首先到http://jakarta.apache.org/网站下载Struts,,并将其中的WEBAPPS文件夹中的WAR文件复制到TOMCAT的WEBAPPS文件夹下。方式二是使用IDE自带的驱动包。因为如果开发工具使用的是MYECLIPSE,则可以导入自带的驱动包。因为我使用的开发工具是MYECLIPSE,则我可以使用第二种方式,使用MYECLIPSE自带的驱动包。由李建所写的《JSP技术中监听器组件应用及实例》中向我们介绍了SERVLET监听器及其的作用。上下文参数只能String.不可能把一个对象写入XML部署描述文件中,此时就需要一个监听者(listener),监听一个上下文初始化事件,这样能得到上下文参数,并在应用为客户提供服务之前运行一些代码。由杨俊、李艳梅所写的《JavaScript面向对象编程探析》中向我们介绍了JavaScript的应用,以及几种比较熟悉的JavaScript的编程习惯。JavaScript和Java很相似,但是并不一样。Java是一种比JavaScript复杂很多的程序语言,而JavaScript则是相当容易了解的语言。JavaScript创作者可以不那么注重程序技巧,所以许多Java的特性在JavaScript中并不体现。JavaScript是面向对象的。(三)存在问题 但是再先进的开发模式还是有它的缺陷,由于MVC模型层和视图层要严格的分离开来,给调试应用程序带来了一定的困难,每个部分在使用之间都必须进过彻底的测试,并且MVC模式的分层管理使得我们需要管理的文件比以前更多了,提高了开发的难度。由于MVC模式采用的是分层设计的模式,用户访问的时候采用的是多层调用的方式,因此必定会降低系统的运行速度,影响系统的性能。而Struts虽然能使我们开发MVC的效率提高,但是依旧存在着一些缺点,比如Struts的各部分都耦合在一起,单项功能测试很难进行。并且Struts的页面跳转的配置也较为麻烦。(四)发展趋势当今世界,为了提高合作开发的效率,开发一个网页程序的分工必定变得越来越细,越来越明确,让那些开发员们可以更注重于自己的特长领域进行开发。因此若有新的开发模式出现,也必定是朝着分工专业化的方面发展的。而JAVA类的开发必定会朝着松耦合,高内聚的方向发展。耦合是一个类了解另一个类的程度,如果类A对类B的了解仅限于类B通过其接口公开的信息,那它们就是松耦合的。如果两个类是紧耦合的,当其中一个类发生修改时,可能会影响到另外一个类,于是对于程序的维护将是非常困难的。内聚表示一个类具有单一的,明确的目标的程度。一个类的目标越明确,其内聚性就越好。高内聚的类由于目标明确,被复用的性能高过一般的类,同时更容易维护,并极少会发生修改。因此,对于一个电子商务网站的购物车来说,可扩展性和可维护性是非常重要的。因为既然是一个电子商务的网站,其最终的目的肯定是能够为使用者创造利润。网站的维护费用在成本中还是会占到一定的比重的。同时,由于是电子商务网站,商场如战场,商场的各种因素也是随着潮流的发展经常在进行变换的,因此可扩展性的强弱决定了该企业能否在电子商务领域跟上潮流的步伐。因此我的目的就是要设计并实现一个,可扩展性强,可维护性好的电子商务网站。参考文献[1]刘剑.JSP网站开发与设计[J].电脑知识与技术.2005.14.[2]周祖荣,陈荣珍.基于JSP的招生网站的设计[J].科技信息.2010.01.[3]陈武,卫红萍,刘焕杰.用JSP开发高效的学院网站系统[J].乐山师范学院学报.2010.05.[4]尹强国,庄小叶,张慧如.浅析JSP动态网站开发中文乱码问题的处理 [J].硅谷,2010.14.[5]陈杨杨,黎铭生,黄国际,叶树青.基于JSP+MYSQL的实验教学中心信息资源管理网站的设计与开发[J].电脑知识与技.2010.23.[6]焦广旭,李军杰,梁静,张跃斌,张兴忠.基于JSP技术的WAP网站的设计与实现[J].电脑开发与应.2009.03.[7]徐蕾,陈金有,于生.精品课程JSP教学网站的评价研究[J].软件导刊.2009.08.[8]何文辉.基于JSP的动态网站开发技术[J].吉林省教育学院学报(学科版).2008.08.[9]彭浩,林翠云.基于JSP技术的三层结构商务网站构建[J].福建电脑,2008.10.[10]孙敏燕,黄丽.基于JSP的B2C电子商务网站构建[J].软件导刊.2008.12.[11]余绍霖.基于JSP技术的电子商务网站设计与开发[J].科技资迅,2007.07.[12]邓惠俊,侯整风,郭骏,管正兵.基于JSP的企业动态网站设计与开发[J].全国第19届计算机技术与应用(CACIS)学术会议论文集(上册).2008.06.[13]刘伟,张利国.JavaWeb开发与实战[M].北京科海电子出版社,2008.12.[14]徐明华,邱加永.Struts基础与案例开发详解[M].清华大学出版社,2009.9.[15]杨俊,李艳梅.JavaScript面向对象编程探析[J].办公自动化,2010.4.[16]靳秀兰,张晓琳.基于J2EE平台MVC模式的就业管理信息系统的设计与实现[J].科技信息.2010.2.[17]李建.JSP技术中监听器组件应用及实例分析[J].电脑编程技巧与维护.2010.1.[18]BryanBashamKathySierra&BertBates.HeadFirstServlets&JSP[M]. O'ReillyMedia.August.2004.[19]KathySierra,BertBates.SCJPSunCertifiedProgrammerforJava6[M].McGraw-HillOsborneMedia.2004.8. 本科毕业论文(20__届)电子商城的设计与实现摘要:电子商城的设计与实现是为了建立一个具有高效可维护性和可扩展性的电子商务网站。本文从研究整个系统的流程出发,论述了如何建立一个电子商务网站。本系统采用STRUTS框架和MVC模式开发系统,实现电子商务网站的购物功能。关键词:电子商城;购物;电子商务网站;STRUTS TheDesignandImplementationoftheElectronicsmallSystemAbstract:ThedesignandImplementationoftheElectronicsmallsystemisinordertoestablishaefficientandextensibleE-commercewebsite.Thisarticlestartsfromthestudyofthewholesystemprocess,anddiscusseshowtoestablishaE-commercewebsite.ThesystemusesSTRUTSandMVCmodetodevelopsystem,achievetheshoppingfunctionoftheE-commercewebsite.Keywords:electronicmall;shopping;e-commercewebsite;STRUTS 目录引言1(一)研究的背景与意义1(二)国内外研究现状1一、Struts框架2二、系统需求分析3(一)购物需求分析3(二)各模块需求分析3三、系统整体设计4(一)数据库分析4(一)系统结构分析5四、系统详细设计6(一)数据库详细设计6(二)功能模块详细设计7五、细节设计9(一)Filter过滤器9(二)JDBC数据库连接9六、系统实现配置安装10(一)系统开发工具与环境10(二)相关配置文件10结束语11注释11参考文献11致谢13 引言(一)研究背景与意义百度百科上说电子商务(electroniccommerce;e-Commerce)是基于因特网的一种新的商业的模式,它的特征是商务活动在因特网上以数字化电子方式完成。换句话说就是在网上进行的商务交易活动。它以电子技术为手段,以商务为核心,把原本传统的销售、购物渠道搬到了互联网上来,打破了国家和地区间那些有形或无形的壁垒,使得生产企业达到全球化,网络化,无形化,个性化和一体化。在欧洲一些国家,电子商务的营业占到了整体营业额的四分之一,在美国的一些地区的企业中,电子商务产生的营业额更是达到了总体营业额的四分之一。中国的电子商务开始于1997年,到现在已经走过了14个年头。在这14年中电子商务得到了迅猛的发展。2007年全国的电子商务交易总额达到了2.17万亿元,比上一年增长了90%。网络购物的发展也相当迅速,到2008年6月底,网络购物用户人数达到6329万,半年内增加了36.4%。截至到2008年12月,电子商务类站点的总体用户覆盖已经从9000万户提升至9800万户。电子商务的发展潜力巨大。一个电子商务网站,对于一个开发电子商务市场的企业来说是必不可少的。电子商务网站的高效实用与否是很重要的,一个可扩展性强的网站,使得企业能根据商业的需要而进行随心所欲地增加能容和功能,跟上商业市场发展的步伐,并且一个易于维护网站相对于一个不易于维护的网站来说,可以节省一大笔维护费用。所以一个高效的,实用的电子商务网站可以使企业的利润得到明显增长。(一)国内外研究现状先如今国内外J2EE平台使用的最流行的开发模式是MVC模式,MVC是三个单词的缩写,分别为:模型(Model),视图(View)和控制器(Controller)。MVC模式的目的是为了实现网页中各个系统的职能分工。模型层是为了实现系统中的那些业务逻辑,通常我们会使用JavaBean或者EJB来实现(一般还会将模型层进行细分为几个层次)。视图层是作用于与用户之间的交互活动,既是用户可以直接看到的界面,一般使用JSP来实现。控制器层是模型层和视图层之间沟通的桥梁,它可以分派用户请求并从中选择适当的视图(JSP页面)来返回给用户用以显示,同时它也能够解释用户的输入并将它们映射成为模型层里面的可执行操作。MVC模式的出现不仅仅实现了功能模块和显示模块的分离,同时它还提高了应用系统的可维护性,可扩展性,可移植性和组件的可复用性。大大提高了开发网站的效率。MVC的严格分层制度无形中增加了开发的难度和复杂程度,它需要要一套体系来支持其开发,而Struts就是这样的一套体系,它使得MVC的开发变得简便,节省了开发的时间。26 一、Struts框架Struts是一种开源的MVC组件。它是由APACHE公司开发的,最早是作为ApacheJakarta项目的一个组成部分,该项目的目的是希望通过对它的研究,改进与提高JavaServerPages、Servlet、标签库以及面向对象的技术水准。Struts这个名字翻译成中文既是框架的意思,就好比房子需要框架,进行网页应用程序的开发同样需要框架,它能够为整个网页应用的每一层提供支持。它的出现减少了运用MVC模式来开发网页应用的时间。1.Struts组件Struts的组件包括了Action组件,ActionForm组件,ActionForward组件,ActionMapping组件和ActionServlet组件一共五个组件。它对Model,View和Controller都提供了相应的组件。ActionServlet即为控制器,当用户向服务器端提交请求的时候,请求会先被发送到ActionServlet,一旦控制获得了请求,便会将请求交给一些辅助类来进行处理。它的功能就是将一个来自客户端的URI映射到一个相应的Action类,如果该Action类是第一次被调用,那么就会实例化一个Action类然后放入缓存中。Struts为用户提供了一个ActionServlet的类,用户可以通过继承的方式来改写ActionServlet的处理方式。若不想改写,则只要在配置文件web.xml中配置ActionServlet就可以了。ActionForm的本质上其实是一种JavaBean,是一种专门用来传递数据的DTO(DataTransferObject)。利用ActionForm可以存放临时视图页面中用户输入的一些个表单数据。当用户进行表单提交以后,那些输入的表单数据都会自动填充到ActionForm对象中,供控制层读取。ActionForm同样可以存放模型层产生的数据,返回给视图层。ActionMapping帮助Struts进行框架内部的流程控制,它们可将请求URI映射到Action,并且将Action与ActionForm相关联。ActionServlet在内部使用这些映射,并将控制转移到特定Action类的实例。ActionForward是Struts的核心类之一,它有4个属性,分别是name,path,redirect和classname。当Action操作完毕后程序会通过Struts的配置文件struts-config.xml链接到指定的ActionForward。ActionForward控制着程序的走向。Action是Struts的心脏,也是客户请求和业务操作之间的桥梁。每个Action类通常涉及为客户完成某种操作。一旦正确的Action实例确定,就会调用RequestProcessor的processActionPerform()方法。processActionPerform()会调用Action实例的execute()方法。execute()方法是处理具体业务的方法。26 二、系统需求分析(一)购物需求分析在客户关系管理的理论中,顾客就是上帝,他们是所有利润的源泉,企业如果想发展,想赚取利润,就必须重视顾客。因为现在的生产力水平已经高度发展,已经由买方市场转变成了买方市场,同类企业间的竞争非常厉害。只要你的商品不是你专利特有的,别人就没有必要一定要买你的商品。所以尽量要服务好顾客。1.网络顾客的分类对于网络顾客,一般可以分为几类:第一类顾客我们称之为简单型顾客,简单型顾客是一些平时很少上网的顾客,上网购物的目的仅仅是因为在网上购买比较方便,比较划算。这部分人其实往往占到了网络交易的一半,这也是最大的一个群体。第二类顾客是冲浪型顾客,冲浪型顾客是指那些长时间上网的顾客。他们经常会去浏览一些各种各样的信息,他们往往对新奇的东西都会比较感兴趣。第三类顾客是接入型顾客,接入型顾客是指那些刚刚接触网络的顾客,他们以前很少在网络上购物,喜欢选择一些在现实生活中比较熟悉的品牌。第四类顾客是议价型顾客,他们都希望购买便宜的商品,喜欢讨价还价,当觉得购买这件商品享受到优惠以后,会产生一种满足感。2.网络顾客的需求对于每一种顾客类型,都应该尽可能地满足他们的需要,只有当他们觉得这个网站是他们需要中的那样的时候,他们才会逐渐变成满意客户,最后过渡到忠诚客户。对于简单型顾客,除了商品便宜实惠以外,他们要求最主要的就是网站的方便程度,如果这个网站设计得不科学,不人性化,操作又极为不方便,势必会流失掉这里面的一大部分顾客,所以我们要追求网站的操作方便,人性化。而对于冲浪型顾客,他们经常在网上的目的大多是寻找新奇的东西,因此,网站经常变换内容将很大程度吸引他们来购买商品,而如果一个网站是要经常变换内容和形式的话就必须有很好的可扩展性,可维护性,不然将使得维护和功能的扩展变得十分的困难。对于议价型顾客,他们对优惠之类的东西几乎没有什么免疫的能力,所以要尽量让他们感觉到,他们购买这件商品得到了优惠,以吸引他们的再次购买。对于接入型客户,他们大多对网上购物不是特别的了解,所以要让他们尽可能地了解到网上购物的方便,网上购物的好处。(二)各模块需求分析1.用户注册模块26 通过该模块来实现用户的注册功能,账号是作为客户的唯一的身份识别的标识,便于商城对顾客进行管理。一旦用户完成注册,便拥有了该商城的账号,成为了该商城的会员。用户可以使用这个账号来进行购物,或者管理自己的信息。2.用户登录模块用户的登陆功能模块是用户与网站之间进行交易必须会用到的模块,如果一个用户购买了一件商品,他必须告诉网站他是谁,该商品应该通过物流运送到谁的手中。同样的,当用户要为这件商品付款的时候,用户打开了网上银行为这件商品付了款,但是如果用户没有登陆就付了款,那该商城网站就会只是知道有个银行账号向他汇了钱,但是他不知道这是哪个用户向他汇的钱。这样显然是非常不合理的。因此,当登陆了以后,这一切就变得清晰了。并且,用户登陆了以后再去浏览一些商品,或者将某几件商品放入了购物车,甚至是用户以前购买过什么商品等这些信息便会存入到数据库当中。使得用户下次进入这个网站以后不用为了找不到先前看中但是却没有买的一件商品而再去查找而烦恼,只要他放入了购物车中,下次登陆的时候自然就能找到。一个账号代表着一个顾客,商城通过这样更能够知道大部分顾客喜欢怎么样的商品,同时也使得他们知道他们有些什么顾客,有多少顾客等等,使得能更好地管理自己的顾客。3.购物车模块购物车是一个以电子商务为目的的购物商城中的核心内容,也是最重要的一个模块。用户可以将暂时选购的商品放入购物车当中,在当前的会话中,都会保留该用户的购物车信息,并且用户可以将不需要的商品移除购物车。为了方便用户的删选,购物车对每个进入购物车的商品提供了移除按钮,用户可以随心所欲移除掉不喜欢的商品。若是用户在长时间浏览网页的过程中,将许多的商品放入了用户购物车中,但后来发现都不是非常地合自己的心意,一样样移除又很浪费时间,则可以使用提供的清空购物车的功能,将会移除购物车里的所有商品。购物车中不仅仅只是各种商品的信息的显示,同样需要一个结算的功能,计算出购物车中商品的总价格,而不必用户自己去算,节省了用户的时间,使用户可以掂量下是否需要购买。4.订单模块用户在用户购物车中点击确定购买以后就会跳转到订单生成页面,这里将会让你填写一些地址信息,联系方式,邮编等。并且一旦订单用户付钱,订单生效,则该订单自动会存入数据库中,若要差看这些购买到的商品,则进入订单查看,这就是一个订单的列表。三、系统整体设计(一)数据库分析通过对系统需求进行的分析,该系统总共需要4张数据表,分别是G26 oods表,user表,userorder表,ordertransport表。1.user表user表是用户的信息表,该表中存放用户的一些个人信息,包括用户名,密码,用户的真实姓名,用户所处的城市,用户的联系地址,用户所处地的邮编,用户的证件类别,用户的证件号码,用户的电话号码,用户的邮箱,用户的累计消费额,用户的会员等级,该用户会员等级所能享受的折扣,用户是否被冻结等信息。2.goods表goods表是商品表,该表中存放商品的一些信息,包括商品名,商品所处的大类,商品所处的小类,商品的实物图片名,商品的单价,商品的简介,以及该商品是否是新品,或者该商品是否是特价商品,并且该商品的累计销售额。3.cart表cart表是用户的购物车表,用以存放用户购物车中的信息,包括编号,使用该购物车的用户名,商品的名称,商品的单价,商品的数量,会员优惠后的总价。这里所说的商品总价是指单件商品的总价,即为商品单价乘以数量并且进行折扣后的价格,并不是所有商品的总价。所有商品的总价只是为了方便用户的设计,并没有太多的实际的意义,所以没有存入数据库的必要。4.order表order表是订单表,里面存放着所有用户购买商品后生成的订单信息。商城进行发货的信息就是通过这张表提炼出来的,包括订单编号,用户名,用户真实姓名,用户的电话号码,用户的联系地址,用户的邮编,用户的支付方式,发货使用快递的种类,商品的名称,商品的单价,商品的总价,商品的数量,折扣的多少,订单的备注,订单生成的日期以及该订单是否被执行等信息。(二)系统结构分析本论文采用的是MVC模式,使得其有很好的扩展性和可维护性,并以Struts框架技术来支持MVC的实现,以提高开发效率。1.视图层在视图层方面,使用的是JSP技术,一般情况下你可以在JSP中插入程序段,可以实现业务逻辑java代码,也可以是Java脚本代码JavaScript.但是在MVC模式中必须很严格地进行功能的分离,视图层中不能包含任何业务逻辑的Java代码,它要做的工作只有一个,那就是显示。JSTL(JSPStandardTagLibrary,JSP标准标签库)是一个不断完善的开放源代码的JSP标签库,它的出现也很好地支撑了JSP的显示功能。JSTL中包含了大量标签,能满足大部分的显示工作。如果要使用JSTL,则必须将jstl.jar和standard.jar文件放到classpath中。2.模型层26 在模型层方面,是实现一些业务逻辑。为了让模型层获得更好的可维护性和可扩展性,一般将模型层进行继续细分。我将模型层分成持久层(persist),实体层(entity),业务层(biz)。他们所关注的,所侧重的方面各不相同,持久层(persist)主要是一些对于数据库的操作,主要是对各种数据表的增删查改。实体层(entity)主要存放一些事物的实体对象,也就是一些JavaBean,JavaBean中有该对象的各种私有属性,并且用全局的set,get方法对属性的设置和调用进行打包,提高了属性的安全性。业务层(biz)是一些具体业务逻辑功能封装,它通过对持久层的调用,实现业务逻辑。3.控制器层在控制器层方面,因为采用的是Struts框架,因此控制层的核心组件是ActionServlet。首先容器会根据客户端浏览器发送的请求类型(post或者get)选择调用doPost()或者是doGet()方法,在其中调用ActionServlet的process()方法。Process()会获得RequestProcessor对象,然后再调用RequestProcessor对象的process()方法。Process()方法会读取配置文件struts-config.xml,在该文件中查找子元素,查找方式是:用户请求的URI与action元素的path属性值一样,找到后确定name属性,根据name找到元素,再根据action元素的name匹配值找到对应的ActionFormbean。调用ActionFormbean的填充器setter方法填充FormBean的属性,然后调用FormBean的validate()方法,对表单数据的有效性进行验证。 RequestProcessor的process()方法根据找到的中的type属性寻找Actionbean对象,然后将FormBean对象,封装的请求对象等信息发给找到的Action对象,Actionbean调用自己的execute()方法处理。Actionbean的execute()方法执行完璧后,返回一个ActionForward对象,又回到RequestProcessor对象的process()方法,process方法将根据ActionForward请求重新定向到指定的页面。四、系统详细设计(一)数据库详细设计表user:字段名称类型说明usernamevarchar(20)用户名passwordvarchar(20)密码truenamevarchar(20)用户真实姓名cityvarchar(20)用户所在城市lianxidizhivarchar(20)用户联系地址postnumvarchar(20)邮编zhengjianleibievarchar(20)用户证件的类别zhengjianhaomavarchar(20)用户证件的号码26 telvarchar(20)用户的电话emailvarchar(20)用户的邮箱表goods:字段名称类型说明daleinamevarchar(20)商品大类名称xiaoleinamevarchar(20)商品小类名称picturevarchar(20)商品图片名称goodsnamevarchar(20)商品名称goodspricevarchar(20)商品单价goodsjianjievarchar(20)商品简介sfxpvarchar(20)商品是否新品sftjvarchar(20)商品是否特价商品xiaoshouevarchar(20)商品累计销售额表cart:字段名称类型说明idvarchar(20)编号usernamevarchar(20)用户名goodsnamevarchar(20)商品名称goodspricevarchar(20)商品单价goodstotalpricevarchar(20)商品总价goodsnumvarchar(20)商品数量表order:字段名称类型说明idvarchar(20)编号usernamevarchar(20)用户名truenamevarchar(20)用户真实姓名telvarchar(20)用户电话lianxidizhivarchar(20)用户的联系地址postnumvarchar(20)邮编checkstylevarchar(20)付款的方式transstylevarchar(20)送货的方式goodsnamevarchar(20)商品名称goodspricevarchar(20)商品的单价goodstotalpricevarchar(20)商品的总价goodsnumvarchar(20)商品的数量rebatevarchar(20)用户所享受的折扣datevarchar(20)订单生成的日期beizhuvarchar(20)商品的备注zhixingvarchar(20)订单是否已经发货26 (二)功能模块详细1.用户注册模块register.jsp将用户填写的注册的表单信息,例如用户名,密码,邮箱等发送给action包中控制器UserAction中的userRegister方法,userRegister方法会调用业务逻辑biz包中的UserBiz接口下的由UserBizImpl实现的register方法,并且获得返回值,返回值为一个boolean值,若返回值为true则为注册成功,否则为注册失败。若用户登陆成功,则UserAction分配首页index.jsp给用户。UserBiz接口下的register方法会调用UserDAO接口下由UserDAOImpl实现的queryAll方法,queryAll方法会查询数据库中的user表,并返回一个存有User信息的List数组。register方法会对该数组进行遍历,并与表单信息中的用户名进行比较,若该用户名存在则返回false,代表注册失败,若该用户名不存在,则调用调用UserDAO接口下由UserDAOImpl实现的addUser方法,并返回true。addUser方法会接收用表单信息填充的User对象作为参数,并且把该用户信息存入user信息表。2.用户登陆模块left.jsp将用户填写的登陆表单信息,即用户名,密码发送给action包中的控制器UserAction中的login方法。login方法会调用业务逻辑biz包中的UserBiz接口下的由UserBizImpl实现的login方法,并且获得返回值,返回值是一个boolean值,若返回值为true则登陆成功,否则注册失败。若用户注册成功,则为用户创建会话,并且将用户信息存入该会话属性中,同时UserAction分配首页index.jsp给用户。UserBiz接口下由UserDAOImpl实现的login方法会调用UserDAO接口下的由UserDAOImpl实现的queryByUsername(username)方法,queryByUsername(username)方法会根据所传递的username参数查询数据库中的user表,若存在该User则返回一个存有User信息的User对象。否则返回一个空的User对象。login方法会对User对象是否为空进行判断,若不为空,则将传递进来的登陆表单信息中的密码与该User对象中的密码进行比较,若两者的值相等,则返回true,否则返回false。3.购物车模块26 登陆后的用户点击任意一件商品的购买按钮,则会将该物品的名称发送给action包中的控制器CartAction中的addToCart方法。addToCart方法会调用biz包中的CartBiz接口下由CartBizImpl实现的addToCart方法,获得返回值,返回值是一个boolean值,若返回值是true则添加成功,否则添加失败。若添加成功则为该会话的属性中添加购物车信息。并GoodsAction分配购物车页面cart_see.jsp给用户。cart_see.jsp中会以列表的方式遍历该用户会话中的购物车信息。并且可以对任意一条信息进行删除操作。biz包中的GoodsBiz接口下由GoodsBizImpl实现的addToCart方法会调用persist包中的GoodsDAO接口下的由GoodsDAOImpl实现的queryByGoodsname方法,返回一个Goods对象。再调用persist包中的CartDAO接口下的由CartDAOImpl实现的addCart方法,将物品信息存入cart表。并返回true,否则返回false。4.订单模块在购物车页面cart_see.jsp中点击去收银台结账,则会将该会话属性中的购物车信息发送给action包中的控制器OrderAction中的addToOrder方法。addToOrder方法会调用biz包中的OrderBiz接口下的由OrderBizImpl实现的addToOrder方法,获得返回值,返回值为一个boolean值,若返回值为true,则添加成功,否则添加失败。若添加成功则OrderAction分配首页index.jsp给用户。biz包中的OrderBiz接口下的由OrderBizImpl实现的addToOrder方法会调用persist包中的OrderDAO接口下的由OrderDAOImpl实现的insert方法,将订单信息存入order表。五、细节设计(一)Filter过滤器Servlet过滤器(Filter)是从Servlet2.3版本开始增加的内容。过滤是实现了javax.servlet.Filter接口的类,经过在配置文件web.xml配置以后,它可以过滤WEB应用中所有的Servlet,JSP以及其他的静态内容。使用了过滤器以后,用户请求到达所请求的文件之前,过滤器会对其进行拦截,增加新的处理,处理完成后再执行请求文件。过滤器中都会有3个方法init(),destroy()和doFilter()。init()方法在WEB容器刚生成过滤器对象时候调用,主要完成对过滤器初始化工作。destroy()方法是在过滤器被销毁的时候由Web容器调用的。用以释放过滤器对象占用的资源。doFilter()方法是过滤器中最核心的方法,它能够接收ServletRequest,ServletResponse和FilterChain类型的三个参数。对于本文中使用的过滤器的作用主要是设定传输参数的编码,request.setCharacterEncoding(“utf-8”);是为了防止读取参数内容乱码,它在很多JSP页面或者Servlet中都需要,因此我们可以通过一个过滤器的设计对所有需要进行参数编码的地方都能够使用,避免了这部的繁琐的操作。同样提高了程序的内聚性。我们首先创建一个CharacterEncodingFilter的类让其实现Filter接口,并重写其中的核心方法doFilter()。在doFilter()方法中,加入request.setCharacterEncoding(“utf-8”);完成对该类的编写。并且在web.xml中配置需要过滤的文件。(二)JDBC数据库连接26 JDBC技术定义了对数据库操作的通用接口,使得JAVA程序能够操作不同的数据库中的数据。在进行mysql数据库的驱动包的配置以后,首先需要注册数据库的驱动程序。通过java.lang.Class类的forName()静态方法动态加载mysql驱动程序的类,Class.forname(com.mysql.jdbc.Driver),这个类会自动通过DriverManager.registerDriver()方法向DriverManager中注册;然后我们可以通过DriverManager类的getConnection()方法获得对于数据库操作的Connection类型的对象。六、系统实现配置安装(一)系统开发工具与环境下载MYECLIPSE8.5,安装至F:IDEMyEclipse8.5目录下,工作环境目录为F:wy。1.下载JDK1.6,安装至F:IDEJAVA目录下。2.打开MyEclipse-Window-Preferences-Java-InstalledJREs,将F:IDEJAVAjre6加入JRE目录。3.下载Mysql5.0.22免安装版本解压缩至C盘根目录,并将文件夹名改为Mysql。4.运行CMD,cdmysqlbin进入mysql的bin目录,mysqld-nt–install将mysql注册为本地的服务(mysqld-nt–remove为取消注册),netstartmysql启动mysql(netstopmysql为停止mysql)。(可以运行中输入services.msc进行查看是否启动)。5.对于未安装在C盘根目录中的Mysql,该方式只能注册却无法启动。6.下载mysql的JDBC驱动,放入mysql的lib文件夹中。7.打开MyEclipse-window-showview-other-DBBrowser,进入DBBrowser-new,进入数据库连接驱动设置:Drivertemplate:MysSQLConnector/J.Drivername:bysj.ConnectionURL:jdbc:mysql://127.0.0.1:3306Username:rootDriverJARs:C:Mysqllibmysql-connector-java-5.1.6-bin.jarDriverclassname:com.mysql.jdbc.Driver9.将mysql的JDBC驱动JAR包复制到F:wybysjWebRootWEB-INFlib中。10.下载TOMCAT5。0,解压缩到F:IDE,并将文件夹改名为tomcat。11.打开MyEclipse-Window-Preferences-Tomcat5.x进行配置:Tomcathomedirectory:F:IDEtomcat.Tomcatbasedirectory:F:IDEtomcat.Tomcattempdirectory:F:IDEtomcattemp.Tomcatsercer:Enable.TomcatJDKname:jdk1.6.0_10TomcatJDKhome:F:IDEJavajdk1.6.0_1026 (一)相关配置文件1.struts配置文件struts-config.xml2.数据库连接配置文件xx.properties3.数据库操作配置文件lg.sql4.WEB容器配置文件web.xml结束语本系统所关注重点是电子商城的购物功能的设计与实现,基本的功能已经实现。通过这个网站的开发,基本了解和掌握Struts2的应用。系统并不完善,但是却为后续的开发或者扩展提供了很好的基础。注释:①徐明华,邱加永.Struts基础与案例开发详解[M].清华大学出版社,2009.9.②刘伟,张利国.JavaWeb开发与实战[M].北京科海电子出版社,2008.12.参考文献:[1]刘剑.JSP网站开发与设计[J].电脑知识与技术.2005.14.[2]周祖荣,陈荣珍.基于JSP的招生网站的设计[J].科技信息.2010.01.[3]陈武,卫红萍,刘焕杰.用JSP开发高效的学院网站系统[J].乐山师范学院学报.2010.05.[4]尹强国,庄小叶,张慧如.浅析JSP动态网站开发中文乱码问题的处理[J].硅谷,2010.14.[5]陈杨杨,黎铭生,黄国际,叶树青.基于JSP+MYSQL的实验教学中心信息资源管理网站的设计与开发[J].电脑知识与技.2010.23.[6]焦广旭,李军杰,梁静,张跃斌,张兴忠.基于JSP技术的WAP网站的设计与实现[J].电脑开发与应.2009.03.[7]徐蕾,陈金有,于生.精品课程JSP教学网站的评价研究[J].软件导刊.2009.08.[8]何文辉.基于JSP的动态网站开发技术[J].吉林省教育学院学报(学科版).2008.08.[9]彭浩,林翠云.基于JSP技术的三层结构商务网站构建[J].福建电脑,2008.10.[10]孙敏燕,黄丽.基于JSP的B2C电子商务网站构建[J].软件导刊.2008.12.[11]余绍霖.基于JSP技术的电子商务网站设计与开发[J].科技资迅,2007.07.[12]邓惠俊,侯整风,郭骏,管正兵.基于JSP的企业动态网站设计与开发[J].全国第19届计算机技术与应用(CACIS)学术会议论文集(上册).2008.06.[13]刘伟,张利国.JavaWeb开发与实战[M].北京科海电子出版社,2008.12.26 [14]徐明华,邱加永.Struts基础与案例开发详解[M].清华大学出版社,2009.9.[15]杨俊,李艳梅.JavaScript面向对象编程探析[J].办公自动化,2010.4.[16]靳秀兰,张晓琳.基于J2EE平台MVC模式的就业管理信息系统的设计与实现[J].科技信息.2010.2.[17]李建.JSP技术中监听器组件应用及实例分析[J].电脑编程技巧与维护.2010.1.[18]BryanBashamKathySierra&BertBates.HeadFirstServlets&JSP[M].O'ReillyMedia.August.2004.[19]KathySierra,BertBates.SCJPSunCertifiedProgrammerforJava6[M].McGraw-HillOsborneMedia.2004.8.26

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
关闭