1、 毕业设计 (论文 )说明书 题 目: ASP.NET 技术在网站设计中的 研究与开发 毕业设计(论文)中文摘要 ASP.NET 技术在网站开发设计中的研究与开发 摘 要: 基于 Microsoft . NET 环境的 ASP. NET 技术,为开发功能强大的动态网站提供了一种简单、高效的途径。 正文阐述的是 ASP. NET 作为一种全新的动态网站开发技术,它是通过大量使用组件技术,将 Web 浏览器与 Web 服务器之 间的网络通信完全的包装起来,在 ASP. NET 中,动态网站开发技术已经变为利用组件搭建“基于 Web 的应用程序”。论文还阐述了网站开发技术的现状,通过对各个技术的系统
2、比较从而对 ASP.NET 技术做了较深入的研究,并结合研究情况开发设计了一个网上书店系统。该系统的基本功能已实现,普通用户进入系统后,可以查看商品信息,并购买商品;管理员可以添加新的商品信息并可以确认核实客户提交的订单。 关键词: ASP.NET 动态网站开发技术 组件 网上书店 毕业设计(论文)外文 摘要 Development and Research of ASP.NET Technology in Designing Web Site Abstract: ASP.NET technology based on Microsoft.NET environment provides a
3、simple, effective means to establish multifunctional, dynamic web sites. This thesis is about ASP.NET a whole new technology to establish dynamic web sites. By using plentiful component technologies, packs it up the network communications between Web Explorer and Web Server. In ASP.NET, the technolo
4、gies of establishing dynamic web sites are turning to build applications based-on web by component. And, this thesis also accounts for the actuality of web development technology. I made an in-depth study by comparing with various skills, and then designed a system of bookstore online. All the basic
5、 functions of the system have been achieved. A common user enter the system, he could browse commodity information and purchase. Administrator can add new commodities and verify bills that clients made. Keywords: ASP.NET; Dynamic website developing technology; Component; Bookstore online 目 录 1 引言 .
6、1 1.1 问题定义与内容简介 . 1 1.2 研究背景及研究意义 . 1 1.3 可行性分析 . 2 1.3.1 技术可行性研究 . 2 1.3.2 经济可行性研究 . 3 1.4 论文各章内容介绍 . 3 2 课题研究分析 . 4 2.1 网站开发技术研究 . 4 2.1.1 WEB 开发技术的发展 . 4 2.1.2 技术比较 . 5 2.1.3 ASP.NET 技术研究 . 7 2.2 ASP.NET 技术在实例中的应用 . 10 2.2.1 ASP.NET 内置对象的应用 . 10 2.2.2 页面控件的应用 . 12 2.3 ASP.NET 开发工具 . 16 3 ASP.NET
7、开发网站应用示例 . 18 3.1 方 案研究 . 18 3.2 业务流分析 . 18 3.3 数据流分析 . 19 3.4 数据字典 . 21 3.4.1 数据流分量(即数据元素) . 21 3.4.2 数据流 . 21 3.4.3 数据存储 . 22 3.4.4 数据处理 . 22 4 系统设计及各功能模块的实现 . 24 4.1 系统设计 . 24 4.1.1 系统总体功能结构 . 24 4.1.2 系统数据模型设计 . 24 4.2 详细设计 . 28 4.2.1 商品浏览模块 . 29 4.2.2 商品查询模块 . 30 4.2.3 购买商品(购物车)功能模块 . 31 4.2.4
8、订单结算功能模 块 . 33 4.2.5 用户查看所有订单功能模块 . 33 4.2.6 管理员添加商品功能模块 . 34 4.2.7 管理员查看订单功能模 块 . 35 5 应用演示 . 37 5.1 用户部分 . 37 5.2 管理员部分 . 38 6 研究成果评价 . 40 6.1 研究成果 . 40 6.2 研究不足和解决方案 . 40 结 论 . 41 致 谢 . 42 参 考 文 献 . 43 毕业设计(论文) 第 1 页 共 43 页 1 引言 上个世纪 60 年代诞生的互联网,在近十几年的时间里得到了迅猛的发展,其主要的原因是 WEB 技术的出现。它将世界各地的信息链接起来,使
9、互联网成为最大的信息载体,使地球变的像个小村子,使信息共享和流通的能力延伸到了我们的桌面上。 WEB 技术是互联网的核心内容, WEB 因为具有音频、视频技术,内部交互和易于管理而受到个人和企业的青睐。随着 WEB 的逐渐发展和成熟, web 技术也在逐渐的发展,从 HTML 到 CGI,到 3P( ASP、 JSP、 PHP),再到现在的 ASP.NET,已经经过了几个阶段的发展。 1.1 问题定义与内容简介 ASP.NET 网络服务体系架构为使用 ASP.NET 建立网络服务提供了一个高级可编程模板。虽然建立网络服务并不需要使用网络服务平台,但是它具有许多的优点将简化开发过程,并且它使用的
10、编程模型对用 ASP 或 VB工作的开发人员来说是很熟悉的。使用这个可编程模型,开发人员不需要理解 HTTP、 SOAP 或其它任何网络服务规范。 本课题的主要目的是对网站设计的相关技术进行理论研究,比较 ASP.NET 技术的相关特点,并在对各种技术进行系统分析和研究的基础上,借鉴现有系统的一些经验,开发一网站实现相关管理功能。并且 通过学习 ASP.NET 技术并查阅大量关于网站设计技术的文献资料,比较各种技术的优越性,汇总形成相关 文档。 在研究学习的基础上,结合相关资料,设计出简洁的具有用户注册登录、信息查看、信息查询等功能的系统。网站实现的基本功能是:( 1) 信息查看:普通用户和管
11、理员登录系统后可以进行信息查看;( 2)信息查询:用户可以登录系统后进行信息查询。 1.2 研究背景及研究意义 随着个人电脑和 Internet 的普及推广, Web 技术得到了迅猛的发展,人们开始越来越依赖网络:企业通过网络可以更有效、便捷的发布信息和推广自己新的产品;个人通过网络可以跟自己的朋友聊天、写信,可以查看新闻,可以在网上娱乐,甚至可以不用出户就可以购 买自己喜欢的商品等等,网络带来无尽的便捷和乐趣。设计出好看,适用的网站就成为必要的,现在用于网站设计、开发的技术有很多,譬如 ASP、 JSP、 ASP.NET 等等。 其中 JSP(Java Server Pages)是由 Sun
12、 Microsystems 公司倡导、许多公司参与一起建立的一种动态网页技术标准。它是在传统的网页 HTML 文件中插入 Java 程序段和 JSP 标记,从而形成 JSP 文件。 JSP 与 Java Servlet 一样,是在服务器端执行的,通常返回该客户端的就是一个 HTML 文本,因此客户端只要有浏览器就能浏览。 ASP(Active Server Pages 活动服务器页面 )是一种功能强大的运用于服务器端的脚本编程环境,但是只能用 VBScript 或者 JavaScript 这样的非模块语言来编程,而且大量的 HTML代码和 VBScript、 JavaScript 代码混合在一
13、起,使得程序员需要修改程序的时候比较困难。 而 ASP.NET 技术是 Microsoft 公司推出的新一代动态 Web 开发技术。 ASP.NET 不同于ASP 和 JSP,它是建立在 .NET Framework 之上,提供了更易于编写而且结构清晰的代码,它使用 VB.NET 和 C#等模块化语言编写程序,提高了代码的再利用性和共享性。 ASP.NET毕业设计(论文) 第 2 页 共 43 页 在结构上几乎完全是基于组件和模块化的, Web 应用程序的开发人员使用这个开发技术可以实现更加模块化的、功能更强大的应用程序。 ASP.NET 技术在效率、可重用性及代码量上较 ASP 和 JSP
14、都有明显的优势。 使用 ASP.NET 技术,开发人员不需要理解 HTTP、 SOAP 或其它任何网络服务规范。开发人员用 ASP.NET 生成一个扩展名为 .asmx 的文件,并把此文件配制为网络应用程序的一部分,就建立起了一个网络服务。 asmx 文件包含对在其它地方定义的 受控类的引用,或者包含这个类的定义。这个类是由 ASP.NET 提供的 WebService 类所派生。公有的类方法在标记上 WebMethod 属性后,就会成为网络服务方法,把 HTTP 请求发送到 asmx 文件中的 URL 后,这些方法就会被调用。你不必手工为你的网络服务建立一个契约。当被调用者请求时, ASP.
15、NET 检查类的元数据,以自动生成 SCL 文件。客户可通过 SOAP, HTTP GET 和 HTTP POST 提交请求。对方法和参数进行编码的约定是:对 HTTP GET,将被编码为查询字符串;对 HTTP POST,将被编码为表 单数据。 HTTP GET 和 HTTP POST 的机制不如 SOAP 有力,但是它们使得客户在访问网络服务时不必支持 SOAP。 ASP.NET 网络服务模型假定了一个无状态服务结构。无状态结构通常比有状态结构更具可扩展性。每次收到一个服务请求后,就生成一个新对象,请求被转化为一个方法调用,当该方法调用返回时对象被销毁。如果这些服务需要跨请求维护状态,那么
16、它们将使用 ASP.NET 状态管理服务。基于 ASP.NET 的网络服务在网络应用程序模型中运行,因此它们得到了该模型的所有安全、配制和其它优点。 ASP.NET 网络服务还提供了一个为在 SCL 文件中描述的网络服务生成分类的受控代理工具。代理生成器把 SCL 文件中描述的消息映射成受控类中的方法。代理对应用程序代码隐藏了所有的网络和引导设备,因此使用网络服务看起来就像使用其它受控代码一样。代理将优先使用 SOAP 链接网络服务,但是它同样支持 HTTP GET 和 HTTP POST 机制。因此 HTTP GET 和 HTTP POST 同样也能被使用。 网络服务为在 Internet
17、上绑定应用程序提供了一个利用现存体系架构和应用程序的简单的、灵活的、基于许多标准的模型。网络应用程序很容 易与当地开发的服务或已存在的服务集成在一起,而不用考虑开发平台、开发语言或使用的对象模型,以用于实现任何组成的服务或应用程序。 Microsoft .NET 框架在现有开发人员技巧之上,提供了一个应用程序模板和关键技术,用于简化安全、可靠、可扩展、高可用性的网络服务的建立、部署和不断的发展。 1.3 可行性分析 1.3.1 技术可行性研究 课题主要是理论研究,研究 ASP.NET 技术在网站开发中的应用,关键是要查阅大量的关于 ASP.NET 技术和其他网站开发技术方面的文章和书籍。学校图
18、书馆有大量关于这方面的书籍 可以借阅,另外在互联网上也有关于这方面的大量论文可以查阅。 另外网站的设计主要使用的是 ASP.NET 技术, .NET Framework1.1 框架作为微软公司已经比较成熟的产品,现在越来越多的网站开发设计都选择它。 毕业设计(论文) 第 3 页 共 43 页 1.3.2 经济可行性研究 课题 研究的是 ASP.NET 技术,设计开发的电子商务网站在 PC 机上就可以实现,不要考虑其他的设备。也为以后网站设计开发编程技术的选择提供了更多的技术支持。 1.4 论文各章内容介绍 论文共分为六章,由浅至深的阐述了研究的结论并结合实例进行了说明。 第一章简要的介绍了 M
19、icrosoft .NET 框架,提出了课题研究的背景,并对研究课题做了调研及可行性分析。 第二章主要介绍了 WEB 技术的发展,简单介绍了 ASP, JSP 和 PHP 技术,详细说明了 ASP.NET 技术,并将各种网站开发技术做了深入比较。 第三章全面介绍了对实例系统进行总体设计的方案。 第四章介绍系统的详细设计和各功能模块的设计及实现 第五章介绍系统的应用演示,分别以用户和管理员的身份进行了演示分析。 第六章介绍研究成果的评价及其不足的解决方案 毕业设计(论文) 第 4 页 共 43 页 2 课题研究分析 2.1 网站开发技术研究 2.1.1 WEB 开发 技术的发展 WEB 程序初期
20、,网站组成是一系列静态的网页,这种程序只允许用户浏览网站的信息,而不能和网站进行交互 (即静态网页 ),这就大大制约了商业的经营活动。为此, CGI 技术出现,基本弥补了不能交互的缺点,是技术上的一种突破,但用户在使用 CGI 程序时, CGI为每个用户分配一个进程,进程是资源分配的基本单位,这样使资源不能得到完全很好的利用,并且浪费严重。由于计算机资源的有限性,限制了使用网站的用户的数量,导致用户使用中速度相对过慢,不能满足需求。与此同时 Microsoft 公司和网景公司均看到了 CGI的不足,为 此分别设计的一套 API,分别是 ISAPI 和 NSAPI,这两套 API 均采用线程机制
21、,每个用户均使用一个线程与网站进行交互,他们的出现使得每个语种如 DELPHI、 VB等均可以设计 web 应用程序, WEB 程序获得飞速的发展。但 ISAPI 和 NSAPI 有两个缺点 :一是不太稳定,二是要求程序的设计水平较高不利于普及。 1995 年 java 出现后给网站设计带来了曙光, java 是一个跨平台的程序设计语言,以其一次编译,处处运行的优势,迅速推广。与此同时网站的软件技术出现了 ASP、 PHP,JAVA 也发展出一个分支 JSP,我们一般称 之为3P。 3P 的出现大大降低了网站设计的门槛,为网站普及起着不可磨灭的贡献。 3P 的技术各有千秋。 ASP 是嵌入在
22、HTML 中的一种服务器端编程的 WEB 开发技术,即客户端请求网页时 ASP 文件先在服务器端编译执行,再以 HTML 格式传送给客户端浏览器显示,因此客户看不见 ASP 文件,程序的保密性较好。 ASP 使用的脚本语言是可扩充的,不仅可以使用默认的 VBScript 语言,也可以使用 JAVA Script 或 JScript,通过 plug-in的方式还可以使用 Perl、 TCL 等第三方脚本语言。微软还提供了 InterDev 这 样的 ASP 开发工具。用户在开发的时候可以使用 VB/VC 开发 ActiveX 控件,并借助微软的组件技术 COM来实现几乎所有的 Client/ S
23、erver 方式下具有的功能。但是它所使用的语种不是完全的面向对象式语言,不利于开发大型网站程序,且运行速度较慢。 PHP 是植根于 Unix 或 Linux 的一种网站开发技术,由于 Unix 和 Linux 用于大型服务器上,寻常百姓很少问津,到近些年 Linux 开始推广才逐渐被人们所认识。和 ASP 一样是在服务器进行编程的,不过 PHP 是 GNU 标准的自由软件,不仅它是免费的,和其配合使用的 Apache Server 、 My SQL 数据库也是免费的,其源代码也是向外公开的。 PHP 还具有跨平台性,在 Window98, NT, Linux, Unix 和 Macintos
24、h 等环境下均能运行,而且代码可以重用。由于采用类似 C 和 Perl的语言格式, PHP 含有相当丰富的函数库,上载文件、存取数据库中的二进制图片数据、作图、 XML 解析等功能的实现,只需借助某个或某几个函数即可完成,而不像 ASP 那样需要引入专门的控件才可实现。 PHP 也有其不足。相对 ASP来说, PHP 的自由软件身份使得自身的发展得不到颇具实力的软 件开发公司的支持,其发展具有不定性,相应的参考材料、技术支持也较匾乏。它的类似 C 的语言风格,使它不如ASP 来得容易掌握此外, PHP 提供的数据库接口函数也不统一,在访问数据库时不如 ASP那么方便。 毕业设计(论文) 第 5
25、 页 共 43 页 JSP 是由 Sun 公司推出的非常类似与 ASP 的一种动态网页技术标准。它也提供了在HTML 代码中混合程序代码,由语言引擎进行解释执行的能力。 JSP 使用的是成熟强大的JAVA 语言。客户端请求 JSP 编写的页面时,代码首先被转换成 JAVA 源文件,再编译成支持 HTTP, FTP 等网络协议的 class 文件 (即 Servlet),并由 JAVA 虚拟机执行。这种编译操作仅在对 JSP 页面的第一次请求时发生,虽然首次调用需几秒的编译加载时间,但后续请求只需调用服务器端缓存中的 Servlets 就可以了,比起每次请求都要解释执行的 ASP 代码要快。相对
26、于 ASP 和 PHP 来说, JSP 在跨平台可重用性和安全性上面还是有很多独到之处的。 3P 有一个共同的缺点,就是 HTML 网页代码和脚本混杂,大大增加了网站开发和维护的难度 ,另外也由于微软开发一种能 JSP 相抗衡的新技术, ASP.NET 技术的出现基本改变了这些。 ASP.NET 技术使用完全的面向对象语 言,网页与程序分离有利于更好的设计程序,使得代码更简洁、易于编写,不仅提高了重利用性和共享性,还提高了可调度性、可测量性、安全性和可靠性 ;同时,对不同的浏览器提供了更好的支持。 ASP. NET 能使开发人员创造出更加动态而且伸缩性更强的应用程序,这种应用程序能够更好地满足
27、公司的商业需求,并提供一个更加丰富的开发环境。在兼容以前设计习惯的基础上采用完全的可视化设计,使 windows 程序和网站程序的风格区别缩小,使用任何语种都只要遵守 .NET 规范,都可以使用 ASP.NET,使得技术的推广速度相当快。 2.1.2 技术比较 ASP 和 JSP 都是使用的脚本语言混合 HTML 编程,特别是 ASP 的脚本语言属于弱类型、面向结构的编程语言,而非面向对象,这就明显产生以下几个问题: 1、代码逻辑混乱,难于管理:它使用的是脚本语言混合 html 编程,所以很难看清代码的逻辑关系,并且随着程序的复杂性增加,使得代码的管理十分困难,甚至超出一个程序员所能达到的管理
28、能力,从而造成出错或这样那样的问题。 2、代码的可重用性差:由于是面向结构的编程方式,并且混合 html,所以可能页面原型修改一点,整个程序都需要修改,更别提代码重用了。 3、弱 类型造成潜在的出错可能:尽管弱数据类型的编程语言使用起来会方便一些,但相对于它所造成的出错几率就远远得不偿失的。 以上是语言本身的弱点,在功能方面 ASP 同样存在问题,第一是功能太弱,一些底层操作只能通过组件来完成,在这点上甚至还远远比不上 PHP/JSP,在纠错 /调试功能的完善,这点上 ASP/PHP/JSP 差不多。 下面是 ASP 和 ASP.NET 在具体操作编程上有什么不同。在 ASP 程序中,当需要使用 Server 对象的 Create Object 方法来建立一个类实例的时候,首先要声明一个变量 fso,之后将变量 fso 赋予 FileSystemObject 的对象( FileSystemObject 对象可以在 Scripting 这个库中找到)。如果想要 ASP 代码得以正常运行,还必须确定相关的 DLL 文件已经被安装并且注册到服务器。当 C#运行库被安装的时候, FileSystemObject 对象是会被自动注册的。但是如果想使用第三方开发的组件或者使用自己创建的组件,就需要小心安装并且注册你的组 件了。其具体的代码如下: