jsp企业产品在线订购系统sqlserver论文_第1页
jsp企业产品在线订购系统sqlserver论文_第2页
jsp企业产品在线订购系统sqlserver论文_第3页
jsp企业产品在线订购系统sqlserver论文_第4页
jsp企业产品在线订购系统sqlserver论文_第5页
已阅读5页,还剩47页未读 继续免费阅读

下载本文档

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

文档简介

第52页共52页毕业设计说明书毕业设计题目院(系)专业班级学生姓名性别指导教师职称2007年月日目录摘要……………………1第一章绪论…………4一.系统说明……………………4二.系统特点和功能简介………5第二章开发环境介绍………………5一.系统运行环境配置…………6二.JSP简介……………………6三.动态网页开发工具DreamweaverMX简介………………13四.系统数据库介绍………….13第三章需求分析…………….……15一.开发背景………………1二.系统功能分析………………….………16三.系统结构分析…………16

四.系统数据分析…………17

五.逻辑物理结构…………….…………17第四章数据库建设……………….………………18一数据库介绍……………….……………22

二.建立数据库连接………………..…………24第五章系统具体实现…………………….………25

一.用户界面的实现………………….………25

二.数据库的实现…………………….………29

三.后台功能实现…………………….………35第六章结束语……………….……60主要参考文献………………………60 致谢……………….…60前言随着Internet国际互联网的发展,越来越多的企业开始建造自己的网站。基于Internet的信息服务,商务服务已经成为现代企业一项不可缺少的内容。很多企业都已不满足于建立一个简单的仅仅能够发布信息的静态网站。现代企业需要的是一个功能强大的,能提供完善的电子商务服务的动态商务网站。JSP(JAVAServerPages)是Microsoft提出的一种网络服务器端编程环境。JSP已经成为开发动态网站的重要而快速、有效的工具。JSP强大的功能使之成为一种优秀的服务器技术。随着网络技术的日益成熟,JSP技术在网络编程中也变得越来越重要。所以,在我们的毕业设计中,我们采用了JSP作为开发工具,构建了一个能实现简单的电子商务的小型动态商务网站——企业产品在线订购,我是负责系统的用户模块的设计。该系统能实现用户的注册、登录功能;能够实现商品的查询,订购等功能。该系统基本上具备一个企业产品在线订购应该具备的功能,该设计项目基本上体现了构建一个动态商务网站所需要的技术,可以说,目前的大型商务网站也就是我们这个中型网站在内容上的扩充和重复。通过这次的毕业设计,我了解了目前流行的动态商务网站的构成和运作原理,掌握了用JSP构建动态网站的相关知识和技术原理,锻炼了自己的动手实践能力。更重要的是,通过这次的毕业设计,我培养出了刻苦钻研的学习精神和严肃认真的学习态度,这对我以后的学习和工作有很大的益处。第一章概述1.1系统说明本系统是一个中小型的电子商务系统企业产品在线订购,可以为各类用户提供方便的在线购物环境,符合目前国内流行的电子商务模式。用户可以在系统中实现注册、浏览商品、搜索查询商品、下定单、处理定单等功能;管理员可以通过用户管理、定单管理、商品管理、评论管理等管理功能来对系统进行维护更新。网站的组成有以下几个子系统组成:1.主页,显示欢迎界面,提供近期的商品。2.购物车,处理订购并显示想要订购的商品。3.查询系统,通过商品类别、商品名称、出产地址来查询是否有自己需要的商品。4.用户注册系统,处理新用户的注册和老用户购物时的确认。5.管理员系统,通过管理员对系统进行管理和定单处理。6.在线订购,通过浏览商品,可以订购相关商品。1.2系统特点1.本系统完全基于Web技术,只要能连接Internet,就能访问本系统。2.采用JSP加SQLSERVER2000开发,具有管理方便,代码简单易懂,体积小巧的特点。3.可以完全通过网页登录管理系统,维护方便。4.各种功能模块独立性强,可以根据需要任意组合。5.具有清新简洁方便的界面,操作简单。6.支持所有的Windows系列操作系统。1.3系统功能简介1.3.1基本功能游客可以浏览网站用户注册用户登陆用户能够浏览网站提供搜索引擎,使用户能够按特定的条件对所需商品进行搜索用户能够对自己的注册资料进行修改用户下定单购买商品用户处理定单用户对商品发表评论、评级用户查看定单处理步骤用户可以到论坛发贴1.3.2高级功能管理员登录管理员权限:商品管理(添加/删除商品、商品类别管理、商品信息处理)、管理用户资料、管理定单、处理定单、管理评论、用户可随时修改自己的密码和其他个人信息;管理员在线编辑,管理工作轻松随意;用户购物积分功能,以次激励用户购物热情第二章开发环境介绍2.1系统运行环境配置操作系统:Windows9X、WindowsNTWorkstation/Server4.0以上、Windows2000Server/Professional、WindowsXPProfessional。CPU:没有很高的要求,只要能够顺利运行Windows系列操作系统就可以了。当然,CPU的处理速度越快,运行JSP代码的效率越高。内存:最低配置32MB,建议使用64MB以上内存,如果使用Windows2000或WindowsXP建议使用128MB以上内存。硬盘空间:至少需要50MB以上的硬盘空间来安装所需的组件。运行JSP的服务器端要求:(如表2.1所示)操作系统需要安装的WebServerWindows98PWS4.0以上WindowsNT4.0ServerTOMCAT4.0以上Windows2000TOMCAT5.0以上WindowsXPTOMCAT5.0以上表2.12.2JSP简介JSP(JAVAServerPages)实质是一种服务器端脚本环境。JSP脚本呈现将在服务器端运行。客户端只要使用可执行HTML代码的浏览器,即可浏览通过JSP设计出来的页面内容。当程序执行完后,服务器仅将执行的结果返回给客户端浏览器,这样也就减轻了客户端浏览器的负担,大大提高了交互的速度。JSP并不是一种纯粹的编程语言,它使用的语言是:VBScript和Jscript语言。在一个JSP应用程序中可以用其中的一种脚本语言,也可以结合这两种脚本语言使用。2.2.1JSP的优点(1)开放性在TOMCAT上,并不需要开发者使用一个专有的脚本语言来生成网络应用程序,实际上ActiveServerPages包括了对VBScript和JavaScript/Jscript的本机支持。通过第三方组合组件,它还可以使用其他语言(如Perl、REXX和Tcl)。多个脚本语言甚至可以在相同的JSP文件中交替使用并相互调用。而ActiveXServer组件实际上可以用任何语言编写,这些语言包括Java、VisualBasic、C++、COBOL等等。(2)易操作性JSP使HTML设计人员可以在服务器上方便地“激活”他们的Web页,可以立刻对定制化网页和简单的应用程序进行开发。以往需要用Perl或C编写的复杂的CGI程序来完成的功能(如数据库连接),现在若使用JSP则只要几行简单的代码就能实现。(3)程序与外观分离通过使用脚本和组件,ActiveServerPages允许用户将编程工作与一个网页的设计和其他工作分离开来。这就可以确保开发者能够将主要的精力用来考虑编写程序的逻辑,而不必担心外观是怎样的。同时,它也使那些从事外观设计的人员可以利用一些工具来对网页进行修改,而不用过于关心编程问题。(4)非手工编译JSP的即时编译系统在被请求时自动对JSP源文件重新编译,并将其载入服务器的高速缓存中。因此,开发者对JSP文件的修改可在浏览器中立即得到反映,只需要简单地保存该文件并在浏览器中刷新即可。(5)浏览器独立性JSP提供了一种浏览器中枢方案来完成应用程序的设计工作。因为用于生成动态内容的脚本可以在服务器上执行,所以开发者不必担心客户用什么浏览器来浏览网点.2.2.2简介JSP的6大对象JSP的编辑环境要求很底,任何一种文本编辑器都可以编写JSP应用程序。JSP强大功能的实现离不开它的6个内部对象,其6大对象如下:Application对象Application对象是在为响应一个JSP页的首次请求而载入DLL时创建的,它提供了存储空间用来存放变量和对象的引用,可用于所有的页面,任何访问者都可以打开它们。Request对象Request对象为脚本提供客户端在请求一个页面或传送一个窗体时提供的所有信息,这包括能够标识浏览器和用户的HTTP变量,存储他们的浏览器对应于这个域的cookie,以及附在URL后面的值(查询字符串或页面中<Form>段中的HTML控件内的值)。它也给我们提供了通过SecureSocketLayer(SSL)或其他的加密通信协议访问证书的能力,并提供有助于管理连接的属性。Response对象Response对象用来访问所创建的并返回客户端的响应。它为脚本提供了标识服务器和性能的HTTP变量,发送给浏览器的信息内容和任何将在Cookie中存储的信息。它也提供了一系列用于创建输出页的方法,如无所不在的Response.Write方法。Server对象Server对象提供了一系列的方法和属性,在使用JSP编写脚本时是非常有用的。最常用的是Server.CreateObject方法,它允许我们在当前页的环境或会话中在服务器上实例化其他COM对象。还有一些方法能够把字符串翻译成在URL和HTML中使用的正确格式,它通过把非法字符转换成为正确、合法的等价字符来实现。Session对象Session对象是在每一位访问者从Web站点或Web应用程序中首次请求一个JSP页时创建的,它将保留到默认的期限结束(或者由脚本决定终止的期限)。它与Application对象一样提供一个空间用来存放变量和对象的引用,但只能供目前的访问者在会话的生命期中打开的页面使用。ObjectContext对象ObjectContext对象可以用来控制JSP的执行。这种执行过程MicrosoftTransactionServer(MTS)来进行管理。可以把这些对象看作是基于ObjectContext对象的一个层次关系的成员,这有助于理解它们与接受和响应客户请求的过程之间的关系,如图2-1所示。图中表现了JSP和创建及服务于JSP页的过程之间的关系。图2-12.2.3JSP的使用环境JSP的使用环境,就是TOMCAT,JSP网页技术是一种需要服务器端支持的技术。它的执行过程是:(1)浏览器端提出HTTP的请求送到服务器端,Web服务器先检查网页文件的类型,如果是.JSP扩展名的文件,就提出JSP文件请求,Web确定读取并处理请求文件。(2)Web检查所要求的文件有没有被请求或有没有更新,以决定是否重新分析。TOMCAT的工作是这样分工的:脚本代码是由默认的脚本编程引擎如VBScript完成,然后经引擎翻译转换成服务器能执行的命令,而TOMCAT则进一步为送入的Active对象处理输入和输出,出错信息的输出也是有TOMCAT产生的。2.2.4配置TOMCAT名词解释IE(InternetExplorer)MicrosoftInternetExplorer是Web浏览器。InternetExplorer是导航和访问或浏览Web中的信息的工具。(2)TOMCAT(InternetInformationServer)MicrosoftInternetInformationServer是允许在公共Intranet或Internet上发布信息的Web服务器。JSP的开发依赖于TOMCAT,TOMCAT可在多种平台上运行:Windows2000全系列包括Professional、server、AdvancedServer三个版本,WindowsNTServer,WindowsNT-Workstation和Windows95/97/98上的PersonalWebServer(PWS)等平台上都可以。TOMCAT是如何工作的Web是基础的请求和响应系统。Web浏览器通过将URL发送给Web服务器请求信息。Web服务器通过返回超文本标记语言(HTML)页面响应。安装TOMCAT我安装的是Windows2000Professional版本的,所以以Windows2000Professional版来介绍TOMCAT的安装方法。在控制面版中选择“添加/删除程序”点击“添加/删除Windows组件”确认只选中第一项Internet信息服务(TOMCAT),然后点击下一步即可自行进行安装。系统配置安装完成后,就会弹出一个安装“完成”的对话框来提示安装完成,只要点击“完成”即可。这样TOMCAT安装完毕。4、测试打开IE浏览器,在地址栏中输入localhost或者,如果能出现“Windows2000”画面,表明TOMCAT安装成功,这是服务器端安装了Windows2000时的测试结果。2.2.5JSP的脚本语言在这里我们会了解到HTML语言、VBscript和Jscript的脚本语言。HTML语言HTML文件由浏览器解释,通过网络传输协议,可以从一台机器传输到另一台机器上。打开NetscapeNavigator或Microsoftexplorer浏览器,在地址栏中输入所需要的网址,就可以浏览用HTML写的网页。HTML文件和其他的文件不同,因为HTML文件中有它自己的标记。如下示:<html><head><title>title</title></head><body></body></html><html>……</html>等是成对出现的,此种标记称为容器标记。所有的文本都必须放在<body>和<\body>之间。VBscript语言VBScript与Basic语言有密切关系。如果你熟悉BASIC,你将会发现VBScript很容易学习和使用。VBScript是MicrosoftVisualBasic的简化版本。VBScript是一种脚本语言。这意味着这种语言比BASIC语言的成熟版本容易使用又难于使用。编制简单的程序时,脚本语言是容易使用的。脚本语言的句法比较简单。但是,简单的句法也使开发大的应用程序变得很困难。你可以在HTML文件中直接嵌入VBScript脚本。这使你能够扩展HTML,使它不仅仅是一种页面格式语言。带有VBScript脚本的网页在每次下载到浏览器时都可以是不同的,而且可以对用户的操作作出反应。VBScript是ActiveSeverPages的缺省语言。你也可以在JSP网页中使用其它脚本语言,如Jscript(将在第九章中讨论),Perl,或者REXX(由IBMUK实验室的MichaelCowlishaw所创的一种语言)。VBScript既可以作为客户端编程语言,也可以作为服务器端编程语言。客户端编程语言是可以由浏览器解释执行的语言。Java和Jscript/JavaScript也可以作为客户端编程语言。当一个以这些语言中的任意一种编制的程序被下载到一个兼容的浏览器中时,浏览器将自动执行该程序。客户端编程语言的优点是浏览器完成了所有的工作,这可以减轻服务器的负担。而且客户端程序运行起来比服务器端程序快得多。当一个浏览器的用户执行了一个操作时,不必通过网络对其作出响应,客户端程序就可以作出响应。JScript语言Jscript是微软的JavaScript语言的开发工具,如果你已经掌握了JavaScript,你对Jscript会非常熟悉,除了一些微小的差别,Jscript与JavaScript几乎完全相同。JScript可以作为服务器端编程语言,也可以作为客户端编程语言。作为客户端编程语言,可以使客户端的浏览器处理某些工作,从而减轻了服务器的负担,而且不用向服务器提交信息,也不需要从服务器获得信息,所以效率是很高的。大多数浏览器艘适用于JScript语言,可见,JScript是适合于多种操作系统的。Jscript与Java不是同一种语言,虽然Jscript的名字中含有一个J,它会使人们产生一种强烈的感觉,以为这两种语是非常相似的,然而Java是一种真正的编程语言,而Jscript只是一种脚本语言。Jscript可以用来完成VBScript所能完成的任何脚本任务。然而在某些特定情况下,有理由使用Jscript来代替VBScript。即使几乎所有的ActiveServerPages脚本都可用VBScript也可用Jscript来写,但某些脚本用某种语言写会比用另一种来写要简单得多。这两种语言之间还存在一些重大的差别更进一步说,可以混合使用两种脚本语言来编写你网点上的ActiveServerPages。你可以用Jscript来写某些ActiveServerPages,而用VBScript来写另一些,这取决于哪种语言更合适。而且,你可以在同一个ActiveServerPages中加入分别由两种语言写的脚本Jscript可用作客户端或服务器端的编程语言。客户端编程语言可以在诸如NetscapeNavigator或MicrosoftInternetExplorer的浏览器上得到解释和执行。另一个客户端编程语言的例子是Java,当用这些语言写的程序被兼容的浏览器读入时,浏览器自动执行这个程序。客户端编程语言的有利之处在于浏览器处理了全部工作,这就减轻了服务器的负担。客户端程序运行起来也比服务器端程序快得多。当浏览器的用户做出某种行为时,对此的反应不需通过网络进行传输,客户端程序可对它作出反应。Jscript用作客户端编程语言是非常好的,与VBScript不同,Jscript创建的客户端脚本能被现有的大部分浏览器识别。NetscapeNavigator和InternetExplorer都可以解释和执行包括Jscript的HTML文件。然而,与VBScript相同,Jscript也是服务器端编程语言。服务器端编程语言在提供网点服务的服务器上执行,而不是在接收网页的浏览器上执行。服务器端编程语言在你的网点计算机上完成所有这些工作,承受所有的负担。由于JScript不是JSP的默认脚本语言,所以要使用时必须事先声明,如:<Scriptlanguage=”JavaScript”></Script>语句<Script>…</Script>在这里声明使用JScript。2.3动态网页开发工具DreamweaverMX简介MacromediaDreamweaverMX是建立Web站点和应用程序的专业工具。

它将可视布局工具、应用程序开发功能和代码编辑支持组合为一个功能强大的工具,使每个级别的开发人员和设计人员都可利用它快速创建界面吸引人并且基于标准的站点和应用程序。

从对基于CSS的设计提供领先的支持到手动编码功能,Dreamweaver在一个集成和高效的环境中为专业人员提供了所需的工具。

开发人员可以将其选择的服务器技术与Dreamweaver配合使用,建立将用户连接到数据库、Web服务和旧式系统的强大Internet应用程序。Dreamweaver

MX

是一款专业的HTML编辑器,用于对Web站点、Web页和Web应用程序进行设计、编码和开发。无论您喜欢直接编写HTML代码的驾驭感还是偏爱在可视化编辑环境中工作,Dreamweaver都会为您提供帮助良多的工具,丰富您的Web创作体验。利用Dreamweaver中的可视化编辑功能,您可以快速地创建页面而无需编写任何代码。不过,如果您更喜欢用手工直接编码,Dreamweaver还包括许多与编码相关的工具和功能。并且,借助Dreamweaver,您还可以使用服务器语言(例如JSP、JSP.NET、ColdFusion标记语言(CFML)、JSP和PHP)生成支持动态数据库的Web应用程序。2.4系统数据库介绍2.4.1数据库的概念数据库是以数据(数据就是对客观事物的符号表示,是存储在计算机中的模拟客观事物的一系列信息。对于计算机科学而言,数据的含义极为广泛,凡是可存储的信息,如文本、图象、声音等都可以通过二进制编码而形成数据)为对象,指为了满足某种特定应用的需要,按照一定的数据模型在计算机系统中组织、存储和使用数据的数据集合。数据库系统是管理大量的、持久的、可靠的和共享的数据的工具。数据库有以下特点:集成性:数据有两层含义,一个是数据本身,一个是数据之间的关系。集成就是指把数据集中到一起来,按照一定的结构形式进行存储,并通过一系列的机制约束数据之间的关系,避免数据重复或不合要求。量大性:数据库中存放的数据量一般都比较庞大,不能同时在内存中全部调用,而只能通过外部存储器存储,通常使用大容量的可移动磁盘或硬盘等设备。共享性:指多个不同的用户,为了不同的目的,可以使用不同的语言,通过不同的方式,访问同一个数据库,而访问的范围、可执行的操作会有所区别。数据库系统会提供相应的机制,保证这种共享在有序的条件下进行,可以避免因为同步而造成的错误。持久性:一般来说,数据库中是数据都需要长期保存。2.4.2SQLSERVER2000简介MicrosoftSQLserver2000是一种关系式数据库,关系式数据库由一系列表组成,表又由一系列行和列组成,每一行是一个记录,每一列是一个字段,每个字段有一个字段名,字段名在一个表中不能重复。举一个“产品”表的例子。“产品”表由10个记录组成,一个记录占一行,每一个记录由产品ID、产品名称、库存量、订货量、单价和折扣率6个字段组成。“产品ID”是字段名,其下面的1,2等是字段的值。

表与表之间可以建立关系(或称关联,连接),以便查询相关联的信息。SQLserver2000数据库以文件形式保存,文件的扩展名是MDB。2.5“结构化查询语言”(SQL)简介“结构化查询语言”(SQL)是数据库的标准语言。在ActiveSeverPages中,无论何时你要访问一个数据库,你就要使用SQL语言。因此,掌握好SQL对JSP编程是非常重要的。所有SQL数据库中的数据都存储在表中。一个表由行和列组成。这种语言被设计为不允许你按照某种特定的顺序来取出记录,因为这样做会降低SQLSever取记录的效率。使用SQL,你只能按查询条件来读取记录。当你执行一个SQL查询时,通过使用包括逻辑运算符的查询条件,你可以得到一个记录列表。此时查询结果是来自一个或多个表。SQL查询的句法非常简单。假设有一个名为email_table的表,包含名字和地址两个字段,要得到BillGates的email地址,你可以使用下面的查询:SELECTemailfromemail_tableWHEREname=”BillGates”SELECT语句的结构看起来很直观。如果你请一个朋友从一个表中为你选择一组记录,你也许以非常相似的方式提出你的要求。在SQLSELECT语句中,你“SELECT特定的列FROM一个表WHERE某些列满足一个特定的条件”。2.5.1SQL中的常用语句:添加语句:向表中添加一个新记录。Inserttable(column)values(‘somedata’)删除语句:从表中删除一条或多条语句。Deletetablewherefirst=’deleteme’更新记录:更改表中已经存在的一条记录或多条记录。Updata{tablename}[{tablename}]whereclause用select创建记录和表inserttable(first_column,second_column)selectanother_first_column,another_sencond_columnfromanothertablewhereanother_first_column=’copyme’这条语句从anothertable拷贝记录到table中,只有anothertable中字段为another_first_column的值为copyme的记录被拷贝。第三章需求分析3.1开发背景随着时代的发展,信息技术、Internet/Intranet技术、数据库技术的不断发展完善,网络进程的加快,传统的购物方式也越来越不能满足人们快节奏的生活需求,使得企业的IT部门已经认识到Internet的优势,电子商务就是在这样一个背景下产生发展起来的。伴随着电子商务技术的不断成熟,电子商务的功能也越来越强大,注册用户可以在网上搜索购买到自己想要的各种商品,初步让人们体会到了足不出户,便可随意购物的快感。我的毕业设计也就正是一个电子商务系统的开发企业产品在线订购。3.2系统功能分析我所负责的用户模块部分的主要功能如下:1.注册作为一个电子商务,最基本的功能肯定就是注册了。因为只有注册用户才能在网站内订购自己想要购买的商品。2.登陆为了能更方便地使用网站的各项功能,用户登录也是必不可少的。当用户登录以后,便可进行查阅/更改自己的个人资料、修改/处理个人定单等操作。3.注销若用户登录后要离开网站,可注销个人帐号,以防止他人修改或使用本人帐号。4.购物车当用户选好自己想要的商品后可把商品放入购物车中,购物车将自动产生相应的定单。当然,用户也可以从购物车里删除掉选好的商品,而相应定单的也会删除。5.查询商品查询商品可以说是一个网站非常重要的一个功能,通过这一功能,用户可以按照某些特定的条件搜索自己想要购买的商品,这无论为普通用户还是管理员都提供了极大的方便。6.用户资料修改用户可以在登陆后使用用户个人资料修改功能对自己的一切信息进行修改,密码修改也包括在其中。也可以对用户邮寄/付款资料、收货资料等信息进行修改补充。3.3系统结构分析3.3.1逻辑结构企业产品在线订购的特点就是利用Browser/Server(B/S)结构,提供了一个网络平台,让消费者只要上网就可以实现商品的在线查看,商品的在线查找,商品的在线购买,商品订单的在线管理等功能。系统的优势在于系统简单、功能强大、扩展能力良好以及能够方便的跨地域操作等性能。系统的网络应用原理示意图如图3.1所示:系统服务器系统服务器后台数据库后台数据库Internet用户Internet用户网上商品超市Internet网上商品超市Internet图物理结构系统实现的物理结构如图3.2所示:浏览器浏览器浏览器WEB服务器数据服务器浏览器图3.2第四章数据库设计4.1数据表的介绍本系统数据库的功能主要是存储网站中所有数据,以便进行操作。本系统的数据库文件名为db.mdb,保存在系统文件的db子目录中。它主要由Admin、Category、Delivery、Orders、Product、Sorts、Review、User八个表组成。下面将逐一介绍这八个表的意义和功能:Admin该表比较简单,主要用来存储论坛管理员的帐号和密码,如图4-1。该表的结构如表4-1所示:图4-1表4-1数据表“admin”的结构字段名称数据类型说明ID自动编号编号Admin文本管理员用户名Password文本密码Rank数字管理员权限Category该表存储了商品的大类别信息,如图4-2。该表结构如表4-2所示:图4-2表4数据表“category”的结构字段名称数据类型说明Categoryid自动编号编号Category文本商品大类名First数字是否在首页显示Crtegoryorder文本类别排序Delivery该表存储了邮寄/付款信息,如图4-3。该表结构如表4-3所示:图4-3表4-3数据表“delivery”的结构字段名称数据类型说明Deliveryid自动编号编号Subject文本送货/汇款方式名Fee数字各种送货收费价格Methord数字0为送货方式1为汇款方式Deliveryidord数字送货/汇款方式排序Orders该表存储了客户定单的资料,如图4-4。该表结构如表4-4所示:图4-4表4-4数据表“order”的结构字段名称数据类型说明Actionid自动编号编号Username文本定单的用户名Actiondate日期/时间定单日期Id数字产品编号Productnum数字产品订购数量Good文本定单编号State数字处理状态Receipt文本收货人Address文本收货地址Postcode数值邮政编码Comments备注评论Paymethord数字付款方式编号Deliverymethord数字送货方式编号Sex数字性别Paid数字总金额Realname文本姓名Useremail文本用户e-mailUsertel文本用户电话userid数字用户IDSorts该表存储了商品的小类别信息,如图4-5。该表结构如表4-5所示:图4-5表4-5数据表“sorts”的结构字段名称数据类型说明Sortsid自动编号编号Sorts文本商品小类名Sortsorder数字商品小类排序Categoryid数字对应的大类编号First数字是否在首页显示Product该表存储了商品的详细信息,如图4-6。该表结构如表4-6所示:图4-6表4-6数据表“product”的结构字段名称数据类型说明Id自动编号编号Name文本商品名称Author文本生产厂商Introduce文本商品介绍Productdate日期/时间出产日期Score数字购买商品积分Detail文本详细介绍Content备注商品配置说明Rank数字用户评级分数Price1数字商品市场价Price2数字商品会员价格Vipprice数字商品vip价格Solded数字订购次数Viewnum数字查看次数Discount数字商品折扣Sortsid数字商品小类idCategoryid数字商品大类idPic文本缩略图Adddate日期/时间商品添加日期Ranknum数字评级次数Recommend数字推荐Mark文本商品产地Type文本商品编码Pronum数字商品件数Format文本商品重量Protimes数字生产批次Desc文本商品简介User该表存储了用户的个人详细信息,如图4-7。该表结构如表4-7所示:图4-7表10数据表“user”的结构字段名称数据类型说明Userid自动编号编号Username文本用户名Useremail文本用户e-mailPassword文本用户密码Identify数字用户身份证号Mobile文本用户移动电话Userqq文本用户QQAdddate日期/时间注册日期Question文本密码提示Answer文本密码答案Loginnum数字登陆次数Lastvst日期/时间最后一次登陆时间Receipt文本收货人姓名City文本收货人城市Address文本收货人地址Postcode文本邮政编码Usertel文本用户电话Deliverymethord数字送货方式编号Paymethord数字汇款方式编号Sex数字用户性别Realname文本姓名Vip是/否是否VIP用户Score数字用户积分Review该表存储了用户发表对商品评论的信息,如图4-8。该表结构如表4-8所示:图4-8表4-8数据表“review”的结构字段名称数据类型说明Reviewid自动编号编号Id数字对应产品编号Title文本评论标题Reviewdtm日期/时间评论发表时间Reviewcontent备注评论内容Audit数字审查是否通过4.3建立数据库连接后台服务器配置本系统使用了Microsoft的TOMCAT作为系统服务器。2、后台数据库的配置本系统采用SQLserver2000文件的相对路径来实现读取数据库功能,代码如下:dimconn,connstr,db,rsdb="manage/db/db.mdb"Setconn=Server.CreateObject("ADODB.Connection")connstr="Provider=Microsoft.Jet.OLEDB.4.0;DataSource="&Server.MapPath(""&db&"")如果服务器采用较老版本SQLserver2000驱动,请用下面连接方法connstr="driver={MicrosoftSQLserver2000Driver(*.mdb)};dbq="&Server.MapPath(db)conn.Openconnstr第五章详细设计一.用户界面的实现以表5.1对用户模块的文件进行简要说明:文件名功能文件名功能Index.JSP网站首页Login.JSP用户登陆Reg.JSP用户注册Forget.JSP忘记密码Help.JSP帮助信息New.JSP新到商品Hot.JSP畅销商品Commend.JSP推荐商品Search.JSP搜索商品Class.JSP商品分类Muser.JSP消息中心Userinfo.JSP用户个人资料Equser.JSP用户详细资料Recinfo.JSP收货资料Changepws.JSP修改密码Car.JSP购物车Myorder.JSP用户定单Deposit.JSP用户积分查询Statinfo.JSP统计信息Logout.JSP注销退出Rank.JSP用户对商品的评级Comment.JSP用户对商品评论Checkout.JSP结帐Chkorder.JSP定单的详细资料Vpro.JSP各种商品详细资料Voder.JSP定单完成表5.1(用户模块)用户模块设计概述5.2.1系统原理本系统的开发是基于现在电子商务应用最广的B/S(Browser/Server)既浏览器/服务器结构,起原理图示如图5.1所示图5.1企业产品在线订购的主要体系结构包括:数据服务器WEB服务器后台管理平台客户端应用系统体系设计主要考虑的业务技术因素包括:业务处理方式数据处理量,存储量应用功能设计服务器设计存储设计安全设计5.2.2用户模块的程序流图和数据流图本系统是由我来负责用户模块的设计,其主要功能的程序流图和数据流图我设计如图5.2所示:首页首页登陆注册新用户写入User表购买商品搜索商品下定单写入Order表修改定单写入Order表图5.2用户模块分析电子商务网站可简单的划分为2个部分,如图5.3所示:主页主页管理员用户管理员用户图5.3网上购物系统平台主要包括四大功能模块,用户管理、论坛管理、管理员管理、搜索等功能模块。其中用户管理模块,主要包括用户注册、用户修改、用户删除等功能;管理员管理主要包括商品资料(添加大类、添加小类、商品添加、商品审查)、商品交易、会员管理、操作管理(管理员添加、管理员审查、管理员退出)等功能;搜索主要包括(商品名称、商品类别)。系统总体流程图如下图所示:企业产品在线订购用户管理企业产品在线订购用户管理管理员管理论坛管理搜索添加小类添加大类商品添加商品审查管理员添加管理员审查管理员退出会员管理操作管理商品名称商品类别商品资料用户删除用户修改用户注册商品交易企业产品在线订购用户管理管理员管理论坛管理搜索添加小类添加大类商品添加商品审查管理员添加管理员审查管理员退出会员管理操作管理商品名称商品类别商品资料用户删除用户修改用户注册商品交易二.数据库的实现用户模块主页面在主页面中我们可以阅览到网站的部分新到商品和部分推荐商品,可以在商品搜索中通过快速搜索或者高级搜索功能搜索本网站拥有的商品,也可以看到本网站最新的商品销售排行榜等信息,主页面如图5.6所示:图5.6在用户模块的每个页面中都包含了包含head.htm、foot.htm和left.JSP三个文件,首代码如下:<!--#includefile="head.htm"--><!--#includefile="foot.htm"--><!--#includefile="left.JSP"-->三个模块的图示如图5.7、图5.8、图5.9:图5.9在head.htm文件中我设置了一个“小时钟”,如图5.10:图5.10时间日期的编写是一段Javascript程序,代码如下:<scriptlanguage="JavaScript">today=newDate();varhours=today.getHours();varminutes=today.getMinutes();varseconds=today.getSeconds();vartimeValue="<FONTCOLOR=black>"+((hours>12)?hours-12:hours);timeValue+=((minutes<10)?"<BLINK><FONTCOLOR=black>:</FONT></BLINK>0":"<BLINK><FONTCOLOR=black>:</FONT></BLINK>")+minutes+"</FONT></FONT>";timeValue+=(hours>=12)?"PM":"AM";functioninitArray(){this.length=initArray.arguments.lengthfor(vari=0;i<this.length;i++)this[i+1]=initArray.arguments[i]}vard=newinitArray("<fontcolor=RED>星期日","<fontcolor=black>星期一","<fontcolor=black>星期二","<fontcolor=black>星期三","<fontcolor=black>星期四","<fontcolor=black>星期五","<fontcolor=red>星期六");document.write("<fontcolor=black>",today.getYear(),"<fontcolor=black>年","<fontcolor=black>",today.getMonth()+1,"<fontcolor=black>月","<fontcolor=black>",today.getDate(),"<fontcolor=black>日</FONT>",d[today.getDay()+1],"",timeValue);//--></script>在主页中,我们可以看到网站部分商品,商品表中的“商品名”、“品牌”、“定价”、“优惠价”、“VIP价”、“商品描述”等详细信息都是和数据表“product”中的相关内容相连接的。在所有的页面中只要涉及商品的相关信息,都是调用数据库的Product表中的储存信息。在主页中,只要点击导航条中的“新到商品”、“畅销商品”、“推荐商品”就可浏览到本网站所有的商品,并可点击相应的商品图片即可查看到该商品的详细资料。如果用户想直接找到需要的商品资料,就可以点击“搜索商品”去到search.JSP页面,填写相关的商品信息后点击“开始搜索”按钮查找商品。如图5.11所示:图5.11此搜索功能由一个脚本函数实现,代码如下:<scriptlanguage=javascript>varwhitespace="\t\n\r";functionIsWhitespace(s){vari;if(IsEmpty(s))returntrue;for(i=0;i<s.length;i++){varc=s.charAt(i);if(whitespace.indexOf(c)==-1)returnfalse;}returntrue;}functionIsEmpty(s){return((s==null)||(s.length==0))}functionIsDate(fDate){vararrDaysInMonth=newArray(12);arrDaysInMonth[1]=31;arrDaysInMonth[2]=29;arrDaysInMonth[3]=31;arrDaysInMonth[4]=30;arrDaysInMonth[5]=31;arrDaysInMonth[6]=30;arrDaysInMonth[7]=31;arrDaysInMonth[8]=31;arrDaysInMonth[9]=30;arrDaysInMonth[10]=31;arrDaysInMonth[11]=30;arrDaysInMonth[12]=31;if(IsEmpty(fDate))returntruevarNameList=fDate.split("-");if(NameList.length!=3)returnfalseif(!(IsYear(NameList[0])&&IsMonth(NameList[1])&&IsDay(NameList[2])))returnfalseif(NameList[1]>arrDaysInMonth[NameList[1]])returnfalseif((NameList[1]==2)&&(NameList[2]>DaysInFebruary(NameList[0])))returnfalsereturntrue}functionsearch(){varname=document.forms['frmdata'].elements['name'].value;varauth=document.forms['frmdata'].elements['author'].value;varmanufact=document.forms['frmdata'].elements['manufacturer'].value;varsmallprice=document.forms['frmdata'].elements['smallprice'].value;varlargeprice=document.forms['frmdata'].elements['largeprice'].value;varenabledat=document.forms['frmdata'].elements['enabledate'].value;varexpiredate=document.forms['frmdata'].elements['expiredate'].value;if(!IsWhitespace(enabledate)){if(!IsDate(enabledate)){alert("出厂日期开始日期格式错误!");returnfalse;}}if(!IsWhitespace(expiredate)){if(!IsDate(expiredate)){alert("出厂日期结束日期格式错误!");returnfalse;}}varallNotEmpty=(!IsWhitespace(name))|| (!IsWhitespace(author))|| (!IsWhitespace(manufacturer))|| (!IsWhitespace(smallprice))|| (!IsWhitespace(largeprice))|| (!IsWhitespace(enabledate))|| (!IsWhitespace(expiredate));if(!allNotEmpty){alert("必需输入一个搜索条件");returnfalse;}if(!IsWhitespace(smallprice)){if(!IsPlusNumeric(smallprice)){alert("价格数据不合法");returnfalse;}}if(!IsWhitespace(largeprice)){if(!IsPlusNumeric(largeprice)){alert("价格数据不合法");returnfalse;}}if((!IsWhitespace(enabledate))&&(!IsWhitespace(expiredate))){ if(enabledate>expiredate) { alert("出厂日期范围错误");returnfalse; }}if((!IsWhitespace(smallprice))&&(!IsWhitespace(largeprice))){ if(parseFloat(smallprice)>parseFloat(largeprice)) { alert("价格范围错误");returnfalse; }}}</script>用户还可以点击“商品分类”按钮查看本网站的所有商品的分类情况,通过分类这里也可以查找到想要的商品资料,如图5.12所示:图新用户注册用户要想在本网站购买商品就必须要去注册成为本网站的会员,只需点击“注册”就可了解到成为会员的必要条约及其必须承担的责任,其内容如图5.13所示:图5.13如果你同意就可点击“我同意”继续注册,并来到添写用户信息页面,如图5.14所示:图5.14用户在填写完信息后即可提交信息,如果发现填写的信息有误可以马上点击“清除”重添,用户最好记住自己所添写的信息,特别是“密码提示”和“密码答案”,因为这可以为你找回密码。在提交的过程中将会有一个脚本语言函数对用户提交的信息的要求及信息格式的正确性进行判断,其函数代码如下:<scriptlanguage="JavaScript"><!--functioncheck(){if(checkspace(document.userinfo.username.value)){ document.userinfo.username.focus();alert("用户名不能为空,请重新输入!"); returnfalse;}if(checkspace(document.userinfo.username.value)||document.userinfo.username.value.length<2){ document.userinfo.username.focus();alert("用户名长度不能小于2,请重新输入!"); returnfalse;}if(checkspace(document.userinfo.identify.value)||document.userinfo.identify.value.length<15){ document.userinfo.identify.focus();alert("身份证号码长度不能小于15位,请重新输入!"); returnfalse;}if(checkspace(document.userinfo.password.value)||document.userinfo.password.value.length<6){ document.userinfo.password.focus();alert("密码长度不能小于6,请重新输入!"); returnfalse;}if(document.userinfo.password.value!=document.userinfo.password1.value){ document.userinfo.password.focus(); document.userinfo.password.value=''; document.userinfo.password1.value='';alert("两次输入的密码不同,请重新输入!"); returnfalse;}if(document.userinfo.useremail.value.length!=0){if(document.userinfo.useremail.value.charAt(0)=="."||document.userinfo.useremail.value.charAt(0)=="@"||document.userinfo.useremail.value.indexOf('@',0)==-1||document.userinfo.useremail.value.indexOf('.',0)==-1||document.userinfo.useremail.value.lastIndexOf("@")==document.userinfo.useremail.value.length-1||document.userinfo.useremail.value.lastIndexOf(".")==document.userinfo.useremail.value.length-1){alert("Email地址格式不正确!");document.userinfo.useremail.focus();returnfalse;}}else{alert("Email不能为空!");document.userinfo.useremail.focus();returnfalse;}}functioncheckspace(checkstr){varstr='';for(i=0;i<checkstr.length;i++){str=str+'';}return(str==checkstr);}//--></script>在判断提交的信息格式正确后,就由一段JSP代码判断用户是否是已注册过的,核查用户名和E-MAIL地址是否已存在,将正确的信息写入后台数据库,并同时提示用户注册成功。其JSP代码如下:<%ifNOTisempty(request("RegSubmit"))then ifsession("regtimes")=1then callMsgBox("对不起,您刚注册过用户!","Back","None") response.end endifsetrs=server.CreateObject("adodb.recordset") rs.open"selectusername,useremailfrom[user]whereusername='"&trim(request("username"))&"'oruseremail='"&trim(request("useremail"))&"'",conn,1,1 ifnotrs.eofandnotrs.bofthen callMsgBox("您输入的用户名或Email地址已存在,请返回重新输入!","Back","None") endif rs.close rs.open"select*from[user]",conn,1,3 rs.addnew rs("username")=trim(request("username")) rs("password")=md5(trim(request("password"))) rs("useremail")=trim(request("useremail"))rs("quesion")=trim(request("quesion")) rs("answer")=md5(trim(request("answer")))rs("realname")=trim(request("realname")) '身份证 rs("identify")=trim(request("identify")) rs("mobile")=trim(request("mobile")) rs("userqq")=trim(request("userqq"))rs("adddate")=now() rs("lastvst")=now() rs("loginnum")=0 rs("postcode")=0rs("score")=0 rs("paymethord")=0 rs("deliverymethord")=0 rs.update rs.close setrs=nothing response.Cookies(cookieName)("username")=trim(request("username")) response.Cookies(cookieName).expires=date+1 session("regtimes")=1 session.Timeout=1 callMsgBox("注册成功!请到用户管理中心填详细资料!","GoUrl","muser.JSP")endif%>在提交的信息成功后便马上成为本网站的会员,同时你所填写的信息以写入到后台数据库的User表中,并可进入你自己的帐户中心,如图5.15所示:购物车功能图图5.15在帐户中心中,用户可以对自己的个人信息及交易信息进行管理,如有需要可以对个人资料、收货资料、密码进行修改,可以在“购物车”中进行购物处理,也可以在“我的定单”中对已下的定单进行处理,还可以在“积分查询”、“统计信息”中查看自己的用户积分及交易资料,最后可以点击“注销退出”回到首页。“个人资料”和“收货资料”如图5.16、5.17所示:图5.16图5.17在提交个人资料是有一个脚本函数对其信息格式判断正确性,函数代码如下:<scriptlanguage="JavaScript"type="text/JavaScript">functioncheckuserinfo(){if(document.userinfo.useremail.value.length!=0){if(document.userinfo.useremail.value.charAt(0)=="."||document.userinfo.useremail.value.charAt(0)=="@"||document.userinfo.useremail.value.indexOf('@',0)==-1||document.userinfo.useremail.value.indexOf('.',0)==-1||document.userinfo.useremail.value.lastIndexOf("@")==document.userinfo.useremail.value.length-1||document.userinfo.useremail.value.lastIndexOf(".")==document.userinfo.useremail.value.length-1){alert("Email地址格式不正确!");document.userinfo.useremail.focus();returnfalse;}}else{alert("Email不能为空!");document.userinfo.useremail.focus();returnfalse;}}</script>同样在提交收货资料是也有一个函数判断信息格式的正确性,其代码如下:<scriptlanguage="JavaScript"> functioncheckspace(checkstr){varstr='';for(i=0;i<checkstr.length;i++){str=str+'';}return(str==checkstr);}functioncheckreceiveaddr(){if(checkspace(document.receiveaddr.recepit.value)){ document.receiveaddr.recepit.focus();alert("对不起,请填写收货人姓名!"); returnfalse;}if(checkspace(document.receiveaddr.city.value)){ document.receiveaddr.city.focus();alert("对不起,请填写收货人所在省市!"); returnfalse;}if(checkspace(document.receiveaddr.address.value)){ document.receiveaddr.address.focus();alert("对不起,请填写收货人详细收货地址!"); returnfalse;}if(checkspace(document.receiveaddr.postcode.value)){ document.receiveaddr.postcode.focus();alert("对不起,请填写邮编!"); returnfalse;}if(checkspace(document.receiveaddr.usertel.value)){ document.receiveaddr.usertel.focus();alert("对不起,请留下您的电话!"); returnfalse;}if(checkspace(document.receiveaddr.deliverymethord.value)){ document.receiveaddr.deliverymethord.focus();alert("对不起,您还没有选择送货方式!"); returnfalse;}if(checkspace(document.receiveaddr.paymethord.value)){ document.receiveaddr.paymethord.focus();alert("对不起,您还没有选择支付方式!"); returnfalse;}}</script>5.4.3用户登陆用户一旦成为本网站的会员后,即可在登陆页面中登陆,用户只要输入自己的用户名和密码即可实现登陆。这里有JSP函数对用户名和密码进行判断,以此来保证用户的合法性,JSP代码如下:<%ifNOTisempty(request("LoginSubmit"))thendimusername,passwordusername=replace(trim(request("username")),"'","")password=md5(replace(trim(request("password")),"'",""))ifusername=""orpassword=""then callMsgBox("对不起,登录失败,请检查您的登录名和密码","None","None")endifsetrs=server.CreateObject("adodb.recordset")rs.Open"select*from[user]whereusername='"&username&"'andpassword='"&password&"'",conn,1,3ifnot(rs.bofandrs.eof)then ifpassword=rs("password")then response.Cookies(cookieName)("username")=trim(request("username")) response.Cookies(cookieName)("vip")=rs("vip") rs("lastvst")=now() rs("loginnum")=rs("loginnum")+1 rs.Update rs.Close setrs=nothing response.redirect"muser.JSP"else callMsgBox("对不起,您的用户名或密码有误!","Back","None") endifelse callMsgBox("对不起,您的用户名或密码有误!","Back","None")endifendif%>5.4.4用户帮助本系统还提供了帮助功能,用户只需点击“帮助”就可了解到网站的相关信息,包括“购物流程”和“常见问题”。如图5.23所示:图我的帐户我的帐户中的一些信息在前面已经作了介绍,这里我们将介绍其他的几个功能。1修改密码在修改密码功能中用户可以重新设置自己的密码。用户只需填写以前的旧密码,然后再填写新的密码提交即可修改成功。2购物车在“购物车”中用户可以看到所购买的商品信息,可以删除商品,也可以继续采购或是直接去下定单,去下定单过程如图5.24所示:图5.24图5.25图5.26图5.27在结帐过程中有一个脚本语言函数对用户所提交信息格式正确性进行判断,代码如下:<SCRIPTLANGUAGE="JavaScript">!--functioncheckspace(checkstr){varstr='';for(i=0;i<checkstr.length;i++){str=str+'';}return(str==checkstr);}functionssother(){if(checkspace(document.receiveaddr.r

温馨提示

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

评论

0/150

提交评论