资源预览内容
第1页 / 共44页
第2页 / 共44页
第3页 / 共44页
第4页 / 共44页
第5页 / 共44页
第6页 / 共44页
第7页 / 共44页
第8页 / 共44页
第9页 / 共44页
第10页 / 共44页
亲,该文档总共44页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
论文题目基于ASP的明星个人网站的设计与开发摘 要本论文课题研究了在WINDOWS环境下,利用Dreamweaver、Flash、Active Server Pages (ASP),数据库等技术进行基于INTERNET的明星个人网站的设计与开发,实现了新闻发布,视频播放 (VOD)与留言板的功能。在本文的第一章主要介绍了WEB的基本情况及其与ASP技术的发展过程,动态网页的发展现状;第二、三章通过软件工程的开发方法进行了用户需求分析,系统分析从而确定了系统的总体结构及运作环境;第四章就个功能模块进行了详细地说明;第五章讲述了本课题的开发过程中遇到的难点及解决的对策;在最后又谈了开发过程的体会及今后的努力方向。通过研究和开发明星个人网站,可使我们了解动态网站的发展,掌握一定的ASP技术,建立INTERNET站点的技术。 一、引 言1.1 Web World Wide Web是Internet上发展最快的领域。最初WWW的发展目的碍于通过网络来传输一个可以同时显示文字,声音,图形,及影响的多媒体系统,使得网络上的信息实现交换,不仅仅局限于文字模式(如News,BBS,Gopher等)。Web是在超文本基础上形成的巨大的信息网。Web时有许多的站点构成。每个web站点是一组资源的集合,这些资源位于Internet/Intranet的一台或多台服务器。Web站点提供信息的基础是网页。 Web开发是基于C/S(客户/服务器)的。这是一个相互的概念,一般把提出请求的一方成为客户端,而把相应请求的一方成为服务器。在这种情况下,客户是浏览器,而服务器就是Web服务器。当网络上的任何一台客户端电脑(Client),通过网络对该服务器(Server)电脑发出请求(Request),即表示该用户想要浏览某个网页,服务器端的电脑就会通过网络把该页的内容传回给客户端的电脑,该电脑的浏览器便会由服务器端的电脑所接受的程序码翻译出来,将内容呈现给用户。 传统的Web站点大都由一个或多个静态HTML页面组成。所谓“静态”是指页面内容“固定不变”,当浏览器通过HTTP向服务器请求提供网页时,服务器是将原先已经设计好的页面传送给浏览器。静态页面仅仅使用标准的HTML代码,有的带有GIF动画。静态页面使得用户只能被动地浏览制作者提供的信息,而且不易维护。为了不断的更新内容,制作者必须不断的重复制作页面。随着站点内容和信息量的日益扩增,工作量大的将超乎想象。 为此,有不少公司提出动态网页的解决方案,所谓的“动态网页”指的是浏览器端和服务器端可以互动,也就是服务器端可以实时处理 浏览器端的请求(Request),然后将处理结果相应给浏览器端。实际上当今活跃的WEB技术的框架是一系列“活跃”的交互操作。活跃的WEB是双方都是活跃的,可以使用活跃的客户机和活跃的服务器结合起来产生最强有力的交互。在这种交互中,可以平衡处理工作,并在最合理的地方处理工作。在短短的时间内,Web的面孔已发生了很大的变化。现在能在Web页面创建应用程序,访问数据库,使其无论在感觉,操作以及用途上都与Windows应用程序非常相似。这些成果之所以可以实现,都要归功于动态网页程序设计语言。 1.2 动态网页设计语言概况 目前,最常用的三种动态网页语言有ASP(Active Server Pages),JSP(Java Server Pages),PHP (Hypertext Preprocessor)。简 介ASP全名Active Server Pages,是一个WEB服务器端的开发环境, 利用它可以产生和运行动态的、交互的、高性能的WEB服务应用程序。ASP采用脚本语言VB Script(Java script)作为自己的开发语言。PHP是一种跨平台的服务器端的嵌入式脚本语言. 它大量地借用C,Java和Perl语言的语法, 并耦合PHP自己的特性,使WEB开发者能够快速地写出动态生成页面.它支持目前绝大多数数据库。还有一点,PHP是完全免费的,不用花钱,你可以从PHP官方站点(http:/)自由下载。而且你可以不受限制地获得源码,甚至可以从中加进你自己需要的特色。JSP是Sun公司推出的新一代站点开发语言,他完全解决了目前ASP,PHP的一个通病脚本级执行(据说PHP4 也已经在Zend 的支持下,实现编译运行).Sun 公司借助自己在Java 上的不凡造诣,将Java 从Java 应用程序 和 Java Applet 之外,又有新的硕果,就是JspJava Server Page。Jsp 可以在Serverlet和JavaBean的支持下,完成功能强大的站点程序。 三者都提供在 HTML 代码中混合某种程序代码、由语言引擎解释执行程序代码的能力。但JSP代码被编译成 Servlet 并由 Java 虚拟机解释执行,这种编译操作仅在对 JSP 页面的第一次请求时发生。在 ASP 、PHP、JSP 环境下, HTML 代码主要负责描述信息的显示样式,而程序代码则用来描述处理逻辑。普通的 HTML 页面只依赖于 Web 服务器,而 ASP 、PHP、JSP 页面需要附加的语言引擎分析和执行程序代码。程序代码的执行结果被重新嵌入到 HTML 代码中,然后一起发送给浏览器。 ASP 、PHP、 JSP三者都是面向 Web 服务器的技术,客户端浏览器不需要任何附加的软件支持。1.3 课题的任务、背景、意义 本课题的任务是建立一个基于ASP的信息管理系统。为了提高自己的能力,结交更多的朋友,和大家分享共同的爱好,我决定以明星个人网站为背景。这样可以做到自己做自己想做的,随心所欲尽情地发挥。 随着Internet的发展,人们的生活与网络息息相关,无论是在精神方面还是物质方面,网络都提供给人们一种新的便捷方式。传统的交流方式已不能满足人们的需要,因此,建立明星个人网站可以为有共同爱好的人们提供一个交流的场所。二、系统简介2.1 系统的开发环境2.1.1 系统的硬件环境 由于本系统是基于Internet的信息发布和查询系统,所以硬件上的设备需要支持网络运作,在开发过程中需采用开发计算机和服务器为硬件开发平台。计算机和服务器的硬件配置为:一台服务器:1.8G CPU、256M 内存、40G硬盘一台PC机:667M CPU、256M 内存、20G硬盘网络设备:网卡、网线、HUB等网络连接设备 最好在构筑防火墙,防火墙是一种运行特定安全软件的计算机系统,它在内部网与外部网之间构筑了一个保护层,只有被授权的通信才能通过保护层,防止未授权、非法入侵和破坏行为。这样网站的安全性得到了保障。 2.1.2 系统的软件环境 本系统采用的是B/S结构,即浏览器/服务器结构,B/S结构事实上是一种类似于终端/主机系统的结构模式,同时又具有客户/服务器模式的分布计算特性。这种结构能实现集中管理,也就是说软件的程序、数据库以及其它一些部件都集中在主机端。用户端除了浏览器(以及所依赖的操作系统)之外无需其它的一些软件和相关的管理维护工作。采用的是浏览器-WEB服务器-数据库服务器三层分布结构。浏览器将更改、删除、新增数据记录等功能的请求申请至服务器,由它与数据库联系完成这些工作然后将结果传回浏览器。WEB服务器的作用是接受成千上万的HTTP请求,然后到数据库里查询,最后一一答复。数据库服务器则完成所有的数据操作。 安装的是TCP/IP协议。TCP/IP协议是Internet的标准通信协议,目前几乎所有流行的操作系统都支持TCP/IP协议。 可见,本系统的核心部分是Web Server,它负责接受远程(或本地)的HTTP查询请求,然后根据查询的条件到数据库服务器获取相关数据,再将结果翻译成HTML和各种Script语言传送回提出查询请求的浏览器。同样浏览器也会将更改、删除、新增数据记录的请求送至WEB服务器,由后者与数据库联系完成这些工作。 操作系统-Microsoft Windows 2000 Server 数据库-Microsoft SQL Server 2000 WEB服务器-IIS5.0(Internet Information Services) 2.2 系统的开发工具2.2.1 Dreamweaver Fireworks与 Flash Macromedia Dreamweaver、Fireworks and Flash 是专业网站设计和生产的解决方案。用它们可以制作出非常好的站点。2.2.2 Asp简介 本系统主要使用的是ASP技术,一下对此技术做一介绍。 ASP(Active Server Pages)是Microsoft公司的服务器的一个部件,可以产生动态的、交互的页面。ASP属于ActiveX技术中的Server端技术,不像Java applet、VBScript、JavaScript那样,Client端的Script命令是由浏览器来解释执行的,而在ASP中,语句是由服务器解释执行,动态生成Web页面送到浏览器。所以,开发者无须考虑浏览器是否支持ASP。 ASP的执行过程:1. 浏览器向服务器发送一个HTTP请求页;2. 如请求页有一个.asp的后缀,则服务器认出是一个ASP页,把这个文件送给ASP.DLL处理。如果请求页不是.asp文件,则这一步不会发生;3. 服务器发送HTML结果给客户端的浏览器;4. 一旦浏览器接收了,它就依照HTML的规定显示该网页。但是,服务器和客户端并没有真正的连接。如下图所示 :-ASP的执行过程:2.2.3 ADO简介ADO是微软提供数据库Web开发者最有效的开发方案,它包含一组优化的访问数据库专用对象集,作用于服务器端,以提供含有数据库信息的主要内容。通过执行SQL命令,让用户在浏览画面中输入、更新、删除站点服务器的数据库信息。ADO是ASP内置的重要组件,在安装ASP时ADO就已经安装了。ADO的主要目的是为了存取数据源的数据、或增加数据到指定的数据源。一般来说ADO必须配合ODBC(Open Database Connectivity)数据库前端存取标准界面,并以SQL命令来操作关系式数据库。ODBC是一个由微软所制定的数据库前端存取标准界面,其目的是为了让客户端的数据库应用程序可以存取各种不同的数据库,包括关系数据库和非关系数据库,例如Oracle、Microsoft SQL Server、Informix、FoxPro、Access、Excel及Dbase等。只要安装不同的ODBC驱动程序就可以连接到不同的数据库并存取该数据库的数据。因此,要想通过ASP来存取数据库,ODBC必不可少。 2.2.4 SQL Server简介 ASP程序可用来提高网页互动性,而数据库中所存取的是数据,通过与数据的配合,才能将最完整的网页显示在用户面前。本系统选用的是SQL数据库。这是最常使用于网页数据库(Web Database)的数据库,相对于Access数据库而言,SQL数据库的功能更加完善,可以称得上是一个数据库系统。 Microsoft SQL Server可以方便地用于组建一个动态的、可具伸展性的数据库体系,并具有将关系数据库管理系统(RDBMS)扩展为虚拟的对象数据库管理系统(ODBMS)的能力。这一特性使Microsoft SQL Server成为当今应用于Internet、Intranet以及Extranet中最具综合性的数据库开发环境。 三 、系统分析 3.1 需求分析 随着Internet的发展,人们的生活与网络息息相关,无论是在精神方面还是物质方面,网络都提供给人们一种新的便捷方式。利用网络构造资源环境,使信息有一个生成、发布、搜索、利用、再创造的手段,更重要的是能进行信息的组织、发布。传统的信息交流方式已不能满足人们的需求。因此,利用网络将明星个人资料搜集起来,为网友们提供一个方便快捷的方式来进行查询是很有必要的。在本网站内主要实现以下功能:在本网站内主要实现以下功能: 1.对于管理员,可以发布、删除、修改新闻信息。 2.嵌入式Web视频点播功能。 3.普通用户能够进行留言(包括对网站的建议和普通留 言),管理员具有对留言进行管理的权限。3.2 系统分析 基于以上的需求分析,本网站必须实现以下几个功能:基于以上的需求分析,本网站必须实现以下几个功能: 1.管理员信息修改:管理员可以对登录用户名、密码进行修改。 2.新闻管理功能:管理员成功登录后,可以发布新的新闻,并且可以对以发布的新闻进行修改和删除。 3.登录功能:用户通过身份验证后,可以进行留言。 4.视频点播(VOD)功能:可供用户在线收看视频。 5.查询功能:用户可对感兴趣的留言进行查询。 那么,为支持以上功能,本网站后台数据库需要由以下部那么,为支持以上功能,本网站后台数据库需要由以下部分组成:分组成: 1.新闻信息:包括新闻标题,内容,发布时间。 2.视频信息:包括视频文件的名称,存放路径。 3.留言信息:包括主题,留言类型,留言者姓名,E-Mail,地址,内容。3.3 数据流图普通用户查 询查询条件数据库显 示查询结果管理员登 陆发 布 信 息修改信息删除信息账号密码发布修改删除修改账号密码四、系统功能实现 4.1 系统总体功能模块结构 基于上述的分析,本网站的主页上将包括以下几个部分:新闻、个人信息、相册、影视信息、收藏、视频播放、留言板。 网站总体功能模块图如下:网站总体功能模块图主 页个人相册留言板个人信息影视信息个人收藏视频点播登录信息删除信息发布新闻发布浏览浏览浏览下载观看登录留言查询修改信息修改密码删除信息4.2 系统前台设计 本站的设计主要采用框架结构。主页上有七个链接,可以链接到相应的页面。以下是本站的主页以及其它页面。 点击News,就会进入新闻发布系统。在该页面可以浏览到最新发布的九条新闻。如果要浏览以前的新闻,可以点击“以前更新”进行浏览。管理员点击“管理登录”就可进入管理界面。登录成功后,可以对新闻进行添加、删除、修改的操作。 管理员登陆界面管理员登录后界面点击Profile进入个人信息界面。这里有关于韩国明星金喜 善的个人文字资料和影视资料。点击Gallery进入金个人相册界面。这里有金喜善的最新照片。点击Film进入影视介绍界面。这里有关于金喜善的一些影视资料。点击Collect进入个人收藏界面。这里有一些收藏品可供Fans欣赏。点击Korea进入视频点播界面。在这里你可以在线收看最新最经典的韩国MTV。 点击FanClub进入留言板界面。4.3 系统后台数据库的设计4.3.1 数据源连接技术 ActiveX 数据对象 (ADO) 是一种既易于使用又可扩展的技术,用于向网页添加数据库访问。可以使用 ADO 编写简洁和可扩展的脚本,连接到与 OLE DB 兼容的数据源,如数据库、电子表格、顺序数据文件或电子邮件目录。 创建 Web 数据应用程序的第一步是为 ADO 提供一种定位并标识数据源的方法。这一步通过“连接字符串”实现。连接字符串是一系列用分号分隔的参数,用于定义诸如数据源提供程序和数据源位置等参数。ADO 使用连接字符串标识 OLE DB 提供程序并将提供程序指向数据源。提供程序是一个组件,用来描述数据源并以行集合的形式将信息展示给应用程序。下表列出了几种通用数据源的 OLE DB 连接字符串: ADO 提供了 Connection 对象,用于建立和管理应用程序与 OLE DB 兼容数据源或 ODBC 兼容数据库之间的连接。Connection 对象的属性和方法可以用来打开和关闭数据库连接,并发布对更新信息的查询。由于本系统采用Access数据库,因此具体的数据源连接方法为:4.3.2 系统的数据库结构 根据系统分析阶段对此系统功能的详细确定,在开发本系统的过程中,设计了3个表,来存放数据,分别是:1)新闻信息表的详细设计:新闻信息表的详细设计: 发布新闻信息时,必须有新闻的标题,内容和发布时间。2)视频信息表的详细设计:视频信息表的详细设计: 为了实现视频点播功能,数据表中必须有视频ID号和视频地址信息。 3)留言信息表的详细设计:留言信息表的详细设计: 一般的留言信息应包括:主题,留言者姓名,E-Mail,来自何处,联系方式,内容。 4.4 系统各模块功能的实现4.4.1 登录模块的实现 在管理登录界面,管理员需要输入用户名和密码,然后进行提交,提交的语句如下: 在chklogin.asp中对提交的内容进行验证,如果输入有误,则会返回登录页面,并且提示出错信息;如果输入正确,则进入到新闻管理页面。相关代码如下: window.alert(错误:请输入用户名字!) location.href = javascript:history.back() window.alert(错误:请输入用户密码!) location.href = javascript:history.back() window.alert(错误:此用户名不存在!) location.href = javascript:history.back() %elseif adminpwdrs(password) then% window.alert(错误:您的密码不正确!) location.href = javascript:history.back() 4.4.2 新闻添加、删除、修改模块的实现 在管理员成功登录后,就可以实现对新闻添加、删除和修改。添加新闻时,输入新闻标题和内容,然后进行提交,提交的语句如下: 在save.asp中对输入的新闻标题和内容进行有效性验证。如果有效则显示添加成功,否则显示错误提示信息。 添加代码如下:添加代码如下:% 删除功能可以实现对现有新闻的逐条删除操作。具体删除功能可以实现对现有新闻的逐条删除操作。具体代码如下:代码如下:window.alert(成功删除一条记录!)location.href = add.asp 修改功能可以对现有的新闻进行标题和内容的修改操作。修改好标题或修改功能可以对现有的新闻进行标题和内容的修改操作。修改好标题或内容后进行提交,提交语句如下:内容后进行提交,提交语句如下:在edit.asp中对修改后的新闻进行重新保存。提交具体代码如下: window.alert(您成功修改了标题和内容!) location.href = add.asp 4.4.3 管理员账号和密码修改模块的实现 在管理员成功登录后,就可以对现有的账号和密码进行修改操作。输入新的账号和密码进行提在管理员成功登录后,就可以对现有的账号和密码进行修改操作。输入新的账号和密码进行提交,提交的语句如下:交,提交的语句如下:在changeinf.asp中对新输入的账号和密码进行保存。具体代码如下: window.alert(您成功修改了您的管理员帐号和密码!) location.href = new_list.htm 4.4.4 嵌入式视频点播模块的实现 播放方式的选择:一般而言,安装好Windows Media Player之后,有两种方式可供选择来连接视频文件。一种是直接在Web页面上提供视频文件的URL地址,当用户点击链接时,Media Player自动识别并实时连接进行播放;第二种方法是通过ActiveX控件方式在Web页面中嵌入Media Player对象,并通过ASP技术为内嵌对象动态指定视频流URL,从而为视频播放提供了一个统一的友好界面。 本系统采用第二中方法,以下具体说明嵌入式WEB视频点播系统的实现方法: 1.插入Windows Media Player对象。定义播放界面、状态栏和控制面板(详细代码见open.asp) 2.建立数据库(如图4.3.3)及连接(详细代码见connect.asp) 3.建立浏览页(如图4.2.9)当点击如图所示的连接,信息被提交给open处理。(详细代码见 mtv_main.asp&open) 至此已经实现了一个基于Web的视频点播的基本功能。但要想把功能做的更完美一些,还需要其它更复杂的考虑。如流媒体的制作、网页美工的设计、网络流速的考虑,以及网站视频文件的有效组织等。4.4.5 查询模块的实现 首先,获取要查询的字符串:首先,获取要查询的字符串:searchname=Request.QueryString(searchname) 然后,生成然后,生成sql语句语句%sql=SELECT * FROM book if searchname then if searchnamereset thensql=sql & where title LIKE sql=sql & %sql=sql & searchname sql=sql & %sql=sql & or sql=sql & name LIKE sql=sql & %sql=sql & searchname sql=sql & %sql=sql & or sql=sql & comment LIKE sql=sql & %sql=sql & searchname sql=sql & %else searchname=nullend ifelseif Session(lx)=all then sql = sql & order by ID DESCelse sql = sql & where leixing= & session(lx) & order by ID DESCend ifend if% 最后,进行数据库连接查找。最后,进行数据库连接查找。在connect.asp中,首先要和数据库建立连接。我们必须先声明一个对象来当作数据库与ASP程序之间的媒介,对象的声明方式如下所示: Set conn = Server.CreateObject(ADODB.Connection) CreateObject是Server对象中内涵的对象建立函数,利用上式即可建立一个可与数据库交换数据的对象。Conn便是一个要与数据库沟通的对象变量。对象建立完后,还要打开通道与数据库做连接才真正算是连接完成。 DBPath=Server.MapPath(data/data.asp) Conn.open Provider=Microsoft.Jet.OLEDB.4.0;Data Source= &DBPath Open 是Connection对象的一个方法,专门用来打开Connection对象与数据库之间的通道。知道了如何与数据库建立连接后,接下来就是要通过Connection对象变量读取数据库中的数据。 Recordset 对象是与读取数据最有关系的对象,通过Connection 对象所读取的数据,都会先存储在Recordset对象中,然后ASP程序就可以从Recordset对象中把数据取出来。在ASP程序中建立Recordset对象,语法如下: Set rs = Server.CreateObject(ADODB.Recordset) Recordset对象建立完成后,便可与数据库做连接并可读取数据,是用指令Open: rs.open sql,conn,1,1 sql是数据来源,代表要从数据库中选取的数据。 Conn是数据连接,数据连接代表与数据做连接的名称,可以用Connection对象变量名称。 1表示启动一个Keyset类型的游标。 1表示Recordset对象以只读方式启动,无法运行AddNew、Update及Delete等方法。 若在数据库中检索不到索要查找的字符串值时,显示无此内容。代码如下所示: if rs.eof and rs.bof then response.write 还 没 有 任 何 相 关 信 息 否则,程序开始分页显示。 五、开发过程中的难点与对策 5.1 ACCESS数据库的安全 由于采用Access数据库,所以难免被他人恶意将数据库下载,对网站安全性构成很大威胁。所以研究目的是防止网站的ACCESS数据库文件被下载。经过查找资料和实践,发现一个可行的办法:将数据库文件的扩展名改为.asp 。然而,事实上即使将扩展名改为.asp,数据库仍然可以被下载,因为这个文件里不含等标签,所以IIS不对这个文件作任何处理,下载的数据库和原数据库完全一样!考虑到这点决定在数据库文件中加入,这样IIS就会按ASP语法来解析,然后就会报告500错误,自然数据库就不能被下载了。可是如果只是简单的在数据库的文本或者备注字段加入%是没用的,因为ACCESS会对其中的内容进行处理,在数据库里它会以 %的形式存在,不行!经最后研究正确的方法是将%存入OLE对象字段里。具体实现方法是先做好一个数据库,在数据库里添加一个表。然后在表中建立一个OLE对象的字段,保存表,保存数据库。最后将数据库的扩展名改成.asp,就好了。5.2 分页显示首先,设定一页的大小const pagesize=5rs.pagesize=pagesize然后,判定当前要显示的页面是第几页,如果是第一页,则指针指向第一条记录currentpage=request.querystring(“currentpage”)if currentpage=”thencurrentpage=0rs.movefirst如果不是第一页,则根据当前显示的页面移动纪录:elsers.move clng(currentpage)*pagesizeend if用recordcount统计全部记录数:共有用currentpage传递当前的显示页:现在显示的是第页根据当前页数决定是否显示上一页或者下一页的连接:0 then%a href=”?currentpage=”上一页上一页if clng(currentpage)a href=”?currentpage=”下一页下一页5.3 ASP中页面的限权访问 在设计网页时,经常遇到某些页面需限权访问的情况。例如:在新闻发布系统中,普通用户只可以浏览新闻,不可以进入管理员界面。通常我们会设置管理登录界面,防止未授权用户进入管理界面。但是,如果有用户直接在浏览器地址输入管理界面,那么他就可能会跳过登录界面的用户身份检查。所以经过分析,我决定在每个管理界面加上保护措施以防止他人恶意破坏。建立identify.asp页,键入如下代码: 建立error.asp页,键入如下代码: MsgBox 对不起,您还没有正确登录或是未操作的时间过长! location.href = login.asp 然后,在每个管理页面的代码顶端加入如下代码:目的是指示 Web 服务器将指定文件的内容插入当前网页中。演示结束谢谢各位老师
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号