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 前台购物流程图用户再前台可以浏览商品,看到自己喜欢的商品可以选择商品,然后订购商品,如果是没有注册的用户需要注册,如果是注册了没有登录的用户,则跳转到登录页面,已经登录的用户则跳转到购物车页面,然后提交订单。2)注册功能流程如图 3.2 所示