论坛的设计与实现毕业论文 下载本文

辽宁职业学院毕业论文

第2章 系统开发环境

2.1 实施平台

本学生论坛采用目前流行的ASP.NET技术进行开发,采用B/S架构进行开发,开发环境采用微软集成开发环境VS2005进行开发,数据库用SQL2005数据库系统来存放论坛中的数据信息。 2.2 ASP.NET的简介

ASP.NET是一项功能强大、非常灵活的新技术,用于创建编写动态Web页面。它是两项Microsoft公司的ASP和.NET Framework核心技术的结合。动态服务器页面(常称为经典的ASP)已有较长的历史在Web计算方面,它提供了一种强健、快速、有效的方法用于去创建动态Web页面已经有7年甚至今天。[5].NET Framework则是一整套的新技术,Microsoft公司推出此技术的目的是改革未来在所有编程开发中所采用的方法,以及各公司从事业务活动的方法。因此, ASP.NET是利用.NET Framework提供的新功能来创建动态Web页面的一种方法。

对ASP.NET需要说明的第一件重要事情是:用户不需要对ASP有任何的了解就可以学习ASP.NET。学习ASP.NET只需具有一些创建Web页面的HTML知识就可以了。实际上,熟悉ASP在某些方面可能还是一种缺点,因为可能需要忘记以前的一些规则。ASP.NET不仅可以生成动态Web页面,并可以将这些页面根据正在使用的浏览器进行裁剪,而且,它提供了大量的、可复用的预定义控件,用于ASP.NET项目,减少了要编写的代码,从而在编程时提高工作效率。使用ASP.NET能够做什么?要列出它不能做什么大概会更容易些,因为这个列表相当短。ASP.NET最引人注目的改进之一是可以用基于. NET Framework的任何编程语言(例如VB.NET、JScript .NET或C#等)创建Web应用程序。在这些应用程序中, ASP.NET允许为特殊用户定制页面,当用户在Web站点中浏览时更容易跟踪用户信息。

ASP的工作方式是客户端提交请求或申请,服务器接收请求或申请后进行服务器处理,服务器把处理完成的结果传送或返回到客户端,即请求—接收/处理—响应的过程。 ASP提供了6个内置对象:Request、Response、Session、Server、Application、ObjectContext,这些对象可以直接在页面中生成且在脚本使用时不需要创建,它们构成了ASP的基本框架。[6]

1.Request对象是用来处理HTTP请求的,包含各种集合、属性和方法。当客户端使用浏览器通过HTTP协议向Web服务器发请求的时候,Request对象检索传递给Web服务器的项,利用这个对象的集合、属性和方法可以获得浏览器请求到服务器的各项信息和

4

辽宁职业学院毕业论文

数据。

一般主要是把用户在浏览器端输入的信息和其他相应的信息传递给服务器,各个对象被传递到服务器后使用Request对象接收。如表2-1所示:

表2-1 Request对象的集合、属性和方法

名 称 集 合 从Web浏览器发布请求中获取验证字段。如果Web浏览器使用ClientCertificate SSL3.0/PCT1协议,也就是说,它使用以https://开头的URL,而不是http://连接服务器及服务器请求验证,则浏览器将发送验证字段。如果没有发送验证,集合将返回EMPTY。只有先将Web服务器配置为要求客户端验证,然后才能使用集合 Cookies Form QueryString ServerVariables 属 性 TotalBytes 方 法 获取作为POST请求的一部分而从客户端传送到服务器的数据。此方法获BinaryRead 取来自客户端的数据并将其储存在SafeArray的数组中,且包含维数和边界信息,此方法用于在底层访问数据

指定客户端在请求正文中发送的总字节数,该属性只允许读 允许用户检索在HTTP请求中发送的Cookie的值 检索使用POST方法的表格传送到HTTP请求正文中的表格的值 检索HTTP查询字符串中变量的值。HTTP查询字符串由(?)后的值指定。几个不同的进程都可以生成查询字符串 检索客户端预定的环境变量 作用/意义描述 在表1-1所列的项中最常用的是Form、QueryString、ServerVariables三项。服务器是如何接收来自客户端的信息和数据呢?Form容器提交数据的方式有两种,可以使用method参数来确定,当method被设置为post时,就使用Form来接收。

前台是一个命名为testDataRec的容器,它的提交方式为post,里面含有两个input对象,分别为MyName和Mypwd,当用户输入信息后,单击发送按钮,就可以提交给后台接收程序,这个接收程序页必须命名为前台Form容器里的“receiveMe.asp”。

QueryString,当前台的程序使用提交方式为get时,将后台的接收端中的Form修改成QueryString即可。

ServerVariables项接收到的主要是客户端相对应的系统或其他一些相应信息。它

5

辽宁职业学院毕业论文

的内容和格式是确定的,包含了很多项。常用项一般是URL、PATH_INFO、SCRIPT_NAME,通过request. ServerVariables(“URL”)能够获得用户的浏览器地址框里的地址,其实和使用PATH_INFO、SCRIPT_NAME相差不错。

2.Session对象是用来建立Web服务器同客户端的联系,并维持这一联系的,其实是一个管理会话的对象,不仅可以保持管理会话,而且在此会话中,可以为此次会话存储特定用户会话所需要的属于它自己的个性化的信息,当用户在应用程序的Web页之间跳转时,存储在Session对象中的所有这些变量都将不会丢失,而是在整个用户会话中一直存在下去。

当用户请求来自应用程序的Web页时,如果该用户还没有会话,则Web服务器将自动创建一个Session对象。当会话过期或被放弃后,服务器将终止该会话。Session对象的内容如表2-2所示:

表2-2 Session对象的集合、属性、方法和事

名 称 集 合 Content 包括所有未使用标记而为该会话建立的项目。此集合可用于确定指定会话项的值或遍历集合并检索出会话中所有项目的列表 包含Session对象范围中用标记创建的所有对象。可用于确定对象特定属性的值,或用于遍历集合并获取所有对象的全部属性 作用/意义描述 StaticObject 属 性 CodePage LCID SessionID 决定将被用以显示动态内容的代码页,代码页是一个可以包括数字、标点符号、以及其他字母的字符集。 决定用于显示动态内容的位置标识 返回用户的会话标识。在创建会话时,服务器为每一个会话生成一个单独的标识。会话标识以长整形数据类型返回 以分钟为单位为该应用程序的Session对象指定超时时限。如果用户在该时限内不刷新或请求网页,则该会话将终止 Timeout 方 法 Abandon 删除所有存储在Session对象中的对象并释放这些对象的源。如果未明确的调用Abandon方法,一旦会话超时,服务器就将删除这些对象

当用户通过浏览器在输入正确的用户名和密码成功登录后,服务器使用Session来记录这个用户输入的用户名,以方便显示;而且在用户推退出登录后,会将用户的会话Session清除掉。Abandon是Session唯一的方法。可以清除用户的Session对象并释

6

辽宁职业学院毕业论文

放用户所占用的资源。

3.Session对象是用来建立Web服务器同客户端的联系,并维持这一联系的,其实是一个管理会话的对象,不仅可以保持管理会话,而且在此会话中,可以为此次会话存储特定用户会话所需要的属于它自己的个性化的信息,当用户在应用程序的Web页之间跳转时,存储在Session对象中的所有这些变量都将不会丢失,而是在整个用户会话中一直存在下去。

当用户请求来自应用程序的Web页时,如果该用户还没有会话,则Web服务器将自动创建一个Session对象。当会话过期或被放弃后,服务器将终止该会话。Session对象的内容如表2-3所示:

表2-3 Session对象的集合、属性、方法和事件

名 称 作用/意义描述 集 合 Content 包括所有未使用标记而为该会话建立的项目。此集合可用于确定指定会话项的值或遍历集合并检索出会话中所有项目的列表 包含Session对象范围中用标记创建的所有对象。可用于确定对象特定属性的值,或用于遍历集合并获取所有对象的全部属性 属 性 CodePage LCID SessionID 决定将被用以显示动态内容的代码页,代码页是一个可以包括数字、标点符号、以及其他字母的字符集。 决定用于显示动态内容的位置标识 返回用户的会话标识。在创建会话时,服务器为每一个会话生成一个单独的标识。会话标识以长整形数据类型返回 以分钟为单位为该应用程序的Session对象指定超时时限。如果用户在该时限内不刷新或请求网页,则该会话将终止 方 法 Abandon 删除所有存储在Session对象中的对象并释放这些对象的源。如果未明确的调用Abandon方法,一旦会话超时,服务器就将删除这些对象 StaticObject Timeout

当用户通过浏览器在输入正确的用户名和密码成功登陆后,服务器使用Session来记录这个用户输入的用户名,以方便显示;而且在用户推退出登陆后,会将用户的会话Session清除掉。Abandon是Session唯一的方法。可以清除用户的Session对象并释放用户所占用的资源。

4.Server对象提供了访问服务器的方法和属性,它同服务器的关系非常紧密,但

7

辽宁职业学院毕业论文

其中大多数方法和属性是为了实用程序的功能服务的。

这个对象中常用的是HTMLEncode和MapPath。HTMLEncode可以把HTML编码都作为字符显示出来,MapPath用来获得服务器端的绝对路径。

5.Application对象是在特定的应用程序中用于为所有的用户共享信息的饿,基于ASP的应用程序同所在的ASP文件一样在一个虚拟目录及其子目录中定义。为了确保多个用户无法同时改变某一属性,可以共享Application对象。Application对象使用Lock和Unlock方法保证了共享信息管理与操作的可靠性和完备性。

6.ObjectContext对象在ASP里不经常用到,主要是用来提交或放弃一项有Microsoft Transaction Server管理的事物的。

1.ASP.NET的优点: (1)较高的安全性

ASP.NET允许创建“个人账户”和“角色”,以便每个用户都能访问不同的代码和能运行的代码,从而提高应用程序的安全性。

(2)可靠性

ASP.NET是一种可以用于多处理器的开发工具,它在多处理器的环境下用特殊的无缝技术,大大提高了运行速度。即使现在的ASP.NET应用软件是为一个处理器开发的,将来多处理器运行时不需要任何改变就能提高它们的效能。

(3)可扩展性

ASP.NET是一项可扩展技术。为了提高ASP.NET应用程序的可扩展性,改进了服务器间的通信,使得可以在多台服务器上进行一个应用程序。

(4)高效的管理性

ASP.NET使用一种字符基础的,分级的配置系统,使你服务器环境和应用程序的 设置更加简单。因为配置信息都保存在简单文本中,新的设置有可能都不需要启动本地的管理员工具就可以实现。[7]一个ASP.NET的应用程序在一台服务器系统的安装只需要简单的拷贝一些必须得文件,不需要系统的重新启动,一切就变得简单。

(5)易配置和部署

利用纯文本文件配置ASP.NET应用程序,可在程序运行时上传或修改配置文件,而无需重新启动服务器。部署或替换已编译的代码时也无需重新启动服务器,ASP.NET会自动将所有新的请求指向新代码。

(6)简单性和易学性

ASP.NET是运行一些很平常的任务如表单的提交客户端的身份验证、分布系统和网站配置变得非常简单。另外,通用语言简化开发使把代码结合成软件简单。

2. ASP. NET的缺点:

8