网络购物系统及其网站设计与实现_第1页
网络购物系统及其网站设计与实现_第2页
网络购物系统及其网站设计与实现_第3页
网络购物系统及其网站设计与实现_第4页
网络购物系统及其网站设计与实现_第5页
已阅读5页,还剩69页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

华中师范大学汉口分校

院系名称:信息科学与技术学院 专业名称:计算机科学与技术年级:2006级学生姓名:程正雍学号:2006911004指导教师:蒋天发(教授)定稿日期:2010年5月12日毕业设计(论文)任务书毕业设计(论文)题目:网上购物系统的设计与实现设计(论文)的基本内容:本次设计将要开发一个属于Web信息服务的子系统,它是关于电子公告系统部分的研发,包括后台管理系统的总体方案设计和开发。在开发中将选择JSP+JavaBean+SOLServer2000的模式,以实现应用程序逻辑和页面显示分离,使界面设计更简单。主要功能将有:1、用户浏览商品页面,自我选择若干感兴趣的商品信息进行查询;2、用户发布购买信息,并对商品订单进行查看、撤销、发货、完成等处理;3、管理员对商品和订单进行管理,如新增、删除、修改及商品的分类等;4、管理员对用户进行管理;5、一般交流区和友情链接等。毕业设计(论文)专题部分:题目:设计或论文专题的基本内容:学生接受毕业设计(论文)题目日期第1周指导教师签字:年月日网上购物系统的设计与实现摘要随着社会的不断发展,科学技术也在不断的更新。Internet作为新型的工具,在90年代便开始用于商业,它的迅速的发展为商业界提供了更加广阔信息平台与更多的商机,如催化剂一般刺激着商业经济的快速发展。因此选择设计开发一个企业门户网站拥有重要的意义。本文阐述了网上购物系统的开发与设计。设计采用现在比较流行的JSP网站开发技术,并考虑到网站所处理的数据的结构特点及所学到的知识,应用MicrosoftSQLServer2000数据库系统作为网站的后台数据库。系统实现了网站的基本功能,包括客户的注册登录、浏览网站信息、信息查询、购物并填写订单以及管理员对于网站的维护与更新。在页面设计与制作中,对于页面的基本格式,使用HTML语言出大的框架,然后用Dreamweaver8及Eclipse在框架里面做详细的设计。结合这次设计的意义对Internet在商业中的应用与发展做一下介绍;然后针对整个系统进行分析,其中包括可行性分析、需求分析、系统的业务流程分析、数据分析等;在此基础上确定网站的功能目标,将网站的功能逐次划分,并细分出子功能模块;接下来设计并实现各个模块,在每个模块都能完成其功能的结果下将其综合成一个完整的系统。关键词:网上购物;JSP;HTMLDesignandImplementationofInternetShoppingSystemAbstractToday,thesciencetechniquesdevelopveryfast.PeoplevaluedtheE-businessusingthemodernnetworkproceedsthebusinessactivityasthekeypowermoreandmore.TheBusinesstoCustomermodeisoneofthemaintrademodesonthenetofelectroniccommercr.Now,theBusinesstoCustomerfieldisinthestageofthebeginning.Thisisgooddevelopmentforegroundforthemarket.Therefore,itismeaningforustodesignanddeveloptheelectroniccommercewebsite.Thispaperdetaildescribeshowtodevelopanelectroniccommercewebsite.Inthedesign,IusedtheJSPtechnologywhichisverypopularduringthewebsitedeveloper.ConsideredwiththeknowledgethatIhavelearnedandthestructureofthedatethatthewebsitedealwith,IusedMicrosoftSQLserver2000asthebackdatabaseofthewebsite.Thiswebsitesystemhasbasicfunctionsofaenterprisewebsite.Itcanshowustheinformationofthegoods、news、customersthatregisteredonthewebsiteandsoon.Italsocanprovidesthefunctionthatsomecustomersonthewebcanfillinbillswhentheywanttobuythegoods.Thesystemrealizedthequeryfunctionforproductsandthemanagefunctionsforthebackgroundofthesystem..Duringtheprocessofdesigningthewebpage,ImakethemainframebyHTML,anduseDreamweaver8andEclipsetofinishthedetaileddesign.First,ImakeainstructionfortheapplicationanddevelopmentofInternetincommerce,thenanalyzethewholesystem,whichincludesfeasibilityanalyze,requirementanalyze,operationflowanalyzeanddateanalyze.ThenImakethefunctionaimofthiswebsitebaseontheanalysesabove,anddividethefunctionuptoseveralparts.Idesigneverysinglepartofthefunctionparticularly,andfinallyintegratethesesub-functionmodulestoonecompletesystem.Keywords:OnlineMart;JSP;HTML目录毕业设计(论文)任务书 I摘要 IIAbstract III第1章引言 11.1课题的背景、目的与意义 11.2国内外现状 11.3研究(设计)内容 21.4论文的组织结构 3第2章相关技术简介 52.1JSP技术 52.2MicrosoftSQLServer2000 52.3Web服务器 62.4连接数据库与JavaScript 92.5CSS层 9第3章系统分析 113.1可行性分析 113.2需求分析 123.2.1业务需求分析 123.2.2用户需求分析 123.2.3功能需求分析 123.3业务流程分析 133.3.1前台业务流程分析 133.3.2后台业务流程分析 143.4数据流程分析 143.5运行环境及开发工具 15第4章系统总体设计 174.1系统结构设计 174.2功能模块设计 174.2.1前台模块的功能模块设计 184.2.2后台管理模块的功能模块设计 194.3数据库设计 194.3.1E-R图 204.3.2基本表设计 23第5章系统实现 275.1程序设计 275.2系统页面的设计与实现 275.3前台功能模块的实现 275.3.1用户管理模块 285.3.2用户资料修改模块 315.3.3购物车模块 335.3.4订单查询模块 365.3.5留言板模块 365.4后台功能模块的实现 385.4.1管理员登录模块 385.4.2添加商品模块 395.4.3订单信息管理模块 415.4.4查询用户信息模块 425.4.5添加链接模块 43第6章系统调试与实施 456.1系统测试原理及测试原则 456.1.1系统测试原理 456.1.2系统测试原则 466.2系统测试的方法 466.3本系统测试 47第7章结论 51参考文献 52致谢 54引言课题的背景、目的与意义计算机网络的出现带给了世界巨大的变化,从过去只面向专业部门的信息传送扩展到现代生活的各个角落,它为世界的发展和变革做出了无可估量的贡献。特别是在二十世纪九十年代,美国政府提出“信息高速公路”计划并付诸于实施以后,网络渐渐的从人们极少了解的领域来到了全世界平常人的生活中。在互联网日益流行的今天,网络是主角,是时代的宠儿。在网络大家族中,电子商务则是一个热点。电子商务一个最基本体现就是网上购物,从一定程度上讲它就是网上超市,也就是一种网上销售。“网”字意味着它具有信息时代的快捷方便等特征。事实上电子商务的出现,给消费者的地位,消费观念带来了重要的变化。自我国加入WTO后,越来越多的传统企业进一步认识到企业经济发展的必然趋势是以网络化、全球化为主要特征。而企业实行电子商务则成为企业发展与国际接轨的必要条件。多年来国家十分重视企业的信息化建设,并做了大量工作,但目前企业开始实施信息化的比例还不到20%。所以电子购物网站的实现是一个非常迫切的需求。现代的网络,已经经历过迅速发展的时期,他的技术也已经相当成熟。因此,依靠网络技术来架设一个网站会在很多方面得到相关的支持。作为信息传输的媒介,它的高速,海量,及时与可接受的可靠性满足了现代人们对于需求的渴望。现在的网络对于人们来说,已经可以不再是单单获得信息的意义,更反应了现代人生活的理念,更为重要的是成为企业与政府传达思想,介绍自身的平台。因为现代社会愈发的依赖于网络,特别是“万维网”,为企业或政府量身设计一个网站被默认为必不可少的事情。国内外现状伴随着Internet的蓬勃发展,网络购物中心作为电子商务的一种形式正以其高效、低成本的优势,逐步成为新兴的经营模式和理念,人们已不再满足于信息浏览和发布,而是渴望着能够充分享受网络所带来的更多的便利。的确,客户足不出户便可以方便快捷的选购自己喜欢的商品,这正是网络购物中心为客户带来的好处。敏锐的网络商家当然不会错过这样绝好的机会,越来越多的网站投身到提供网络购物服务的行列中来,一个基于Internet的全球电子商务框架正在形成。在美、日等信息化程度较高的国家和地区,网络商店发展速度迅猛,美国的世界级超一流的零售商,如沃尔玛凯玛特,家庭仓储、科罗格、J.C培尼等纷纷挤身于网络经商的行列。调查表明:美国的家庭已越来越习惯于在家中从网上购物。

在我国,网上购物从无到有也不过短短几年时间。我国第一家网上购物发生在1996年,燕莎友谊商场首次通过网上商城售出一个景泰蓝,虽然货款的支付不是在网上进行的,但这毕竟为我国零售业奏出了网上购物的先声。根据CNNIC的统计结果,截止2004年1月中国有互联网用户7950万人,而又有40.7%以上的网民在过去的一年里有过网上购物经历,这就说明中国有网上购物的用户达是3235.7万人,并且这一数字还在以17%左右的速度增长,到2006年中国网上购物用户将达到6962万人,这说明在中国发展网上购物具有良好的群众基础,网上购物方式日趋被大家所接受。在最近一段时间里,我也查了一些关于网上购物的信息。有60.4%的网站属于企业网站,可见如今企业都将网站作为推广自己的重要手段。其次是个人网站。而政府部门的网站占到4.4%。但是,另有调查显示,将近75%的企业的网站每天的点击率在200次以下,更有51.5%的企业网站的点击率不足50次,仅有8.6%的企业网站的点击率每天超过1000次。这说明,做好一个网站,做出网站的特色也企业信息与新闻相结合来吸引人观看是一个非常重要的问题。另外,作为信息、新闻传播的传统模式的报刊业也将目光和精力投入到网络网站上来。毫无疑问,高速,海量的信息传输对报刊业也是巨大的刺激。2005第五届中国网络媒体论坛中提出到“顺应数字化潮流,地方报业踏上网上之路”。此外,随着电子时代的迅速发展,MP3等电子产品已受到广大的消费群体高度的关注。生产制造MP3的厂商作为新时代产业的一个主要部分,当然也会紧随着时代的发展来使自己在市场与行业中更具竞争力。利用电子商务的模式,在介绍推广自己的同时,以新的一种渠道销售自己的产品,也愈发被关注。因此,设计一个具有电子商务功能的企业网站具有非常好的开发与应用前景。研究(设计)内容这次设计实现了一个网上购物网站。网络购物中心所承载的信息量大、购物流程比较繁琐,而且互联网中日益肆虐的黑客和病毒对网络的安全性提出了更高的挑战。开发出的网络购物中心系统基于Windows2000Server中文企业版服务器和SQLServer2000数据库,采用国际先进的JSP进行开发,具有很高的稳定性和安全性。网络购物中心真正实现了在Internet上的经营销售,从而使其获得更大的市场机遇及经济效益,很大程度地提高了企业的核心竞争力。这个网上购物系统所需要的功能从用户角度进行划分,可以分为前台用户功能和后台管理功能。用户功能主要提供给购物的用户使用,包括用户的注册、登录,购物车,查看订单等;后台管理功能主要提供给系统的管理人员使用,包括对用户、商品、订单的管理。用户注册后,登陆网站的用户可以在线查看、订购产品,并可在论坛中与其他用户进行交流及提出意见等。这些部分用JSP设计页面及连接,使用数据库来建立相关的表,以便于对其进行查看、修改或删除。在网站设计中,管理员完成对网站的维护与管理的工作。使用数据库中权限的功能对管理员设置权限,管理员可以对商品信息进行新增,修改及删除,也可以对订单信息进行处理,同时管理员也可以对用户信息进行管理。论文的组织结构本文分为七章,通过对这个网站的分析、设计与实现的过程的全面介绍来展示系统的全部特性。第一章绪论描述了课题的背景、目的与意义,介绍了国内外现状,进而总结出此次研究工作的内容。第二章是在系统设计中的一些相关技术简介。第三章系统分析首先从几个角度分析了系统开发的可行性。阐述了系统在实际应用中的价值,然后进行了需求分析、网站业务流程分析和数据流分析。第四章的系统总体设计在明确了系统设计原则下,进行了功能模块设计。接着进行数据库设计,首先针对系统中的数据设计出实体间的关系,然后描述了数据库中基本表的设计。第五章的系统实现阐述了系统页面及其逻辑功能的实现,重点描述了前台与后台的各个功能模块的实现过程,对主要的原理和技术进行了详细的说明,并列出了一些典型的逻辑的程序流程图进行说明。第六章系统调试与实施介绍了系统的各项调试指标,分析了调试的过程和结果。第七章结论分析了系统的一些主要的优、缺点,开发此系统的过程中所遇到的困难。最后是参考文献和致谢。参考文献中列出了本次毕业设计中所用到的参考资料和文中所引用到的定义与解释的出处。致谢中对在本次毕业设计中给予指导和帮助的老师和同学表示由衷的感谢。相关技术简介JSP技术本系统采用JSP技术开发。因为JSP与同类的CGI、ASP、PHP相比有着独特的优势。JSP是Sun属下Javasoft公司推出的技术,使用的Java语言是ASP、PHP和JSP三者中最新的技术。它以JavaServlet技术为基础,又在许多方面作了改进,并且充分借鉴了ASP和PHP一些合理的地方。它的平台无关性胜过ASP技术,而强大的JDBC数据库接口规范又优于PHP技术,而且JSP技术是以JAVA语言为基础的,可以使用JavaBeans组件和自定义标签,因此具有良好的扩展性。总的来说,JSP业已成为目前主流的动态网页开发技术之一。JSP的优点如下:(1)借助JSP技术,Web网页设计人员可以使用HTML或者XML标记来设计和风格化Web页面,使用JSP标记来生成动态Web页面。在服务器端,JSP引擎负责解释JSP标记和脚本,生产请求的内容,然后将结果以HTML页面等形式发送回浏览器。这样开发者可以保护自己的核心代码,同时可以保证任何Web浏览器的高度兼容性。(2)JSP页面可借助可重用的、跨平台的组件(JavaBean),来执行Web应用所要求的极为复杂的业务处理。能够共享和交换调用一般操作的组件,或者让这些组件被别的开发人员或者开发团队所使用。(3)通过开发定制化的标签库等方法,JSP技术可以支持动态扩展技术。(4)作为Java2的一个重要组成部分,JSP技术能够支持高度复杂的、基于Web的企业级应用。JSP技术可以轻松地与现有多种应用体系架构整合,可以充分利用已有开发工具和技巧,并扩展到企业级分布式应用环境。此外,JSP技术无论是在跨平台特性、运行效率、企业级软件开发还是商业支持方面都具有优势,从而使其成为目前和未来进行动态网页开发的最佳工具之一[1]。MicrosoftSQLServer2000这次网站的设计选用MicrosoftSQLServer2000作为后台数据库。数据库为db_business。SQLServer2000是一项全面完整的数据库与分析产品。从借助浏览器实现的数据库查询功能到内容丰富的扩展标记语言(XML)支持特性均可有力地证明,SQLServer2000为全面支持Web功能的数据库解决方案。与此同时,SQLServer2000还在可伸缩性与可靠性方面保持着多项基准测试纪录,而这两方面特性又都是企业数据库系统在激烈市场竞争中克敌致胜的关键所在。SQLSERVER2000还推出了一组复杂的新安全特性:强大而灵活的基于角色的服务器、数据库和应用程序配置安全性;集成的安全性审核工具可以跟踪18个不同的安全事件及其子事件;精密的文件和网络加密支持,包括SSL(安全套接字层)。SQLServer2000已经通过美国政府C2级安全性认证,具备目前业界最高等级的安全性[6]。对比SQLServer2000和其他的大型数据库管理系统,SQLServer2000具有可靠的安全性,更快的存储速度,高度的兼容性,因此,应用SQLServer2000作为后台数据库为系统的开发提供了强有力的支持,并对以后软件的运行提供了坚实的基础。Web服务器Web服务器负责JSP文件的执行。目前支持JSPd应用服务器较多,如Tomcat、Resin、Websphere、Weblogic、Jboss等。TomcatTomcat是Apache公司组织开发飞一种JSP引擎,由于自身具有Web服务器,可以作为独立的Web服务器使用。如今,基于Web的应用越来越多,传统的Html已经满足不了如今的需求。我们需要一个交互式的Web,于是便诞生了各种Web语言。如Asp,Jsp,Php等。当然,这些语言与传统的语言有着密切的联系,如Php基于C和C++语言,Jsp基于Java语言。Tomcat即是一个Jsp和Servlet的运行平台。Tomcat是一个免费的开源的Serlvet容器,它是Apache基金会的Jakarta项目中的一个核心项目,由Apache,Sun和其它一些公司及个人共同开发而成。由于有了Sun的参与和支持,最新的Servlet和Jsp规范总能在Tomcat中得到体现。Tomcat被JavaWorld杂志的编辑选为2001年度最具创新的java产品,可见其在业界的地位。Tomcat最新版本是4.0x.4.0x与3.x的架构不同,而是重新设计的。Tomcat4.0x中采用了新的Servlet容器:Catalina,完整的实现了Servlet2.3和Jsp1.2规范。Tomcat提供了各种平台的版本供下载,可以从上下载其源代码版或者二进制版。由于Java的跨平台特性,基于Java的Tomcat也具有跨平台性。与传统的桌面应用程序不同,Tomcat中的应用程序是一个WAR(WebArchive)文件。WAR是Sun提出的一种Web应用程序格式,与JAR类似,也是许多文件的一个压缩包。这个包中的文件按一定目录结构来组织:通常其根目录下包含有Html和Jsp文件或者包含这两种文件的目录,另外还会有一个WEB-INF目录,这个目录很重要。通常在WEB-INF目录下有一个web.xml文件和一个classes目录,web.xml是这个应用的配置文件,而classes目录下则包含编译好的Servlet类和Jsp或Servlet所依赖的其它类(如JavaBean)。通常这些所依赖的类也可以打包成JAR放到WEB-INF下的lib目录下,当然也可以放到系统的CLASSPATH中,但那样移植和管理起来不方便。在Tomcat中,应用程序的部署很简单,你只需将你的WAR放到Tomcat的webapp目录下,Tomcat会自动检测到这个文件,并将其解压。你在浏览器中访问这个应用的Jsp时,通常第一次会很慢,因为Tomcat要将Jsp转化为Servlet文件,然后编译。编译以后,访问将会很快。另外Tomcat也提供了一个应用:manager,访问这个应用需要用户名和密码,用户名和密码存储在一个xml文件中。通过这个应用,辅助于Ftp,你可以在远程通过Web部署和撤销应用。当然本地也可以。Tomcat不仅仅是一个Servlet容器,它也具有传统的Web服务器的功能:处理Html页面。但是与Apache相比,它的处理静态Html的能力就不如Apache.我们可以将Tomcat和Apache集成到一块,让Apache处理静态Html,而Tomcat处理Jsp和Servlet.这种集成只需要修改一下Apache和Tomcat的配置文件即可。另外,Tomcat提供Realm支持。Realm类似于Unix里面的group.在Unix中,一个group对应着系统的一定资源,某个group不能访问不属于它的资源。Tomcat用Realm来对不同的应用(类似系统资源)赋给不同的用户(类似group)。没有权限的用户则不能访问这个应用。Tomcat提供三种Realm,1:JDBCRealm,这个Realm将用户信息存在数据库里,通过JDBC获得用户信息来进行验证。2:JNDIRealm,用户信息存在基于LDAP的服务器里,通过JNDI获取用户信息。3:MemoryRealm,用户信息存在一个xml文件里面,上面讲的manager应用验证用户时即使用此种Realm.通过Realm我们可以方便地对访问某个应用的客户进行验证。在Tomcat4中,你还可以利用Servlet2.3提供的事件监听器功能,来对你的应用或者Session实行监听。Tomcat也提供其它的一些特征,如与SSL集成到一块,实现安全传输。还有Tomcat也提供JNDI支持,这与那些J2EE应用服务器提供的是一致的。说到这里我们要介绍一下通常所说的应用服务器(如WebLogic)与Tomcat有何区别。应用服务器提供更多的J2EE特征,如EJB,JMS,JAAS等,同时也支持Jsp和Servlet.而Tomcat则功能没有那么强大,它不提供EJB等支持。但如果与JBoss(一个开源的应用服务器)集成到一块,则可以实现J2EE的全部功能。既然应用服务器具有Tomcat的功能,那么Tomcat有没有存在的必要呢?事实上,我们的很多中小应用不需要采用EJB等技术,Jsp和Servlet已经足够,这时如果用应用服务器就有些浪费了。而Tomcat短小精悍,配置方便,能满足我们的需求,这种情况下我们自然会选择Tomcat.基于Tomcat的开发其实主要是Jsp和Servlet的开发,开发Jsp和Servlet非常简单,你可以用普通的文本编辑器或者IDE,然后将其打包成WAR即可。我们这里要提到另外一个工具Ant,Ant也是Jakarta中的一个子项目,它所实现的功能类似于Unix中的make.你需要写一个build.xml文件,然后运行Ant就可以完成xml文件中定义的工作,这个工具对于一个大的应用来说非常好,我们只需在xml中写很少的东西就可以将其编译并打包成WAR.事实上,在很多应用服务器的发布中都包含了Ant.另外,在Jsp1.2中,可以利用标签库实现Java代码与Html文件的分离,使Jsp的维护更方便。Tomcat也可以与其它一些软件集成起来实现更多的功能。如与上面提到的JBoss集成起来开发EJB,与Cocoon(Apache的另外一个项目)集成起来开发基于Xml的应用,与OpenJMS集成起来开发JMS应用,除了我们提到的这几种,可以与Tomcat集成的软件还有很多。Tomcat确实是一个很好的工具,不仅仅因为其免费,功能强大,更因为其开放性。如今,开源软件越来越收到人们的重视,Linux就是一个成功的典型[11]。ResinResin是目前最流行的支持JSP和Servlet的Web服务器之一,它被誉为JSP最快的解释器,而且,目前的Resin可以支持Sun的J2EE,这一点Tomcat暂时是做不到的。Resin对静态页处理能力相对较弱,为了更好的发挥特性,通常,它都与Apache组合使用,这样的组合可以架构出功能十分强大的站点。WeblogicServerWeblogic是BEA公司开发的墓前最流行的Web应用服务器之一,它拥有处理关键Web应用系统问题所需的性能,具备很高的可扩展性和可用性,而且在与BEAWeblogicCommerceServerTM配合使用时,可为部署适应性个性化的电子商务应用系统所需的多种特色和优势:领先的标准全面支持EJB、JSB、JMS、JDBC、XML、和WML。无限的可扩展性包括客户机的连接共享,资源Pooling以及动态网页和EJB组建群集。部署灵活WeblogicServer的特点是与领先的数据库、操作系统和Web服务器集成。在本次设计中,选择使用的是Tomcat服务器。连接数据库与JavaScriptJDBC(JavaDataBaseConnectivity)是sun公司制定的Java链接数据库技术。在安装好数据库后JSP并不能直接与数据库连接[8],这里选择利用第三方JDBC驱动程序连接数据库。在项目开发中,如果频繁在JSP页面中使用数据库连接函数,释放函数进行操作的话,势必会非常麻烦,而且代码的冗余量也很大,页面很多的时候维护也会非常麻烦,页面上到处都是数据库连接和释放代码。因此,可以利用公共数据库访问连接JavaBean的开发。通过将数据库连接函数代码,释放函数代码等封装在JavaBean中,可以减少非常多的代码编程工作,提高代码可维护性。在加载了JDBC驱动程序,建立了数据库的URL后,创建一个Condb.java的文件,通过调用DriverManager类的getConnection方法与db_Business数据库连接。在getConnection方法的实现中,声明数据库名称为db_Business。这样,在其他的Java文件和页面中声明调用或包含了Condb.java文件后,都可以对数据库操作了。JavaScript也叫小脚本语言,是一种基于对象和事件驱动并具有安全性能的脚本语言,使用它的目的是与HTML超文本标识语言、Java脚本语言一起实现在一个网页中链接多个对象,与网络客户交互作用,从而可以开发客户端的应用程序。它是通过嵌入或调入在标准的HTML语言中实现的[9]。CSS层CSS层叠样式表(CascadingStyleSheet)是一系列格式规则,它们控制网页内容的外观。使用CSS可以非常灵活并更好地控制具体的页面外观,从精确的布局定位到特定的字体和样式。并能极大的方便网页制作的工作[7]。这次设计中就学习使用了CSS层叠样式表,在HTML文文档外部将一系列CSS规则存储到一个.CSS文件中。例如创建了一个名为body的选择器。利用它来统一设计网站内网页背景及外部框架的样式。在声明中规定了页面的背景、滚动条的颜色样式等。还用.br和.wenbenkuang两个选择器确定输出文本框时的样式。由于CSS已经规定声明部分中的属性及其取值范围,所以对于我这样初学者的难点就是如何找到合适的属性来实现页面设计。系统分析可行性分析可行性分析是在全面调查基础上,针对新系统的开发是否具备必要性和可能性,对新系统的开发从技术、经济、运行的方面进行分析和研究,以避免投资失误,保证新系统开发成功。可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决。这部分将从以下四个方面进行研究:技术可行性、经济可行性、操作可行性和调度可行性。(1)技术可行性因为计算机硬件的发展已经越来越快,现在PC机的性能已经可以胜任普通网站的web服务器。购买一台高性能PC机作为企业的网站对于这个营销商来说并不是问题。JSP是Java在Internet/IntranetWeb上的重要应用技术,可以和各种Java技术完好的结合在一起从而实现非常复杂的应用。因此得到了广泛的支持和承认,成为一种非常流行的网站开发技术。利用JSP技术可以建立先进、安全和跨平台的动态网站。鉴于JSP技术的成熟与广泛的使用,加以指导老师的帮助可以得到很多的技术支持。由于在学习数据库时一直以SQLServer作为例子,所以采用MicrosoftSQLServer2000作为数据库的后台。(2)经济可行性根据调查的资料,现在聘用一支团队设计并建设企业商务型网站的费用为5300元左右,另外每年交纳600元占用网站空间和网站维护费。为了使网站建成后能达到增加企业经济效益的效果,寻找一支创新与技术优秀的团队最多需要增加3000元的一次性投资。这样看来一个成功的网站建成后为这个营销商带来的效益将会远大于成本。但架设好一个网络中的服务器,以满足互联网中浏览者对速度的需求,这样每年服务器与网络线路和设备的维护费用将是企业不得不重点考虑的因素。如何做好经济可行性分析,需要通过仔细的调查与投资和行业方面的专业人士分析。(3)操作可行性如今,计算机与网络已经非常地普及。特别是在企业信息化高需求与快速发展的时代,计算机应用已经成为企业员工必备的技能。由于这个课题是以PC机作为服务器的网站,营销商可以自己对网站进行操作和管理。需求分析商务系统随着中国经济的高速发展发生了巨大的变化。专做营销的中小型企业随着百姓个人消费水平的增长迅速成长起来,但同时也带来了这一行业激烈的竞争。业务需求分析网站的制作已经不单单是把企业想要表达的内容摆放在网站上那么简单,当今的网站设计包含了更多的设计元素,给予浏览者更多的视觉享受。现在企业营销商需要用一些更新颖更有效的方式增强竞争力。建设一个宣传自身商品形象的电子商务营销模式的网站是一种有效的方法。另外,通过电子商务网站,广阔自己的营销方式和市场,能够帮助企业营销商从鱼龙混杂的市场中脱颖而出,完善企业销售与服务的环节,最终提升企业的价值与经济效益。用户需求分析这个网站以上面的业务需求为基础,进一步提出网站需要完成的以下任务:网站需要让供应商、客户以及浏览者能看到商城的信息及动态,另一个重要的内容就是能够显示出该商城现有的各类型商品及其详细信息;由于消费者的需求在增长和变化,商城在面对面销售的基础上也要随之发展出相应的服务,如在线订购等技术。另外,企业营销商除了能与普通客户一样浏览网站之外,还需要对网站进行管理。企业需要定期更新现有商品的详细信息、商城动态和联系方式,必要时还要对企业的介绍做更改。对于消费者通过网站提交的各种订单能够进行处理以方便销售。功能需求分析根据上面的需求分析,需要设计出网站的前台与后台。用户在前台所浏览的内容,网站的后台需要能相应的做出更新或修改。根据以上的想法,设计出网站的功能:前台用户相关功能主要包括:用户注册、登录;购物车;订单查询;个人资料修改;发布留言。后台管理相关功能主要包括:添加商品;处理订单;查询用户信息;添加连接;管理公告信息。将以上这些功能制作成网页以后,在其中分别互相建立连接,基本完成商城及用户对网站的要求。业务流程分析将上面的需求分析进行归纳。得出网站的两个业务主角,即用户与管理员。然后制定他们的相关活动。对应网站的功能可以确定,用户活动对应网站前台业务流程;管理员活动对应网站的后台业务流程。在对业务流程分析中,尽量把业务主角的活动考虑全面,使系统的功能尽量完整。前台业务流程分析前台业务主要面向客户。用户可以浏览网站主页、商品的介绍和一些服务信息。前台业务流程如图3.1所示。客户商品信息浏览客户商品信息浏览购物车修改资料查看订单留言板浏览商品清单订购订单提交存档添加留言留言提交修改资料提交存档存档图3.1前台业务流程图后台业务流程分析在网站设计中,管理员完成对网站的维护与管理的工作。使用数据库中权限的功能对管理员设置权限,管理员可以对商品及商品分类的信息进行新增,修改及删除,也可以对订单信息进行查看、撤销、发货、完成等处理,同时管理员也可以对用户信息进行管理。流程图如图3.2所示。管理员维护网站管理员维护网站取出订单网站信息提交网站信息存档受理订单订单提交存档图3.2后台业务流程图数据流程分析在分析了系统的业务流程之后,就要分析系统的数据流,为后面设计网站的数据库做好基础。这里主要利用数据流程图来说明数据流程。数据流程图是一个图示工具,容易理解,容易在开发和用户方之间进行交流,以及在开发组织内部交流。因此数据流程图作为一种模型工具已经广泛使用在软件工程的实践中[5]。根据前台业务流程,可以将用户的活动分为两类。用户浏览所使用到的数据归纳为站内信息,如商品信息等。而用户提交的订单则作为网站的订单数据。相应的,根据后台业务流程,管理员对网站内容的添加、更新和删除等所操作的数据定义为商城信息。网站数据流的总体图如图3.3所示。管理员用管理员用户用户0网站系统站内信息订单数据商城信息图3.3网站数据流的总体图进一步分析网站的数据流程,得到网站数据流程的零级图,如图3.4所示。用户用户站内信息管理员更新商品信息更新用户信息生成订单显示信息用户信息存储商品信息存储用户订单处理用户订单用户信息订单内容信息商品信息订单商品的更新数据商品信息用户信息用户信息处理信息订单信息存储处理后的订单订单信息图3.4网站数据流的零级图上面得到的零级图并不是整个网站数据的详细流程图。它只是将网站的数据流进行了一下分类。例如将商城信息分为了商品信息、分类信息和用户信息。在零级图的基础上还可以将每一个处理的细节描述出来,从而画出细节图。运行环境及开发工具操作系统:Windows2000。数据库:SQLServer2000。Web应用服务器:Tomcat5.0。开发工具:Eclipse3.1.2以上版本,Dreamweaver8。系统总体设计系统结构设计根据业务流程,需要将网站划分为前台、后台和数据库。前台中,客户在登录网站主页后即可链接查看到商品等信息,还可以做订购商品等活动。为了方便客户搜索感兴趣的商品信息,将商品搜索嵌入到主页面中。数据库将要作为网站后台重要的组成部分,管理员的主要操作几乎全部围绕数据库,最后将更新的数据要显示给前台。前台是一个比较大的功能群,它所包含的信息不仅数量多,而且种类不同。将它设计成比较优化的结构形式能组织好网站的信息内容并将其归类,方便用户获得所需要的信息。其中每一部分都以尽量少的内容显示,以免浏览者看的眼花缭乱而失去耐心。除了这些作用外,设计好前台的结构形式,也是为后面程序的编写做出了框架。在为系统划分功能模块,并以模块为单位来实现设计时也是以这个结构为根基的。系统的后台要对整个网站的信息和数据进行维护。网站前台所显示的信息在后台都应该有对应的维护。这样,除了设计后台的各个管理界面外,为了方便管理员的工作,可以将各个管理的界面结合到一个页面中。因此,各个管理的界面会作为主管理界面的分支。在设计好网站前台与后台的结构以后,就将数据库加入到结构中。后台将更新的数据写入到数据库中,前台再将数据库中的信息取出来并显示。功能模块设计层次模块结构是将系统划分为若干子系统,子系统下再划分为若干的模块。而模块是指具备有输入输出、逻辑功能、运行程序和内部数据四种属性的一组程序。在结构化系统设计中,模块一般都是按功能划分的,通常称为功能模块。合理的功能模块的划分能够极大限度地减少重复劳动、提高开发工作的效率并增大系统的可维护性。以前面的系统分析为基础,将系统分为两大模块,即前台模块和后台模块。网络购物中心的功能结构如图4.1所示。网络购物中心后台部分网络购物中心后台部分前台部分用户管理购物车管理订单管理个人资料管理留言板管理管理员身份验证商品管理处理订单用户信息管理公告信息管理链接信息管理图4.1网络购物中心功能结构图前台模块的功能模块设计前台模块主要为登陆网站的用户提供商品和服务的信息,填写并提交订单的服务。这样,将前台模块再细分为用户管理模块、订单查询模块、购物车模块、修改个人资料模块、留言板模块。顾名思义,这些模块的名称基本概括了它们的功能。下面详细说明一下这些功能模块的设计:(1)用户管理模块:为了方便于网站的管理,必须由一套完整的用户管理体系。该网站用户管理模块主要实现用户的注册、登录、找回密码3方面功能。(2)购物车模块:在超市购物,可以根据自己的需要将很多种商品挑选至购物车或购物篮中,然后到收银台结款。而在网上虚拟的商城中,当然没有办法使用真正的购物工具,因此,通常都会采用一种被称为“购物车”的技术来模拟现实生活。在网上商城中,所选商品须通过购物车进行暂存,然后生产订单。这种技术使用起来十分方便,不但可以随时添加、查看、修改、清空购物车中的内容,还可以随时去收银台结款。(3)订单管理模块:用户提交订单后,通过产生的订单号查询订单信息及执行状态。只需要根据用户录入的订单号在数据表中查询处对应的货品信息即可。(4)个人资料管理模块:用户资料修改时为用户更改个人信息所提供的窗口,为了保护用户信息部受非法侵害,用户只有登录网页后才有权限修改个人资料。(5)留言板管理模块:留言板是一个商务网站中不可缺少的组成部分,它可以增进用户与网站之间的交流。在现实网络开发中存在着各种各样的留言板,但它们都由基于浏览留言板及添加留言板2部分组成。这样,子模块各自的内容基本设计好。下面可以设计如何将这些模块组织在一起,构成一个结构比较合理的前台了。除了在主页中建立面向其他模块的链接外,也要在其他模块中建立返回主页面的链接。另外各个模块间也应该互相链接起来。后台管理模块的功能模块设计后台管理模块的功能是对站内的资源进行管理和维护。以后台的业务流程分析和前台各个模块的设计为基础、根据用户的需求分析来确定后台管理模块应具有的功能。后台管理模块的各个子功能模块如下:管理员身份验证模块:为合法用户提供一个后台入口。该模块的功能是对管理员身份进行能够验证。用户输入登录ID和密码后,系统将判断登录ID及密码的有效性,如果通过验证则状态后台主页,反之则提示错误。商品管理模块:向商品表插入前台首页展示的商品信息,也就是添加商品信息的功能。处理订单模块:网站管理者对用户订单的执行和编辑状态。用户信息管理模块:查询注册所有用户,对一些非法或失信用户进行删除操作。公告信息管理模块:网站向用户发布最新公告信息。链接信息管理模块:管理员向前台首页添加友情链接信息。数据库设计数据库是数据库应用程序的重要组成部分。一个设计结构合理的数据库对于应用程序的开发效率和程序的性能都是非常重要的。数据库的设计过程大致如下:根据用户需求,确定数据库中要保存的数据信息。对用户需求进行分析时数据库设计的第一个阶段。不断的调查与研究用户需求,了解企业运作流程等系统需求,使设计概念模型的基础。设计数据库的概念模型。概念模型是按用户的观点来对数据建模,使用与进行信息世界建模的工具。它对整个数据库的设计具有深刻的影响。逻辑结构设计。逻辑结构是把概念结构转化为与所采用的数据库管理系统所支持的数据模型相符合的过程。数据库的实施和维护。在设计好前台与后台的功能模块后,就开始进行数据库的设计了。根据网站系统的分析,数据库是整个网站的核心。从前台显示的信息到后台操作的对象,都是围绕数据库展开的。E-R图E-R图是一种概念模型。概念模型实际上是现实世界到机器世界的一个中间层次。概念模型用于信息世界的建模,是显示世界到信息世界的第一层抽象,使数据库设计人员进行数据库设计的有利工具,也是数据库设计人员和用户之间进行交流的语言,因此概念模型一方面应该具有较强的语义表达能力,能够方便、直接的表达应该用众的各种语义知识,另一方面他还应该简单、清晰并且易于用户理解[7]。以下是各个数据表的实体图。(1)商品信息表tb_Ware的实体图商品信息货物编号商品信息货物编号发布时间货物介绍货物价格货物名称是否推荐图片路径货物类型图4.2商品信息表tb_Ware的实体图(2)用户信息表tb_User的实体图用户信息用户ID用户信息用户ID用户密码用户地址用户名密码问题真实姓名电子邮箱联系电话注册时间答案图4.3用户信息表tb_User的实体图(3)留言信息表tb_Text的实体图留言信息主题ID留言信息主题ID电子邮箱主题名称留言内容发布时间作者姓名图4.4留言信息表tb_Text的实体图(4)订单生成表tb_Sub的实体图订单生成信息订单编号订单生成信息订单编号其他运送方式邮编定购日期真实姓名用户名电子邮箱地址付款方式订单核对联系方式图4.5订单生成表tb_Sub的实体图(5)订单商品表tb_Shop的实体图订单商品信息订单号订单商品信息订单号货物名称货物价格货物数量统计图4.6订单商品表tb_Shop的实体图(6)超级链接表tb_Link的实体图超级链接信息链接名超级链接信息链接名链接网址发布时间图4.7超级链接表tb_Link的实体图(7)管理员信息表tb_Admin的实体图管理员信息管理员ID管理员信息管理员ID管理员名管理员密码图4.8管理员信息表tb_Admin的实体图(8)公告信息表tb_Affiche的实体图公告信息公告内容公告信息公告内容公告时间图4.9公告信息表tb_Affiche的实体图(9)总体E_R图用户购买用户购买商品n1支付订单n1发表留言1n修改用户信息11图4.10总体E-R图基本表设计表的设计是这次设计的一个核心内容。根据前面对网站前台与后台功能模块的分析和对数据库中实体关系的设计,可以看到网站中所用到的数据信息基本包括:商品信息、用户信息、留言信息、订单信息、超级链接信息、管理员信息、公告信息等。下面是为数据库设计的表:商品信息表tb_Ware商品信息表tb_Ware用来保存商品的基础信息。结构如表4.1所示。表4.1tb_Ware的结构字段名称数据类型长度是否允许空是否为主键字段描述WareidInt4否是货物编号WarenameVarchar50否否货物名称WarepriceBigint8否否货物价格WaretypeVarchar20否否货物类型WareintroText16否否货物介绍WareimageVarchar50否否图片路径WareifInt4否否是否推荐DattimeDatetime8否否发布时间用户信息表tb_User用户信息表tb_User用来保存用户信息。表tb_User的结构如表4.2下。表4.2tb_User的结构字段名称数据类型长度是否允许空是否为主键字段描述UseridInt4否是用户IDUsernameVarchar50否否用户名RnameVarchar40否否真实姓名UserpassVarchar16否否用户密码EmailVarchar50否否EmailAddressVarchar80否否用户地址PhotoVarchar30否否联系电话QuestionVarchar50否否密码问题ResultVarchar50否否答案DattimeDatetime8否否注册时间留言信息表tb_Text留言信息表tb_Text用来记录留言信息。表tb_Text的结构如表4.3所示。表4.3tb_Text的结构字段名称数据类型长度是否允许空是否为主键字段描述TextidInt4否是主题IDUsernameVarchar20否否作者姓名EmailVarchar50否否EmailDattimeDatetime8否否发布时间TextnameVarchar50否否主题名称TextgutText16否否留言内容订单生成表tb_Sub订单生成表tb_Sub用来记录新生成的订单。表tb_Sub的结构如表4.4所示。表4.4tb_Sub的结构字段名称数据类型长度是否允许空是否为主键字段描述SubVarchar50否是订单编号UsernameVarchar20否否用户名RnameVarchar50否否真实姓名SpdateDatetime8否否订购日期EmailVarchar50否否EmailAddressVarchar80否否地址PostVarchar50否否邮编PaymentChar12否否付款方式PhotoVarchar30否否联系方式CarryVarchar30否否运送方式SpifInt4否否订单核对OtherText16否否其它订单商品表tb_Shop订单商品表tb_Shop用来记录某一订单中所定购的商品的详细信息。表tb_Shop的结构如表4.5所示。表4.5tb_Shop的结构字段名称数据类型长度是否允许空是否为主键字段描述SubidVarchar50否否订单idWarenameVarchar50否否货物名称PriceBigint8否否货物价格WsumBigint8否否货物数量WcountBigint8否否统计超级链接表tb_Link超级链接表tb_Link主要用于记录调价的超级链接信息。表tb_Link的结构如表4.6所示。表4.6tb_Link的结构字段名称数据类型长度是否允许空是否为主键字段描述LnameVarchar50否否链接名LaddressVarchar50否否链接网址LdatetimeDatetime8否否发布时间管理员信息表tb_Admin管理员信息表tb_Admin主要用于记录管理员的信息。表tb_Admin的结构如表4.7所示。表4.7tb_Admin的结构字段名称数据类型长度是否允许空是否为主键字段描述IdInt4否否管理员IDAdminVarchar30否否管理员名AdminpassVarchar16否否管理员密码公告信息表tb_Affiche公告信息表tb_Affiche主要用于记录后台调价的公共信息。表tb_Affiche的结构如表4.8所示。表4.8tb_Affiche的结构字段名称数据类型长度是否允许空是否为主键字段描述TestText16否否公告内容DattimeDatetime8否否公告时间系统实现在上一章着重讨论了系统各个模块功能的设计,并详细分析了每一个模块的功能。在本章将具体讨论如何实现功能模块,最终实现整个系统。经过这个阶段的设计工作,应该得出对目标系统的描述,从而在编码阶段可以把这个描述直接翻译成用JSP网页设计语言书写的程序。程序设计本系统设计的网站在设计过程中包含页面(HTML)的设计以及客户端验证机制(JavaScript)的设计。JavaScript也叫小脚本语言,他是一种非常流行的动态网页技术。他不仅能够实现网页的动态效果,而且能够在一定程度上检测网页的错误,从而在一定程度上实现网站的安全。本系统应用服务器端JSP动态网页技术,以及在Serverlet和JavaBean的可重用组件技术的支持下,结合客户端动态网页技术Javascript以及与HTML的无缝结合的设计,从而方便系统的实现[10]。系统页面的设计与实现如果将网站比作一个人的话,服务器就像大脑,数据库就像五脏六腑,其内嵌的Java和JavaScript组合起来就像是细胞与神经,而网页就是这个人的皮肉。网页将网站的各个组成部分包裹起来,形成易懂并且美观的外表展示给大家。浏览者登陆网站后看到的就是一个个网页的组合。所以设计和实现每一个网页也是非常重要的工作。随着科技的高速发展,众多网页制作的应用软件应运而生。相对于传统的动态网页开发工具而言,由于继承了Java语言的许多优点,用JSP开发动态网站十分方便,开发效率较高。此外,JSP还具有强大的组件(JavaBean)支持功能,可以方便地实现组件复用,进一步提高了开发效率。在整个网页的制作过程中,都是结合使用HTML语言来实现设计的。系统的页面设计决定了网站的风格,制作好的网站不仅提供给营销商,更多的要供浏览者浏览。所以整个网站系统应注重的是:易导航性、易操作性和友好的交互界面。因此,网站的设计最好要简洁、明了、格调清新、实用、易于使用和维护。在页面的风格上应保持统一,这里采用CSS样式表将所有页面的字体、字号、颜色以及超链接的样式做统一定义。前台功能模块的实现整个系统分为了前台功能模块和后台功能模块。下面详细讨论主要的几个功能模块的程序实现。在每个模块的介绍中,将具体说明一些涉及要点。前台功能模块分为用户管理模块、订单查询模块、购物车模块、修改个人资料模块、留言板模块5个部分。前台首页主要有以下几个部分:(1)网站导航:主要用户显示网站的旗帜广告、各功能模块导航;(2)用户登录:用户在此注册、登录或找回密码;(3)商品分类搜索:用户按商品类别进行搜索显示;(4)销售排行榜:按照商品的销售数量显示销售排行信息;(5)商品展示区:按后台添加商品的时间顺序展示商品;(6)友情链接:显示友情链接信息;(7)后台登录入口:管理员可以通过该入口登录后台。首页运行结果如图5.1所示。图5.1首页运行结果用户管理模块用户管理模块主要实现用户的注册、登录、找回密码等功能。用户注册当用户第一次登录时首先要在网站上注册,成为会员用户才可以在网站上购物,注册页面必须填写一些用户的基本信息,如用户名、密码、联系电话等信息。要注意的是,在用户注册页面user/index.htm中用户自定义JavaScript检验用户注册信息不允许为空。用户注册页面user/index.htm如图5.2所示。图5.2用户注册页面运行结果为了便于网站对用户的管理,在index.htm用户注册页面接收到的注册信息要经过严格的过滤,保证注册用户名的唯一性,在提交表单后需要对数据表中的数据进行查询,如果没有找到,则在插入数据表时提示注册成功,否则提示此用户已被占用请重新注册。用户注册的流程图如图5.3所示。开始否开始否是是结束接收注册信息数据是否为空两次密码是否一致查询数据库用户名是否被占用是否否注册成功注册失败图5.3用户注册系统流程图2、用户登录用户登录窗口设置在首页上,主要用来接收用户录入的用户名及密码。单击“注册”按钮时,会提交到user/index.htm页面执行;单击“登录”按钮时,系统将对输入的用户名和密码进行验证,如果数据表中用户名和密码存在就显示登陆成功,并返回首页,否则弹出错误提示信息。用户登录的流程图如图5.4所示。开始结束开始结束接收登录信息查询数据库数据是否正确否是登录失败登录成功图5.4用户登录系统流程图3、找回密码当密码以外丢失会给用户带来不必要的麻烦,重新注册一个新的用户即浪费了时间,也浪费网站的资源,如果用户只记住自己注册的用户名及电子邮箱名并提供密码提示的问题和答案就可以找回密码。找回密码页面user/pass.htm如图5.5所示。图5.5找回密码页面运行结果用户单击“查找”按钮,系统会将伤表中所示的数据表单提交到user/res.jsp中。user/res.jsp页用来验证提交过来的四个条件是否完全符合数据库中的查找条件,只有符合才能显示密码结果,否则弹出“你输入信息有误”的提示对话框。用户资料修改模块用户资料修改时为用户更改个人信息所提供的窗口,用户只有登录网页后才有权限修改个人资料信息。用户资料修改模块在前台主页的导航条上,单击“修改资料”链接,进入用户资料修改页面,该页面主要用户修改用户信息。用户资料修改页面如图5.6所示。图5.6用户资料修改页面运行结果个人信息修改完毕后,要将修改后的数据信息更新到注册数据表中,单击“修改”按钮,如果提交的数据无误,将弹出“数据更新成功”的消息对话框;否则将弹出“更新失败”的消息对话框。用户资料修改模块流程图如图5.7所示。开始结束开始结束接收修改资料信息将信息更新到数据库中更新是否成功否是修改失败修改成功图5.7用户资料修改模块流程图购物车模块购物车模块中,主要包含以下几个功能,即:添加购物车、查看购物车、生成订单和清空购物车。购物车页运行结果如图5.8所示。图5.8购物车页面运行结果添加购物车添加购物车就是把用户选中的商品暂时存放在购物车中,当用户在前台首页中单击商品展示区的“购买”按钮时,系统会将该商品的详细信息展示在查看物品清单页面中。用户在单击物品清单页面下方的“放入购物车”链接,便可以将该商品放入购物车中。添加商品的代码流程是从session中读取shop对象,如果为空则说明还没有进行购物或者已经清空了购物车,需要新建购物车对象;将商品名称与购物车列表中的商品名称对比,如果已经存在,则把商品数量加1。在这段代码流程中,还使用了集合类型。集合类型在Java中又称为向量,是一元集合,可以加入重复数据,它的作用和数组相同,可以保存一系列数据,但集合类型也有它独特的优点,就是可以方便地对集合内的数据进行查找、增加、删除和修改等操作。查看购物车为了方便用户随时查看购物情况,在网站的首页加入了查看购物车的链接,通过它可以将用户所有选中的商品信息放入购物车中显示出来。在程序中使用了一组文本框记录用户购买的商品数量,用户可以在文本框中输入想要购买的数量然购单击“修改”按钮。如果欲删除该商品,可以在数量文本框里输入“0”,并需要单击“修改”按钮来更新购物车中商品的数量。系统每次只会将1个商品放入购物车中,如果用户需要多个同种商品,可以通过修改商品信息右侧相应文本框的值来完成。操作完成后需要通过单击“修改”按钮来保存操作。生成订单生成订单时网上购物商城的最终目的,前面所有功能的实现都是为最后生成一个用户满意的订单作基础,在此要生成一个可供用户随时查询的订单号,还要保存用户订单中所购买的商品信息。当用户确认对购物车不再改变以后,就可以到收银台结帐并生成订单。结帐的流程为:从购物车中读取商品名称,商品数量,商品价格信息,生成一个唯一的订单号,同时也把用户注册的基本信息读取出来,形成一个完整的订单写入数据库。在生成订单模块中主要使用了调出用户信息并生成唯一订单号,调出用户信息就是完全的对数据库进行操作,利用session对象把登录后的用户名保存起来,在订单生成时把保存的用户名从数据库的用户标中取出即可;生成唯一订单号方法有很多,只要确保订单号码的唯一性及方便用户记录以便于查询自己订单的执行状态即可。订单生成后,用户单击“提交”按钮,便可以将录入的订单信息保存到数据库中。清空购物车清空购物车是指当用户订单生成后,倘若还想继续购物一定要清空购物车再进行选购商品,这样防止重复购物,其实清空购物车实现起来非常简单,只需要将session中存储的shop对象清空即可。购物车模块流程图如图5.9所示。开始查询数据库开始查询数据库数据是否存在显示商品的信息是是否放入购物车购物车是否为空是没有该商品否否购物车中已存在该商品新建购物车该商品数量加1将商品添加入购物车是否显示购物车信息是否修改商品数量否是否清空购物车是删除购物车中商品是是否继续购物否是否去收银台接收填写的订单信息数据是否为空订单信息存入数据库更新是否成功是否是否是修改商品数量是结束否否否图5.9购物车模块流程图订单查询模块用户提交订单后,通过产生的订单号查询订单信息及执行状态。用户在购物中心首页中单击“订单查询”超链接,就可以进入输入订单号页面,在页面的文本框中输入订单号并单击“提交”按钮,如果订单号输入无误,系统将根据用户录入的订单号在数据表中查询处对应的货品信息并转到订单查询显示页面将货品信息显示出来。订单查询模块流程图如图5.10所示。开始结束开始结束接收订单号信息查询数据库订单号是否存在否是显示出订单信息无该订单号图5.10订单查询模块流程图留言板模块留言板模块由浏览留言板和添加留言板两部分组成。下面分别对这两部分进行介绍。1、浏览留言板单击网站首页的“留言板”超链接进入留言板页面,在该页面中,主要显示用户所填写的留言,以便其他用户查阅。留言板中显示的数据是从数据表中检索出来并显示在网页中的,为了方便查看网页信息,使用了分页显示功能。对网页进行分页显示首先要确定记录跨度,就是每页所显示的记录数,在这个网站的留言板中,设定了intpagesize=4,即每页中只允许显示4条留言信息,用户可以通过单击“上一页”、“下一页”、“最后一页”、“第一页”或则从文本框中键入一个数值跳转到相应页浏览留言信息。记录的总条数可以从数据库中通过查询语句rs.last();rowcount=rs.getRow得到,而计算总页数时,根据总页数=总记录数/跨度,如果除不尽就加1的原理,设计代码为:pagecount=((rowcount%pagesize)==0?(rowcount/pagesize);(rowcount/pagesize)+1)。如果获取文本框中的数据不为空就把它转换成整型数据,然后赋值给当前获取页再做进一步判断;如果获取的页数大于总页数就把总页数赋给获取页数,否则就把获取页数值赋为1。而计算当前记录数时,当前记录数=(获取页数-1)*跨度+1。代码如下所示。intshowpage=1; if(topage!=null){ showpage=Integer.parseInt(topage); if(showpage>pagecount){ showpage=pagecount; }elseif(showpage<=0){ showpage=1; } }rs.absolute((show1)*pagesize+1);有了以上这几个关键变量,网页分页显示功能基本上已经实现了,下一步就是在当前记录数位置开始循环,当数据库没有记录的时候一定要终止循环程序。代码如下:for(inti=1;i<=pagesize;i++){……if(!rs.next()) break;}2、添加留言添加留言是用户与用户,以及用户与网站之间的一种交流模式,只有把用户想要表达的内容添加至数据库中,才能在浏览留言板中进行显示。用户在留言板中单击“添加留言”超链接就可以打开添加留言页面,该页面主要用来提交用户输入的留言信息。用户在添加留言页中单击“提交”按钮,系统会将数据表单提交到admin/addle.jsp页,该页用来实现江留言内容存入到数据库中。留言板模块的流程图如图5.11所示。开始结束开始结束接收添加的留言信息信息存入数据库数据是否为空是否添加留言成功存放是否成功是否添加留言失败查询数据库数据库是否为空是否显示留言信息留言板中没有信息图5.11留言板模块流程图后台功能模块的实现后台功能只允许具有管理员权限的用户使用,它是实现前台功能的基础。后台包括管理员身份验证、添加商品模块、订单信息管理模块、查询用户信息管理模块、添加链接模块、公告信息管理模块。后台首页主要有以下几个部分。(1)后台导航区:放置管理员可操作项目的链接;(2)操作区:显示所有后台导航的链接信息。管理员登录模块在前台首页单击管理员入口,将转到管理员登录页面,该页面的功能是对管理员身份进行验证。在管理登录页面中,是通过JavaScript来实现录入数据完整性验证的。用户输入登录ID和密码后单击“登录”按钮时,如果录入数据完整性验证通过,系统会将数据提交到Acheck.jsp登录页面,该页面用来判断输入信息在数据库中tb_Admin表是否存在提交的用户名和密码,如果登录ID及密码有效,就保存用户名信息,管理员有权对网站进行维护;反之则提示错误。登录页面如图5.12所示。图5.12管理员登录页面运行结果流程图如图5.13所示。开始否开始否是是结束接收登录信息数据是否为空数据是否有效查询数据库否登录成功图5.13管理员登录系统流程图添加商品模块单击导航区中的“添加商品”超链接,系统将打开添加商品页面,该页面主要用于将商品信息添加到数据库中,以提供前台首页商品展示所需要的数据依据。用户单击“添加”按钮后添加商品如图5.14所示。图5.14添加商品信息页面运行结果为了减少人为错误,在提交商品信息时,需要对数据的合法性进行验证,输入的商品价格不能使字符型,而输入的图片只支持Gif格式等,这些任务由脚本语言JavaScript的函数check()来完成。代码如下。 functioncheck(){…… if(form1.image.value==""){ alert("请输入展示图片的路径"); form1.image.focus(); returnfalse; } if(isNaN(form1.wareprice.value)){ alert("商品价格输入不正确"); form1.wareprice.focus(); returnfalse; }为了确保商品在数据表中的唯一性,在用户提交表单时,需要先根据用户输入的商品名称对数据表进行查询,确保此商品在数据表中不存在后,方可执行插入操作。这一功能由admin/wcheck.jsp来完成。流程图如图5.15所示。开始结束开始结束接收商品信息查询数据库数据是否为空是否信息插入数据库是否重复录入是否数据是否正确否是插入是否成功是否添加商品失败添加商品成功图5.15添加商品信息模块流程图订单信息管理模块用户在前台购物所产生的订单并不能立即执行,需要系统管理员在后台进行订单信息管理审核以确认它的执行性。用户单击导航区中的“订单信息管理”超链接进入用户订单处理页面,该页面上会显示近期所有没被处理的订单。用户订单处理页面显示的是用户基本信息,要想知道订单中所涉及的商品,需要单击对应订单号的超链接打开商品订购详单页面才行。商品订购详单主要通过提交的订单号从tb_Shop表中查询处对应的商品并显示在页面中,管理员审核后可通过复选框来设置订单是否执行。程序中利用admin/shop.jsp来完成这些功能。当选中“是/否”复选框时,系统会根据提交的订单号更新数据表,如果更新成功,则转到spif.jsp也执行。流程图如图5.16所示。开始是开始是否查询数据库是结束否显示全部未处理的订单信息是否删除订单数据库是否为空更新数据库更新数据库是否成功删除订单成功没有未处理的订单是否查看订购详单是否执行否更新数据库更新是否成功是是否订单执行成功图5.16订单信息管理模块流程图查询用户信息模块查询用户信息模块用来完成对注册用户的浏览及删除功能。如果用户蓄意性注册或者在很长时间内没有订单产生,管理员就可以将该用户信息删除。单击导航区中的“查询用户信息”超

温馨提示

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

评论

0/150

提交评论