1、 本 科 毕 业 设 计 第 1 页 共 37 页1 绪论1.1 开发背景 近年来,随着 Internet 的迅速崛起,互联网已日益成为收集提供信息的最佳渠道并逐步进入传统的流通领域。于是电子商务开始流行起来,越来越多的商家在网上建起在线商店,向消费者展示出一种新颖的购物理念 1。促进 Internet 高速发展的原因之一就是 Web 技术。现如今的 Web 已经不再局限于仅仅提供大量的信息服务,Web 技术的发展,使得那些具有交互式的动态页面,有条理的数据库查询,丰富信息内容的页面成为最吸引人的网页。浏览 Web 有着执行Windows 程序一样的感觉和操作性。随着 Internet 技术的
2、发展,已经成为一种操作平台,为用户提供强大的服务。网络的应用越来越广泛,单纯的提供信息只是其中的一部分。未来的 Web 将是一套虚拟的信息平台,其中包括在线购物,远程医疗,视频点播,语音聊天等功能。功能的扩展意味着数据量的增加,如果仍然用静态页面的生成模式,则会生成过多的超文本文件,不仅降低了浏览速度,也给维护造成了不便。静态文档的 Web 技术无法满足人们进一步的要求。随着高版本 HTML 的出现和浏览器对 Form 表单的支持使 Web技术进入了动态交互页面阶段 2。作为计算机领域发展最迅速之一的数据库技术,已经完成了一套独有的理论,并广泛的应用于人们的生产和生活中。数据库技术与网站的结合
3、是当今 Web 技术的一个热点。有了数据库的支持,可以扩展网页的功能,可以方便的设计出交互式页面,可以构造功能强大的后台管理系统,为网站的更新,维护提供极大的方便 3。因此作为网络开发者或者管理者,数据库是必不可少的。当前的页面正在向两个方向发展,一是多媒体,另一个是交互式。交互式的实现意味着网站个性化,意味着用户将有权决定要查看哪些内容 4。所以网站必须提供一个给用户的界面,让用户对内容进行分类筛选,最后得到用户需要的内容。这点是传统静态网页无法实现的。天簌之心网上花店的设计解决了以上的弊端,将数据库和页面结合。利用 HTML语言,JSP 语言语法, SQL Server 数据库知识和网络安
4、全知识等制作。本 科 毕 业 设 计 第 2 页 共 37 页基于 Web 的天簌之心网上花店就是这样一个采用交互式动态网页的网站。网站主要使用了 JSP 技术,采用 SOL Server 2000 数据库。使用 JDBC 技术把数据库和动态网页相关联。天簌之心网上花店需要达到以下目标:1)支持用户注册和登录。2)用户登录后可以根据价格、类型和其他关键词进行查询。3)用户可以购买商品,但是可以在提交之前取消购买这些商品。4)支持用户在线留言。5)支持管理员通过后台登录,并对型同种的各种信息进行维护。系统流程及模块划分:1)用户登录模块:负责验证系统中用户的登录信息。2)商品查询模块:负责根据用
5、户输入的各种查询条件快速查询符合用户要求的鲜花商品。3)购物车模块:负责记录并保存用户选购的商品信息,然后生成订单。4)用户留言模块:负责接受并记录用户的留言信息。5)管理员管理模块:负责商品、订单、用户和厂商信息的查看、添加和删除等维护操作。1.2 使用工具和技术的介绍天簌之心网上花店使用到的技术有:JSP、SQL Server 2000 和 Dreamweaver。以下对各种工具做一个简单介绍。1.2.1 JSP简介1.2.1.1 JSP 概述JSP(Java Server Pages)是由 Sun Microsystems 公司倡导、许多公司参与一起建立的一种动态网页技术标准。JSP 技
6、术有点类似 ASP 技术,它是在传统的网页 HTML 文件(*.htm,*.html)中插入 Java 程序段(Scriptlet)和 JSP 标记 (tag),从而形成 JSP 文件(*.jsp)。 用 JSP 开发的 Web 应用是跨平台的,既能在 Linux 下运行,也能在其他操作系统上运行 5。JSP 技 术 使 用 Java 编 程 语 言 编 写 类 XML 的 tags 和 scriptlets, 来 封 装 产 生 动 态本 科 毕 业 设 计 第 3 页 共 37 页网 页 的 处 理 逻 辑 。 网 页 还 能 通 过 tags 和 scriptlets 访 问 存 在 于
7、 服 务 端 的 资 源 的 应 用逻 辑 。 JSP 将 网 页 逻 辑 与 网 页 设 计 和 显 示 分 离 , 支 持 可 重 用 的 基 于 组 件 的 设 计 , 使基 于 Web 的 应 用 程 序 的 开 发 变 得 迅 速 和 容 易 6。 以下罗列了 JSP 所独具的一些特点:1)将内容的生成和显示进行分离 使用 JSP 技术,Web 页面开发人员可以使用HTML 或者 XML 标识来设计和格式化最终页面。使用 JSP 标识或者小脚本来生成页面上的动态内容。生成内容的逻辑被封装在标识和 JavaBeans 组件中,并且捆绑在小脚本中,所有的脚本在服务器端运行。如果核心逻辑被
8、封装在标识和 Beans 中,那么其他人,如 Web 管理人员和页面设计者,能够编辑和使用 JSP 页面,而不影响内容的生成。 在服务器端,JSP 引擎解释 JSP 标识和小脚本,生成所请求的内容(例如,通过访问 JavaBeans 组件,使用 JDBCTM 技术访问数据库,或者包含文件),并且将结果以 HTML(或者 XML)页面的形式发送回浏览器。这有助于作者保护自己的代码,而又保证任何基于 HTML 的 Web 浏览器的完全可用性。 2)强调可重用的组件 绝大多数 JSP 页面依赖于可重用的,跨平台的组件(JavaBeans 或者 Enterprise JavaBeansTM 组件)来执
9、行应用程序所要求的更为复杂的处理。开发人员能够共享和交换执 行普通操作的组件,或者使得这些组件为更多的使用者或者客户团体所使用。基于组件的方法加速了总体开发过程,并且使得各种组织在他们现有的技能和优化结果的开发努力中得到平衡。 3)采用标识简化页面开发 Web 页面开发人员不会都是熟悉脚本语言的编程人员。JavaServer Page 技术封装了许多功能,这些功能是在易用的、与 JSP 相关的 XML 标识中进行动态内容生成所需要的。 标准的 JSP 标识能够访问和实例化 JavaBeans 组件,设置或者检索组件属性,下载 Applet,以及执行用其他方法更难于编码和耗时的功能。通过开发定制
10、化标识库,JSP 技术是可以扩展的。今后,第三方开发人员和其他人员可以为常用功能创建自己的标识库。这使得 Web 页面开发人员能够使用熟悉的工具和如同标识一样的执行特定功能的构件来工作。 JSP 技术很容易整合到多种应用体系结构中,以利用现存的工具和技巧,并且扩展到能够支持企业级的分布式应用。作为采用Java 技术家族的一部分,以及 Java 2(企业版体系结构)的一个组成部分, JSP 技术能够支持高度复杂的基于 Web 的应用。 由于 JSP 页面的内置脚本语言是基于 Java 编程语言的,而且所有的 JSP 页面都被编译成为 Java Servlet,JSP 页面就具有 Java 技术的
11、本 科 毕 业 设 计 第 4 页 共 37 页所有好处,包括健壮的存储管理和安全性。 作为 Java 平台的一部分,JSP 拥有 Java编程语言“一次编写,各处运行” 的特点。随着越来越多的供应商将 JSP 支持添加到他们的产品中,您可以使用自己所选择的服务器和工具,更改工具或服务器并不影响当前的应用 7。合理的选择开发技术,对于网站开发的完成情况有着非常重要的影响。要开发一个网站,首先要选择一个动态网页开发技术。当前比较流行的动态网页开发技术有JSP、ASP 、PHP。它们的特性比较如表 1.1 所示 8:表 1.1 asp/jsp/php 比较表技术名称 ASP JSP PHP对数据库
12、的支持 好 好 好开发难易度 容易 容易 较难使用平台 Windows9X/NT Windows/UNIXUNIX安全性 不好 好 不好对组件的支持 支持 支持 不支持执行方式 解释执行 编译之后执行 解释执行跨平台 不好 好 好这三种都是在传统的 HTML 代码中,利用 HTML 标签的扩展,构成页面。不难看出,JSP 的综合实力是最强的,尤其是在安全性和跨平台性两个方面,比其他的两种技术都要好,因此,最后选择基于 Java 的 JSP 技术作为动态网页的开发技术。1.2.1.2 JSP 的工作原理 下面以 ch2.jsp 为例介绍访问过程:1)客户端通过浏览器发送请求;2)Web 服务器接
13、收这个请求,然后转给应用服务器;3)应用服务器会查找客户要访问的文件,假设访问的文件为 ch2.jsp;分两种情况:第一次访问:应用服务器把 JSP 文件转换成 Java 文件;然后编译成 class 文件;然后加载类;实例化对象并初始化;后续访问:JSP 文件对应的页面对象已经存在,直接查找到这个对象;4)应用服务器封装请求信息,然后调用相应的方法;本 科 毕 业 设 计 第 5 页 共 37 页5)应用服务器把方法执行结果(响应客户的内容)传递给 Web 服务器;6)Web 服务器把这个结果发给客户端;7)客户端浏览器把接收到的 html 代码解析成网页。这个就是我们看到的结果。1.2.2
14、 Dreamweaver简介Macromedia Dreamweaver MX 2004 是一款专业的 HTML 编辑器,用于对 Web 站点、Web 页和 Web 应用程序进行设计、编码和开发。利用 Dreamweaver 中的可视化编辑功能,可以快速地创建页面而无需编写任何代码。可以查看所有站点元素或资源并将它们从易于使用的面板直接拖到文档中。可以在 Macromedia Fireworks 或其他图形应用程序中创建和编辑图像,然后将它们直接导入 Dreamweaver,或者添加 Macromedia Flash 对象,从而优化开发工作流程 11。Dreamweaver 还提供了功能全面的
15、编码环境,其中包括代码编辑工具(例如代码颜色和标签完成) 。有关 HTML、层叠样式表( CSS) 、JavaScript、ColdFusion 标记语言 (CFML) 、Microsoft Active Server Pages(ASP)和 JavaServer Pages(JSP)的参考资料。Macromedia 的可自由导入导出 HTML 技术,可导入手工编码的 HTML 文档而不会重新设置代码的格式,可以随后用首选的格式设置样式来重新设置代码的格式 12。Dreamweaver 还可以使用服务器技术(例如 CFML、ASP.NET、ASP、JSP 和 PHP)生成由动态数据库支持的 W
16、eb 应用程序。Dreamweaver 可以完全自定义。可以创建对象和命令,修改快捷键,甚至编写JavaScript 代码,用新的行为、属性检查器和站点报告来扩展 Dreamweaver 的功能。Dreamweaver 是在多媒体方面颇有建树的 Macromedia 公司推出的可视化网页制作工具,它与 Flash、Fireworks 合在一起被称为网页制作三剑客,这三个软件相辅相承,是制作网页的最佳选择。其中,Dreamweaver 主要用来制作网页文件,制作出来的网页兼容性比较好,制作效率也很高,Flash 用来制作精美的网页动画,而 Fireworks 用来处理网页中的图形 13。1.2.
17、3 SQL Server简介SQL Server 是设计用到的另一个工具,它由微软开发,是一个常见的客户 /服务器关系数据库软件。在中小型软件开发中的应用尤为广泛。本 科 毕 业 设 计 第 6 页 共 37 页SQL Server 2000 与 Windows 2000 紧密集成。SQL Server 2000 不仅与 Windows 2000 Server 的活动目录集成,当运行于 Windows 2000 之上时,SQL Server 2000 还提供了增强的安全性、性能监视以及管理特性。SQL Server 2000 能够利用 Windows 2000中 Kerberos 安全的代理能
18、力,把本地客户端的验证信息传递给远程服务器。数据库的性能监视能够在微软管理控制台(MMC)中和其它发监视任务一起运行。为了更进一步减少多语言环境下用户的拥有的成本以及简化管理任务,SQL Server 2000 支持多语言特性,包括在 Windows 2000 多语言版下改变 SQL Server 用户界面语言环境的能力。Microsoft SQL Server 2000 大大增进了现今流行的 SQL 产品的许多功能。在产品的定义上已经做了许多变化,其中包括关系性引擎(Relational Engine) 、管理和工具、复制、分析服务(OLAP 服务和数据采集) 、全文查找、与 Windows
19、 2000 集成化等等。相对与 SQL Server7.0 而言, SQL Server 2000 主要与 Internet 的集成、可伸缩性及易用性方面做了增强,同时 SQL Server 2000 还增加了一些新的特性,从而使其成为在大规模在线事物处理(OLPA) 、数据仓库和电子商务应用程序方面极佳的数据平台。在与Internet 的集成方面,SQL Server 2000 通过对 XML 的支持、对数据的 Web 访问和支持Web 的分析等方面增强了其作为电子商务数据平台的竞争实力 16。在可伸缩性方面,SQL Server 2000 通过同一产品的跨平台使用、对 64G 大内存的访问
20、、多达 32 个 CPU 的服务器的支持以及分布式视图和索引视图的使用充分保证了该产品的可伸缩性与执行性能。在易用性方面,SQL Server 2000 在自动动态管理方面比前一版本又有了更大的进步,多种任务的向导工具使其使用起来得心应手,增强的数据转换服务(DTS)大大改善了可用性和可编程性,而集成的分析服务可以让用户对大量数据进行分析而花费很少的数据检索执行时间。总而言之,Microsoft SQL Server 2000 是一个面向 21 世纪的高性能的数据库管理系统。作为 Windows 家族中一个出类拔萃的成员,SQL Server 2000 可以满足各种类型的企业客户和独立软件供应
21、商构建商业应用程序的需要。本 科 毕 业 设 计 第 7 页 共 37 页2 系统需求分析这一章将对天簌之心网上花店做一个总体的需求分析,明确所要实现的功能,确定研究的深度。2.1 开发系统的基本情况介绍设计题目为“天簌之心网上花店的设计与实现” ,其开发主要包括后台数据库的建立和维护以及前台界面的设计开发两个方面。后台数据库的建立要求数据一致性和完整性强、数据安全性好;前端应用程序的建立要求界面合理、美观,功能完备,吸引用户。注册用户登录前台后,可以浏览和购买网上花店的所有商品,并且可以在网站中留言。管理员通过后台登录后可以对系统中的商品以及注册的用户和用户的留言进行管理。该系统的用户模块和
22、管理员模块是分离的,即用户通过用户模块登录到自己的模块,管理员通过管理员模块登录到自己的模块。用户和管理员不在一起登录。2.2 功能需求天簌之心网上花店主要满足两个功能需求:用户需求、管理员需求。分析其需求主要完成的功能如下。2.2.1 用户功能需求a)首页功能设计首页集成了商品信息,商品搜索,友情链接和用户登录注册。用户点击某一商品,查看有关商品的详细信息、花语、价格和适用场合等详细信息;用户也可以通过快速查询和高级查询直接查找需要的商品信息。友情连接方便用户访问其他相关网站。只有登录的用户才有权限购买花束。所以用户要想购买商品必须先登录,而如果是新用本 科 毕 业 设 计 第 8 页 共
23、37 页户就要注册成为网站的会员再进行登录,然后来使用网站提供的功能。网站管理员可以从首页登录,进入到管理页面,对网站的内容进行设置。b)站内查询搜索功能设计用户可以通过快速查询和高级查询来实现对站内花束信息的查找,通过直接填写关键字词和选择查询分类进行快速查询;通过直接输入关键字和选择查找方式、价格范围、商品分类,可进行高级查询。通过从数据库中提取相关数据,在页面中显示有关的花束信息供用户浏览查看。首页上还专门设置了查询方式较多的按适用场合分类查询和按价格分类查询。c)查看商家的有关信息用户可以点击首页导航栏中的企业商务来查看该网站的合作商家,以便使用户知道商品来源。d)发表评论用户可以在首
24、页的在线留言发表自己意见和建议,供其他用户参考和借鉴。2.2.2 管理员功能需求a)管理员信息管理网站的管理员可以在登录后查看和添加管理员账号。b)前台信息管理管理员在登录后可以对前台页面进行管理,查看、添加或删除前台页面显示的商品信息,厂商信息等信息。管理员还可以查看和删除网站用户及订单信息等。2.2.3 系统功能模块图在平台功能的分析基础上,得到本平台的功能模块图如图 2.1 所示: 本 科 毕 业 设 计 第 9 页 共 37 页网上花店用户管理用户注册用户登录网站布局 管理员进入 商品搜索网站用户管理订单信息管理商品信息管理厂商信息管理留言信息管理留言信息管理按价格选择按适用场合选择图
25、 2.1 平台购物模块图用户进入网上花店平台,用户可以注册,然后登录后可以进行修改资料,用户可以通过商品搜索,找到自己想要产品。管理员可以通过后台登录进去进行用户管理,订单信息管理,商品信息管理,厂商信息管理,网站系统管理。在用户管理中,可以对用户进行添加删除。3 概要设计3.1 概述随着 Web 技术的发展和电子商务时代的到来,人们不再满足于建立各种静态地发布信息的网站,更多的时候需要能与用户进行交互,并能提供后台数据库的管理和控制等服务的动态网站。天簌之心网上花店的设计与实现不光通过用户页面能使使用户能方便的,随时随地的在网上购买花束,并且还拥有强大的后台处理功能,使管理者可以方便的及时的
26、更新网站的内容。3.2 网页设计原理当在 Web 站点中融入 JSP 功能后,将发生以下事情:1)客户端通过浏览器发送请求;2)Web 服务器接收这个请求,然后转给应用服务器;3)应用服务器会查找客户要访问的文件,假设访问的文件为 ch2.jsp;分两种情况:第一次访问:应用服务器把 JSP 文件转换成 Java 文件;然后编译成 class 文件;然后加本 科 毕 业 设 计 第 10 页 共 37 页载类;实例化对象并初始化;后续访问:JSP 文件对应的页面对象已经存在,直接查找到这个对象;4)应用服务器封装请求信息,然后调用相应的方法;5)应用服务器把方法执行结果(响应客户的内容)传递给
27、 Web 服务器;6)Web 服务器把这个结果发给客户端;7)客户端浏览器把接收到的 html 代码解析成网页。这个就是我们看到的结果。3.3 系统概要流程设计该系统网站主要分前台管理和后台管理员管理两大模块。3.3.1 前台模块设计普通用户只有浏览页面的功能,只有注册为会员后,才可以购物。1)前台购物流程如图 3.1 所示浏览商品选择商品订购商品去购物车确定订单提交订单未注册用户已登录注册用户未登录注册用户注册登录图 3.1 前台购物流程图用户再前台可以浏览商品,看到自己喜欢的商品可以选择商品,然后订购商品,如果是没有注册的用户需要注册,如果是注册了没有登录的用户,则跳转到登录页面,已经登录
28、的用户则跳转到购物车页面,然后提交订单。2)注册功能流程如图 3.2 所示 本 科 毕 业 设 计 第 11 页 共 37 页注册入口必选项为空用户名有效2 一 一 一 一 一 一 一 一 一 一一 一 一 一 一 一 一 一 一E 一 m a i 一 一 一 一 一 一一 一 一 一 一 一一 一 一 一图 3.2 注册功能流程图注册的具体实现为:点击主页面的用户注册选项后,会弹出一个注册信息页面,用户需要如实填写用户名,密码,E_mail, 地址,电话,真实,姓名等各项信息,提交后,系统进行检测判断该用户名是否已经注册过,如果已经存在则弹出新页面,提示用户该用户名已经注册过,如果没有则进行
29、下一步判断,用户输入的两次密码是否一致,然后依次往后判断用户所填写的各项信息是否符合要求,直到所有信息均正确无误,系统将该用户注册信息写入会员表并提示用户注册成功,用户登陆后,就可以进行有效的购物了。3)商品搜索流程如图 3.3 所示开始搜索输入条件搜索结果查看商品 购物车下订单续搜索是否本 科 毕 业 设 计 第 12 页 共 37 页图 3.3 商品搜索流程图商品的搜索功能使用户更加方便的进行自己所需要的商品的查询,节省时间,提高效率。用户搜索时只要输入商品的关键字就能搜索到所有相关的商品。并且能列出通过搜索得到的商品的详细信息。4)会员功能模块图如图 3.4 所示。本 科 毕 业 设 计
30、 第 13 页 共 37 页注册用户查看自己信息查找商品管理留言按类查找商品按商品名查找增加留言查看留言添加至购物车查看购物车生成订单查看历史订单从购物车移除商品查看明细详单按价格查找图 3.4 会员功能模块图5)购物车流程如图 3.5 所示本 科 毕 业 设 计 第 14 页 共 37 页图 3.5 购物车流程图购物车具体的实现可采用这种形式:定义一个购物车的类(Class)。1)列出商品的列表,使用户能够自由选择所需要的商品。2)当用户在点击“添加到购物车”的链接时,执行如下功能:检查用户购物车类是否存在。如不存在,则建立,并注册 Session 变量;在有用户购物车类存在的情况下,检查该
31、类中是否有该商品。如存在,则商品数量相应加 1;如没有该商品,则将该商品添加到该类中。3.3.2 后台模块设计管理员模块各个模块的约束比较少,只要是有管理员登录到管理员模块中就可以使用管理员模块各个功能模块的功能。后台管理模块如图 3.6 所示管理员登录网站用户管理订单信息管理商品信息管理厂商信息管理留言信息管理留言信息管理图 3.6 后台管理模块图3.4 数据库设计是否购 物 车查 看 商 品满 意 吗下 订 单调 整 商 品结 束本 科 毕 业 设 计 第 15 页 共 37 页在建设网站系统之前,我们必须对系统所用到的数据进行大致的分类和具体的结构设计,既要做到清晰明了,又要能适应系统各
32、项功能的调用,而不至于产生结构上的逻辑混乱,保证关键数据在意外情况下不会被破坏,可以说数据库是系统的重中之重。数据库设计要遵循一些规则,一个好的数据库满足一些严格的约束和要求。尽量分离各实体对应的表,一个实体对应一个表,搞清楚该实体有哪些属性,对应有些什么字段,以及各实体之间有何种联系。实体、属性与联系是进行概念设计时要考虑的三个元素,也是一个好的数据库设计的核心。从实际出发,经过仔细地设计,得到各表的设计,它们分别是表 5-1 管理员信息表 admin,表 5-2 商品信息表 goods,表 5-3 留言表 leaveLanguage,表 5-4 订单表orders,图 5-5 订单详细信息
33、表 ordersDetails,表 5-6 商家信息表 produce,表 5-7 商家详细信息表 produceDetails,表 5-8 商品类别表 sort,表 5-9 用户信息表 users。天簌之心网上花店的数据库设计共涉及到 9 个表,在此对每个表做详细说明。a)admin(管理员信息表)用来记录管理员信息,对于此表, adminId 为主键。admin(管理员信息表)具体说明如表 3.1。表 3.1 admin(管理员信息表)表项 数据类型 说明adminId Int 自动编号adminName Varchar 用户名adminPass Varchar 密码b)orders(订单
34、表)用来记录订单信息,对于此表 ordersId 为主键。orders(订单表)具体说明如表 3.2。表 3.2 orders(订单表)表项 数据类型 说明ordersId Int 自动编号usersName Varchar 用户名ordersPrice Varchar 订单价格ordersDatetime Varchar 订单时间c)goods (商品信息表)用来记录商品信息,对于此表,goodsId 为主键。本 科 毕 业 设 计 第 16 页 共 37 页goods(商品信息表)具体说明如表 3.3。表 3. 3 goods(商品信息表)表项 数据类型 说明goodsId Int 自动编
35、号goodsName Varchar 商品名称goodsmaterial Varchar 花束材料goodsPackage Varchar 花束包装goodsLanguage Varchar 话语goodsPrice Float 价钱goodsCent Varchar 积分goodsScope Varchar 销售方向goodsPlace Varchar 适用场合goodsHabitus Varchar 是否上架sortName Varchar 分组名称d)leaveLanguage(留言表)用来记录用户留言信息,对于此表, leaveLanguageId 为主键。 leaveLanguage
36、(留言表)具体说明如表 3.4。表 3.4 leaveLanguage(留言表)表项 数据类型 说明leaveLanguageId Int 自动编号name Varchar 用户名称qq Varchar qq 号email Varchar Email 地址leaveLanguage Varchar 留言内容dateTime Varchar 留言时间e)ordersDetails(订单详细信息表)用来记录订单详细信息,对于此表,ordersId为主键。ordersDetails (订单详细信息表)具体说明如表 3.5。表 3.5 ordersDetails(订单详细信息表)本 科 毕 业 设 计
37、 第 17 页 共 37 页表项 数据类型 说明ordersId Int 自动编号goodsName Varchar 商品名goodsPrice Varchar 商品价格goodsCount Int 商品数量f)produce (商家信息表)用来记录商家信息,对于此表, produceId 为主键。produce(商家信息表 )具体说明如表 3.6。表 3.6 produce(商家信息表)表项 数据类型 说明produceId Int 自动编号produceName Varchar 商家名称g)produceDetails(商家详细信息表)用来记录商家详细信息。produceDetails(商
38、家详细信息表)具体说明如表 3.7。表 3.7 produceDetails(商家详细信息表)表项 数据类型 说明produceId Int 自动编号produceName Varchar 商家名称sortId Int 分类编号goodsId Int 商品编号h)sort(商品类别表)用来记录商品类别。sort(商品类别表)具体说明如表3.8。表 3.8 sort(商品类别表)表项 数据类型 说明sortId Int 自动编号sortName Varchar 类别名称本 科 毕 业 设 计 第 18 页 共 37 页i) users(用户信息表)用来记录用户信息,对于此表 usersId 为主
39、键。users (用户信息表)具体说明如表 3.9。表 3.9 users(用户信息表)表项 数据类型 说明usersId Int 自动编号usersName Varchar 用户名usersPass Varchar 密码usersRepass Varchar 重复密码usersPassQuestion Varchar 提问问题usersPassReply Varchar 答案usersTrueName Varchar 真实姓名usersAddress Varchar 用户地址usersPhone Varchar 电话usersE_mail Varchar Email本 科 毕 业 设 计 第
40、 19 页 共 37 页4 详细设计这一章介绍各个功能模块的详细设计。4.1 站点的建立首先打开 Dreamweaver 开发工具,点击菜单栏的站点,点击管理站点选项在弹出的对话框中点击新建站点,新建一个站点,命名为“flowershop” 。然后就可以在站点中新建网页文件。4.2 页面的设计4.2.1 网站首页页面设计在刚建立的站点中新建一个文件,命名为“index.jsp”,作为网站首页,为了让网站不管是在 800*600 还是 1024*768 的显示分辨率的时候都能很好的显示,可以将所有设计的布局和界面的控件都放在表格里。在 Dreamweaver 开发工具中选择其设计视图点击菜单栏上
41、的插入,选择表格,插入一个表格。在下面的属性栏里将其宽度设置成 812 将其对其方式选择为居中对齐,将其边框宽度设置为 0。通过拆分合并单元格,调整单元格的高度,把网页拆分成不同的模块,将其布局调整成提前设计的布局的样子。接下来对首页的内容进行设计。网站首页的顶部主要是显示网站 logo,及常用的购物车等功能的图标,通过超级链接使用户可以方便的跳转到相应的页面。另外还有网站的 banner 及导航栏。接下来就是会员注册及登录模块,会员通过这里登录网站然后购买商品。这里还有商品导购功能,将鲜花按用途或价格等不同关键词分类,用户可通过这里的导航直接找到自己想要的类型的商品。另外用户还可以通过商品搜
42、索直接寻找感兴趣的内容。在此还设置了最新公告功能,显示网站的一些新的公告。首页上显示的主要内容是一些网站最新推荐的特价商品,还有一些最新上架的商品。在首页的底部显示和其他各个网站的友情链接,通过链接,用户可以很方便的浏览其他网站。首页的 foot 部分还有管理员登录后台的链接,以便管理员登录。设计中发现页面的样式并不理想中的样式,可以通过来添加样式来使的页面的样式效果更漂亮。在 index.jsp 文件的 HTML 语句的中添加如下的语本 科 毕 业 设 计 第 20 页 共 37 页句:TD FONT-SIZE: 9pt; COLOR: #353535; LINE-HEIGHT: 120%/
43、表格字体的大小、颜色、行距BODY FONT-SIZE: 9pt; LINE-HEIGHT: 120% /网站字体属性A:link COLOR: #000000; TEXT-DECORATION: none /链接字体的样式A:visited COLOR: #000000; text-deration: none /访问过的链接颜色A:hover RIGHT: 0px; COLOR: #336699; POSITION: relative; TOP: 1px; TEXT-DECORATION: none /鼠标经过链接的颜色A:active COLOR: #000000; TEXT-DECOR
44、ATION: none /鼠标点击时的颜色这样用户界面的首页就设计完成了。4.2.2 商品的详细页面设计商品信息的显示页面左侧显示花束的图案。右边显示鲜花的详细信息,包括编号、名称。话语等。这些详细信息都是管理员传进数据库的。在页面的下部是添加至购物车按钮,登录的会员可以点击这里将鲜花添加至购物车。通过在中插入来控制页面样式。通过从其他页面传过来的goodsId的值,通过SQL语句操作数据库,从数据库中提取需要的该商品号对应的商品的数据显示在网页中。4.2.3 会员注册页面设计如果用户还不是会员则提示用户进行注册,用户提交信息之后,系统开始判断用户的注册信息是否有效,首先是用户名是否为空,用户
45、输入的两次密码是否一致,然后依次往后判断用户所填写的各项信息是否符合要求,直到所有信息均正确无误,系统将该用户注册信息写入会员表并提示用户注册成功,用户登陆后,就可以进行有效的购物了。注册页面要实现对所填写的内容进行验证,只有完全符合条件后才能注册成功。部分验证代码如下:function checkuserinfo()本 科 毕 业 设 计 第 21 页 共 37 页 if(checkspace(document.userinfo.usersPass.value) | document.userinfo.usersPass.value.length 20) document.userinfo.
46、usersPass.focus();alert(“密码长度不能不能这空,在 6位到20位之间,请重新输入! “);return false; if(document.userinfo.usersPass.value != document.userinfo.usersRepass.value) document.userinfo.usersPass.focus();document.userinfo.usersPass.value = ;document.userinfo.usersRepass.value = ;alert(“两次输入的密码不同,请重新输入! “);return false;
47、 if(document.userinfo.usersE_mail.value.length!=0) if (document.userinfo.usersE_mail.value.charAt(0)=“.“ | document.userinfo.usersE_mail.value.charAt(0)=“| document.userinfo.usersE_mail.value.indexOf(, 0) = -1 | document.userinfo.usersE_mail.value.indexOf(., 0) = -1 | document.userinfo.usersE_mail.v
48、alue.lastIndexOf(“)=document.userinfo.usersE_mail.value.length-1 | document.userinfo.usersE_mail.value.lastIndexOf(“.“)=document.userinfo.usersE_mail.value.length-1) alert(“Email地址格式不正确!“);document.userinfo.usersE_mail.focus();return false; else alert(“Email不能为空!“);document.userinfo.usersE_mail.focu
49、s();return false; 4.2.4 用户登陆模块的实现本 科 毕 业 设 计 第 22 页 共 37 页用户登陆模块是防止非法用户登陆的第一道防线,通过它可以保护后台数据库的安全性,当用户要进行定购时,首先要进入的就是身份验证界面,只有在密码正确的情况下才能进行以后的购物,如果输入的密码不正确,则不能进行定购。如果用户以浏览者的身份进入网站,则只能进行一般的商品浏览和搜索,而不能进行选购,如果是第一次登陆,请先注册。4.2.5 网站管理员页面设计管理员界面的页面设计采用了嵌入框架页的形式,所以和用户界面的页面设计有一些不同,在 HTML 视图中写下如下代码:在所用到的 Web 页面的 HTML 里设置如下 ,来保证点击链接时在 iframe 框架中显示其内容。4.3 连接数据库网站中的大部分内容都是通过连接数据库,从数据库中提取数据显示到页面的,管理员对网站的管理也主要是对数据库中数据的管理。所以将数据库的连接代码保存为一个文件 DBConnect