1、 目 录摘 要IIIABSTRACTIV第一章 绪 论11.1课题背景11.2目的和意义11.3系统开发环境21.4B/S结构的数据库访问模式21.5 相关技术简介31.5.1 JSP开发技术简介31.5.2SQL Server 2005数据库简介3第二章 可行性研究52.1技术可行性52.2经济可行性52.3法律可行性62.4运行可行性6第三章 需求分析73.1 前台业务流程分析73.2 后台业务流程分析73.3 数据流程分析8第四章 系统总体设计104.1 系统结构分析104.2功能模块设计114.2.1前台模块的功能模块设计124.2.2后台模块的功能模块设计124.3 数据库设计134
2、.3.1 E-R图144.3.2 基本表设计18第五章 系统详细设计225.1 系统主界面设计225.2系统前台各主要模块的功能设计235.2.1 用户登陆模块的实现235.2.2 新会员注册模块的实现245.2.3 购物车模块的实现265.2.4 商品搜索模块的实现295.3 后台管理模块的实现30第六章 系统测试及性能分析346.1 测试的基本概念346.2 测试步骤356.3 系统测试356.4 系统的性能分析376.5 系统中所存在的问题及解决方案386.5.1 系统的整体设计和规划中的问题386.5.2 开发功能模块所遇到的难点396.5.3 系统中存在的问题及拟定的解决方法39总
3、结41参考文献42致 谢43附 录44II摘 要随着市场经济的逐渐形成,全球化经济已在国内迅速发展起来。以往的销售模式正在受到空前的挑战:人们已经对去固定的场所、购买(出售)固定的物品的交易方式所带来的不便越来越感到不满,交易的时间长、效率低。高额的运费、销售场地的凭租费等繁多的额外开支也给商家带来沉重的成本支出。为了适应市场、适应经济前进的步伐,买家和商家都在努力积极地寻找一种能够带来高效率、低成本销售模式。系统采用JSP作为主要开发语言,Tomcat为系统服务器,SQL Server为系统数据库。JSP、Tomcat、SQL Server为当今主流的网上购物系统的开发技术,无论从系统的兼容
4、性还是可扩展性来看,采用JSP、Tomcat、SQL Server技术将有利于大中型系统的开发和建设。关键词:网上购物系统、网上购物、JSP、SQL ServerAbstractAlong with the gradual formation of a market economy and globalization, the economy has developed rapidly in China. Sales of the previous model is facing an unprecedented challenge: people are increasingly dissa
5、tisfied with the inconvenience of the transaction long time and low efficiency. High freight costs, sales venue rental, etc. With many of the additional expenses also impose a heavy cost to businesses. In order to adapt to the market to adapt to the pace of growth of our economy, buyers and business
6、es are working actively to find a way to bring high efficiency, low cost sales model.JSP is adopted as the main designing language in the developing of this system, Tomcat as the system server and the SQL Server as system database. They are the most important techniques of designing online purchasin
7、g system nowadays. It is facilite the developing and construction of large or medium systems,no matter of the compatibility and expansibility of this system.Keywords:Electronic Commerce, online purchasing, JSP, SQL Server51Shopping online网上购物系统的设计与实现第一章 绪 论1.1课题背景随着计算机技术的发展和网络人口的增加,网络世界也越来越广博,越来越丰富,
8、网上商城已经成为网上购物的一股潮流。互联网已日益成为收集提供信息的最佳渠道并逐步进入传统的流通流域,互联网的跨地域性和可交互性使其在与传统媒体行业和传统贸易行业的竞争中是具有不可抗拒的优势。人们对于互联网技术的要求已不单单是浏览一下网站网页,收发电子邮件,日益忙碌的人们开始追求足不出户就能买到心仪的商品,是越来越多的上网爱好者实现购物的一种方式。对于企业来讲,无论是企业之间(B to B),还是企业和客户之间(B to C)的交易,如果能够实现网上交易将大大提高交易速度节约成本。但是对网络的及时、一对一、跨时间、 跨空间等特性,并没有充分加以利用。在这种形势下,传统的依靠管理人员人工工作传递信
9、息和数据的管理方式就无法满足企业日益增长的业务需求了。因而开发了这样一个具有前后台的系统,以满足购物者和企业的需求。1.2目的和意义无店铺零售的悄然兴起,是商业经济发展到一定阶段的产物,也是顺应新的消费需求和技术进步的必然结果。与传统的百货商店、连锁超市、大卖场、便利店等有形商铺相比,无店铺零售业态具有一定的先天优势。一是地段。对于传统的有形店铺来说,门店的选址、地段的优劣,几乎能够决定其未来经营的成败,而城市中的商业网点资源,尤其是优质商业网点资源通常十分稀缺。无店铺零售则大多不存在地段方面的制约。二是经营成本。借助日益发展的科学技术,无店铺零售通常能够省却从生产到销售过程中的许多环节,从而
10、有效降低经营成本与交易成本,给消费者、商家带来双赢的局面。三是风险。对于个人来说,网上商店等无店铺零售业态的准入门槛相对较低,运转比较灵活,即使遇到风险,也有船小好掉头的优势。专家表示,随着社会经济的发展及消费水平的提高,人们希望得到更加方便、更加快捷的购物方式,同时也乐于尝试各种新的购物方式。在这一市场需求的推动下,企业会对商品零售的方式进行创新,而先进的技术给创新提供了重要支撑与平台。鉴于互联网的优势以及对国内外相关的各销售网站现状的研究分析,我决定开发以基于Web的商城网站作为我的毕业设计主题。立足于设计一个在网络平台上运行的购物支付配送等功能于一体的无店铺网络商城。以小小的力量推动中国
11、互联网的发展。1.3系统开发环境本系统采用B/S结构,前台开发工具为MyEclipse Enterprise Workbench 6.0.0 GA,后台数据库是SQL Server,服务器是Tomcat 6.0.8,软件要求:操作系统为Windows XP或更高,Internet Explorer 5.01 或更高版本,硬件要求:Pentium 133 MHz* Pentium 133 MHz 或更快 128 MB* 256 MB 或更高。1.4B/S结构的数据库访问模式B/S结构是真正的三层结构,它以访问Web数据库为中心,HTTP为传输协议,客户端通过浏览器(Browser)访问Web服务
12、器和与其相连的后台数据库,我们称之为B/S(Browser/Server)模式。其三级结构组成如图1-1所示,图中从左到右,分为三个层次:第一层是客户端即浏览器,主要完成客户和后台的交互及最终查询结果的输出功能。在客户端向指定的Web服务器提出服务器请求,Web服务器用HTTP协议把所需文件资料传给用户,客户端接受并显示在WWW浏览器上;客户端WEB服务器后台数据库客户端图1.1三级结构组成第二层Web服务器是功能层,完成客户的应用功能,即Web服务器接受客户请求,并与后台数据库连接,进行申请处理,然后将处理结果返回Web服务器,再传至客户端;第三层数据库服务器是数据层。数据库服务器应客户请求
13、独立地进行各种处理。与传统的C/S模式相比,B/S结构把处理功能全部移植到了服务器端,用户的请求通过浏览器发出,无论是使用和数据库维护上都比传统模式更加经济方便。而且使维护任务层次化:管理员负责服务器硬件日常管理和维护,系统维护人员负责后台数据库数据更新维护。由以上的比较分析可知,三层结构也可以理解为增加WEB服务器的C/S模式。1.5 相关技术简介1.5.1 JSP开发技术简介JSP是Java Server Page的缩写,是由Sun Microsystems公司倡导、许多公司参与建立一种动态网页技术标准,它在动态网页的建设中有强大而特别的功能。JSP是一种服务器端HTML(或XML)嵌入J
14、ava代码的脚本语言,是开发Web动态网站快速而有效的工具,JSP的技术的优势:1. JSP技术是用Java语言作为脚本语言的。Java语言是成熟的、强大的、易扩充的编程语言。2. 高效性与安全性。JSP在执行前先被编译成字节码,字节码由Java虚拟机解释执行,比源码解释效率高。3. 可维护性。由于JSP技术是一种开放的、跨平台的结构,因此Web服务器、平台及其他组件能很容易升级或切换,且不会影响JSP基本的应用程序。4.稳定性。5.产品的多样性。目前,在国内JSP还是一种较新的技术。但JSP+Servlet+JDBC+JavaBean目前已经成为开发电子商务平台的主流技术。随着国内与国际的接
15、轨,JSP必将成为网站开发技术的首选。1.5.2SQL Server 2005数据库简介SQL Server 2005 是Microsoft 公司推出的SQL Server 数据库管理系统的最新版本该版本继承了SQL Server 7.0 版本的优点同时又比它增加了许多更先进的功能具有使用方便可伸缩性好与相关软件集成程度高等优点可跨越从运行Microsoft Windows 98 的膝上型电脑到运行Microsoft Windows 2005 的大型多处理器的服务器等多种平台使用。SQL Server 2005的兼容性很好。由于今天Windows操作系统占领着主导地的位,选择SQL Serve
16、r一定会在兼容性方面取得一些优势。另外,SQL Server 2005 除了具有扩展性,可靠性以外,还具有可以迅速开发新的因特网系统的功能。尤其是它可以直接存贮 XML 数据,可以将搜索结果以 XML格式输出等特点,有利于构建了异构系统的互操作性,奠定了面向互联网的企业应用和服务的基石。这些特点在.NET 战略中发挥着重要的作用。在使用由Microsoft SQL Server 2005关系数据库引擎的情况下,XML数据可在关系表中进行存储,而查询则能以XML格式将有关结果返回。此外,XML支持还简化了后端系统集成,并实现了跨防火墙的无缝数据传输。你还可以使用Hypertext Transfe
17、r Protocol(超文本传输协议,HTTP)来访问SQL Server 2005,以实现面向SQL Server 2005数据库的安全Web连接和无须额外编程的联机分析处理(OLAP)多维数据集。 Microsoft SQL Server 2005非常明显的改进就是增加了OLAP(联机分析处理)功能,这可以让很多中小企业用户也可以使用数据仓库的一些特性进行分析。OLAP可以通过多维存储技术对大型、复杂数据集执行快速、高级的分析工作。数据挖掘功能能够揭示出隐藏在大量数据中的倾向及趋势,它允许组织或机构最大限度的从数据中获取价值。通过对现有数据进行有效分析,这一功能可以对未来的趋势进行预测。
18、Microsoft SQL Server 2005简化了管理、优化工作,并且增强了迅速、成功的部署在线商务应用程序所需的可靠性和伸缩性。其中,用以提高可靠性的特性包括日志传送、在线备份和故障切换群集。在伸缩性方面的改进包括对多达32颗CPU和64 GB RAM的支持。通过自动优化和改进后的管理特性-诸如数据文件尺寸的自动管理、基于向导的数据库拷贝、自动内存管理和简化的故障切换群集安装与管理,在线商务应用程序能够被迅速部署并有效管理。第二章 可行性研究可行性分析是在全面调查基础上,针对新系统的开发是否具备必要性的可能性,对新系统的开发从技术、经济、运行的方面进行分析和研究,以避免投资失误,保证新
19、系统开发成功,可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决。这部分将从以下几个方面进行研究:技术可行性、经济可行性、法律可行性和运行可行性。2.1技术可行性技术可行性是对现有技术进行评价,分析系统是否可以用现有技术来实施以及技术发展对系统建设有什么影响。新系统可以用现有的技术来实现,针对目前的开发工具而言,新系统比较适合采用流行的WEB开发工具J2EE。这种开发工具非常适合于B/S 结构的应用系统,提供了强大的软件生成器。与其他开发工具相比,J2EE能够支持跨平台客户端应用程序开发的工具,除WINDOWS外,它还支持MACINTOSH和UNIX平台,可提供优秀的报表生
20、成方法和完整的在线帮助以及丰富的INTERNET访问功能和组件特征。J2EE安全可靠,对于开发人员而言开发方便,对于使用人员而言界面友好,开发出来的软件简单易用,掌握方便。开发出的软件易学易用,即便原来没有什么计算机操作基础也会很容易学会使用。2.2经济可行性系统的经济可行性指的是对组织的经济状况和投资能力进行分析,对系统建设、运行和维护费用进行估算,对系统建成后可能取得的社会及经济效益进行估计。但该平台设计只是作为本人的毕业设计,又因为本人的设计能力有限,其功能还不能完善,所以没有什么经济效益可谈。2.3法律可行性该电子商务系统是本人自主开发的网上购物系统,还是个比较粗糙、功能还不完善的系统
21、,开发这个系统不同于开发普通的系统软件,即该系统不同于原来已有的现代化的系统,不存在侵权等问题,本系统开发不会侵犯他人、集体或国家利益,不违反国家法律,因此具有法律可行性。2.4运行可行性操作可行性是指系统对组织机构的影响,现有人员和机构、设施、环境等对系统的适应性以及进行人员培训的补充计划可行性。该系统需要搭建JVM即JAVA虚拟机和Tomcat环境,在此环境下系统,并且在正确连接数据库后可以正常运行。而且从新系统使用难易程度上来看,新系统使用起来并不复杂,界面设计亲切,容易上手,使用起来还是比较方便的。第三章 需求分析软件需求分析工作是软件生存周期中重要的一步。只有通过需求分析才能把软件功
22、能和性能的总体概念描述为具体上的软件需求规格说明,从而奠定软件开发的基础。软件需求分析工作也是一个不断认识和逐步细化的过程。该过程将软件调研阶段的需求资料进行分析和设计,使软件范围逐步细化到详细定义的程度,并分析出各种不同的软件元素,然后为这些元素找到可行的解决办法。本章将从不同角度的需求分析问题,讲述软件需求类型,分析过程,并部分给出了数据字典和数据流图。3.1 前台业务流程分析前台业务主要面向客户。用户可以浏览网站主页、商品的介绍和一些新闻信息。前台业务流程如图3.1所示。商品信息浏览浏览商品清单订购订单用户购物车查看订单修改资料修改资料 图3.1 前台业务流程3.2 后台业务流程分析在网
23、站设计中,管理员完成对网站的维护与管理的工作。使用数据库中权限的功能对管理员设置权限,管理员可以对管理及商品分类的信息进行新增,修改、删除,也可以对订单信息进行查看、撤销、编辑状态等处理,同时管理员也可以对用户信息进行管理。后台业务流程如图3.2所示。管理员维护网站取出订单受理订单网站信息订单提交网站信息 图3.2 后台业务流程3.3 数据流程分析在分析了系统的业务流程之后,就要分析系统的数据流,为后面设计网站的数据库做好准备。这里主要利用数据流程图来说明数据流程。数据流程图是一个图示工具,容易理解,容易在开发和用户之间进行交流,以及在开发组织内部交流。因此数据流图作为一种模型工具已经广泛使用
24、在软件工程的事件中。根据前台业务流程,可以将用户的活动分为两类。用户浏览所使用到的数据归纳为站内信息,如商品信息等。而用户提交的订单则作为网站的订单数据。相应的,根据后台业务流程,管理员对网站内容的添加、更新和删除等所操作的数据定义为商城信息。网站数据流的总体图如图3.3所示。商城信息 0网站系统管理员站内信息用户订单数据 用户 图3.3网站数据流的总体图进一步分析网站的数据流程,得到网站数据流程的零级图,如图3.4所示。 图3.4网站数据流的零级图第四章 系统总体设计 本阶段设计的基本目标是解决系统如何实现问题,也叫做概要设计,本阶段主要任务是划分出系统的物理元素及设计软件的结构,完成软件定
25、义时期的任务之后就应该对系统进行总体设计,即根据系统分析产生的分析结果来确定这个系统由哪些系统和模块组成,这些系统和模块又如何有机的结合在一起,每个模块的功能如何实现。系统设计的目标是使系统实现拥有所要求的功能,同时,力争达到高效率、高可靠性、可修改性,并且容易掌握和使用。总体设计过程通常有两个主要阶段组成:系统设计和结构设计,其中系统设计确定系统的具体实现方案,结构设计确定软件结构。结构化设计技术的核心是模块分解设计,模块上系统结构图的主要元素。其设计思想是,采用自顶向下、逐层分解的方法,先给出总的模块功能,再逐层分解,使其分为多个大小适当,功能明确,具有一定独立性且容易实现的模块,从而把一
26、个复杂的系统设计转变成为多个简单模块的设计。4.1 系统结构分析根据业务流程,需要将网站划分为前台、后台和数据库。前台中,客户在登录网站主页后即可链接查看网站等信息,还可以做订购商品等活动。为了方便客户搜索感兴趣的商品信息,将商品搜索嵌入到主页面中。数据库将要作为网站后台重要的组成部分,管理员的主要操作几乎围绕数据库,最后将更新的数据显示给前台。前台是一个比较大的功能群,它所包含的信息不仅数量多,而且种类不同。将它设计成比较优化的结构形式能组织好网站的信息内容并将其归类,方便用户获得所需要的信息。其中每一部分都以尽量少内容显示,以免浏览者看的眼花缭乱而失去耐心。除了这些作用外,设计好前台的结构
27、形式,也是为后面程序的编写做出了框架。在为系统划分功能模块,并以模块为单位来实现设计时也是以这个结构为基础的。系统的后台要对整个网站的信息和数据进行维护。网站前台所显示的信息在后台都应该有对应的维护。这样,除了设计后台的各个管理界面外,为了方便管理员的工作,可以将各个管理的界面结合到一个页面中。因此,各个管理的界面会作为主管理的分支。在设计好网站前台和后台的结构后,就将数据库加入到结构中。后台将更新的数据写入到数据库中,前台再将数据库中的信息取出来并显示。4.2功能模块设计层次模块结构是将系统划分为若干子系统,子系统下在划分为若干的模块。而模块是指具备输入输出、逻辑功能、运行程序和内部数据四种
28、属性的一组程序。在结构化设计中,模块一般都是按功能划分的,通常称为功能模块。合理的功能模块的划分能够极大限度地减少重复劳动、提高开发工作的效率并增大系统的可维护性。以前面的系统分析为基础,将系统分为两大模块,即前台模块和后台模块。网上购物系统的功能结构如图4.1所示。网上购物平台index.jsp。商品修改用户管理管理者进入新闻管理用户注册商品管理商品添加会员管理新闻修改新闻添加商品名称用户修改会员删除商品搜索网站布局 图4.1 网上购物系统的功能结构4.2.1前台模块的功能模块设计前台模块主要为登陆网站的用户提供商品和服务的信息,填写并提交订单的服务。这样,将前台模块再细分为用户管理模块、商
29、品查询模块、购物车模块、修改个人资料模块。顾名思义,这些模块的名称基本概况了它们的功能。下面详细说明一下这些功能模块的设计:(1)用户管理模块:为了方便于网站的管理,必须由一套完整的用户管理体系。该网站用户管理模块主要实现用户的注册、登陆、修改密码等功能。(2)购物车模块:在超市购物,可以根据自己的需要将很多商品挑选至购物车或购物篮中,然后到收银台结账。而在网上虚拟的商城中,当然没有办法使用真正的购物工具,因此,通常都会采用一种被称为“购物车”的技术来模拟现实生活。在网上商城中,所选商品须通过购物车进行暂存,然后生成订单。这种技术使用起来十分方便,不但可以随时添加、查看、修改、清空购物车中的内
30、容,还可以随时去收银台结账。(3)商品搜索模块:用户根据商品的名称可以搜索到所需要的商品信息。(4)个人资料管理模块:用户资料修改是为更改个人信息所提供的窗口,为了保护用户信息不受非法侵入,用户只有登录后才有权限修改自己的个人资料。这样,子模块各自的内容基本设计好。下面可以设计如何将这些模块组织在一起,构成一个结构比较合理的前台了。除了在主页中建立面向其他模块的链接外,也要在其他模块中建立返回主页面的链接。另外各个模块间也应该互相链接起来。4.2.2后台模块的功能模块设计后台管理模块的功能是对站内的资源进行管理和维护。以后台的业务流程分析和前台各个模块的设计为基础,根据用户的需求分析来确定后台
31、管理模块应具有的功能。后台管理模块的各个子功能模块如下:(1)管理员身份验证模块:为合法用户提供一个后台入口。该模块的功能是对管理员身份进行验证。用户输入登陆ID和密码的有效性,如果通过验证则跳转后台主页,否则提示错误。(2)商品管理模块:向商品表插入前台首页展示的商品信息,也就是添加商品信息的功能。(3)处理订单模块:网站管理者对用户订单的执行和编辑状态。(4)用户信息管理模块:查询所有注册用户,对一些非法或失信用户进行删除操作。(5)新闻管理模块:新闻管理即对网站信息的管理,新闻管理是一个商务网站中不可缺少的组成部分,它可以增进用户与网站之间的交流。4.3 数据库设计数据库是数据库应用程序
32、的重要组成部分。一个设计结构合理的数据库对于应用程序的开发效率和程序的性能都是非常重要的。数据库的设计过程大致如下:(1)根据用户需求,确定数据库要保存的信息。对用户需求进行分析时数据库设计的第一个阶段。对用户需求进行分析是数据库设计的第一个阶段。(2)设计数据库的概念模型。概念模型是按用户的观点来对数据建模,使用与进行信息世界建模的工具。它对整个数据库的设计具有深刻的影响。(3)逻辑结构设计。逻辑结构是把概念结构转化为与所采用的数据库管理系统所支持系统的数据模型相符合的过程。(4)数据库的实施与维护。在设计好前台与后天的功能模块后,就开始进行数据库的设计了。根据网站系统的分析,数据库是整个网
33、站的核心。从前台显示的信息到后台操作的对象,都是围绕数据库展开的。4.3.1 E-R图E-R图是一种概念模型。概念模型实际上是现实世界到机器世界的一个中间层次。概念模型用于信息世界的建模,是显示世界到信息世界的第一层抽象,使数据库设计人员进行设计的有利工具,也是数据库设计人员和用户之间进行交流的语言,因此概念模型一方面应该具有较强的语义表达能力,能够方便直接的表达受众的各种语义知识,另一方面它还应该简单、清晰并且易于用户理解。以下是各个数据表的实体图。(1)商品信息表hw的实体图商品编号商品名称图片路径商品类别编号商品描述商品数量会员价格正常价格是否推荐发布时间是否特价商品信息图4.2 商品信
34、息表hw的实体图(2) 会员信息表member的实体图会员信息会员密码会员电话会员编号会员帐号注册时间会员地址图4.3 用户信息表tb_User的实体图(3) 订单表saleorder的实体图订单信息订单编号购物时间箱是否已经处理称用户编号用户地址图4.4 订单表saleorder的实体图(4) 管理员表admin的实体图管理员信息编号管理员名称称箱密码用户地址图4.5 管理员 admin的实体图(5)新闻列表news的实体图新闻编号新闻标题新闻类别编号新闻内容新闻列表 图4.6 新闻列表news的实体图(6) 新闻类别列表news_category的实体图类别名称类别编号类别描述商品信息父节
35、点id类别排序等级图4.7新闻类别列表news_category的实体图(7)订单产品表saleproduct的实体图订单产品信息编号产品编号箱产品数量所属订单编号产品价格图4.8 订单产品表的实体图 (8)总体E-R图 生成订单修改会员信息111nn1会员购买商品图4.9 总体E-R图4.3.2 基本表设计表的设计是这次设计的一个核心内容。根据前面对网站前台与后台功能模块的分析和对数据库中实体关系的设计,可以看到网站中所用到的数据信息基本包括:会员信息表、订单表、商品信息表、新闻列表、新闻类别列表、管理员表和订单产品表。下面是为数据库设计的表:表4.1 商品信息表hw字段字段名类型宽度小数位
36、索引可否为空Id商品编号Int是否Pname商品名称Varchar255否Descr商品描述Varchar255是Normalprice正常价格Money是Memberprice会员价格Money是Count商品数量Long是Categoryid商品类别编号Int是Spcialprice是否是特价产品Int是Commend是否是推荐产品Int是Img图片路径Text是Pdate发布日期Date是对于商品信息表,因为经验不足,我将其关键字段id商品编号采用的是数据库中的自动编号,虽然也确定了商品信息的唯一性,但不具备直观的特点,在实际应用中最好是将其设置一个命名规则,管理人员在添加商品的时候能够
37、自动产生一个有一定规则和一定意义的命名规则,方便管理人员对其进行管理和维护,例如对于手机类商品可将其编号设置为mobile型号添加日期,这样更容易对商品进行管理。Img字段代表图片,但在这里存放的只是它的路径所以应该使用文本类型。表4.2 会员信息表member字段字段名类型宽度小数位索引可否为空id会员编号自动编号是是Username会员帐号Varchar50否Password会员密码Varchar50否Addr会员地址Varchar255是Rdate会员添加日期文本型50是Phone会员电话Varchar40是对于会员信息表需要注意的是用户密码,由于数据库本身不提供特殊字段的加密,用户注册
38、以后注册密码是以明码形式存放在数据库中,这对系统来说是极不安全的,因此需要我们用一些特殊工具来对其进行加密。表4.3订单表saleorder字段字段名类型宽度小数位索引可否为空id订单编号Int否odate购物时间Date是Status是否已经处理Int是Userid用户编号Int182是Addr用户地址Varchar255是订单表则是系统中与其他几个表关系最多的一个表了,它包含了商品表,会员表中的几个重要字段,是我们进行最后购物统计的主要依据。表4.4管理员表admin字段字段名类型宽度小数位索引可否为空id编号自动编号是Admin_name管理员名称nVarchar50是Password密
39、码Nvchar50否Level级别Int是该表和会员表一样存在字段的命名规则的要求,出于安全考虑对于管理员帐号发放应该谨慎,管理人员数量一定要控制,越少越安全,在实际应用中,我们还要对整个数据库进行加密,以防止系统重要数据泄漏。表4.5新闻列表news字段字段名类型宽度小数位索引可否为空id新闻编号自动编号否title新闻标题Varchar50是content新闻内容Text是Categoryid新闻类别编号Date是存储网站新闻级别信息,和新闻表关联和产品类别结构相同。 表4.6新闻类别列表news_category字段字段名类型宽度小数位索引可否为空id类别编号自动编号是cname类别名称
40、Varchar50是Cdescr类别描述text否Pid父节点idInt是Grade等级Int是Cno类别排序Int是存储网站新闻信息,与其他表没有关联。表4.7订单产品表saleproduct字段字段名类型宽度小数位索引可否为空id编号自动编号是Productid产品编号Int是Uniprice产品价格Money否Pcount产品数量Int是Orderid所属订单编号Int是第五章 系统详细设计详细设计的根本目标是确定应该具体地实现所要求的系统,也就是说,经过这个阶段的设计工作,应该得出对目标系统的精确描述,从而在编码阶段可以把这个描述直接翻译成用某种程序设计语言书写的程序。在项目开发时,使
41、用一种稳定成熟的框架是项目成功的重要因素。MVC的基本思想就是逻辑与显示的分离,Model是应用程序的主体部分,它表示业务数据或者业务逻辑,View是应用程序中与用户界面相关的部分,也就是用户看到并与之交互的界面,Controller根据用户的输入,控制用户界面数据的显示和更新Model对象的状态,MVC不仅实现了功能模块和显示模块的分离,同时也提供了应用系统的可维护性、可扩展性、可移植性和组件的可重用性。模型、视图与控制器的分离,使得一个模型可以具有多个显示视图。如果用户通过某个视图的控制器改变了模型的数据,所有其它依赖于这些数据的视图都应反映到这些变化。因此,无论何时发生了何种数据变化,控
42、制器都会将变化通知所有的视图,导致显示的更新。5.1 系统主界面设计本网站的主界面整体结构还算简洁、清晰,上面部分为商品搜索条,左面部分为商品类别框,右面部分为资讯区,中间部分为商品展示区。本网上购物系统主界面如图5.1所示。图5.1系统登陆界面5.2系统前台各主要模块的功能设计5.2.1用户登陆模块的实现用户登陆模块是防止非法用户登陆的第一道防线,通过它可以保护后台数据库的安全性,当用户要进行定购时,首先要进入的就是身份验证界面,只有在密码正确的情况下才能进行以后的购物,如果输入的密码不正确,则不能进行定购。如果用户以浏览者的身份进入网站,则只能进行一般的商品浏览和搜索,而不能进行选购,在点
43、击添加购物车后,系统会判断该用户是否是登陆用户,如果不是则弹出提示页面,提示用户必须先登陆才能定购商品,如果是第一次登陆,必须先注册。登陆的具体实现要通过一个全程变量,即Session变量来实现用户登录的界面UserLogin.jsp,从shopuser表查得用户提交的帐户名和密码正确后,用一个全局变量,即Session变量保存这一消息(该变量名称为Session(“user”))。具体的判断过程为:若session中user为空即session.getAttribute(user )=null,表明没有经过登陆与否的验证,则立即跳转到UserLogin.jsp,请用户登录;并将用户登陆的帐号
44、和密码通过通过UserService 的check 方法,先判断是否存在这个用户如果不存在这个用户则抛出自己定义的一个异常UserNotFoundException ,如果存在这个用户再和输入的密码做对比,如果密码不正确则抛出自己定义的PasswordWrongException异常。对应Action中分别截获这两种不同的异常来判断对应的错误信息。具体代码实现如下:String username = request.getParameter(username);String password = request.getParameter(password);try User u = User.check(username, password);session.setAttribute(user, u);