第8章应用程序与会话.ppt
《第8章应用程序与会话.ppt》由会员分享,可在线阅读,更多相关《第8章应用程序与会话.ppt(102页珍藏版)》请在三一办公上搜索。
1、第8章 应用程序与会话,主要内容,在ASP中,为了保存与应用程序有关的一些公共信息,设置了应用程序对象;又为了保存访问应用程序的各用户的一些个人信息,设置了会话对象。本章主要讨论:应用程序的概念 应用程序级变量的使用 应用程序对象的事件 会话的概念,会话级变量的使用 会话对象的属性和事件 什么是Cookie 怎样使用Cookie,本章目录,8.2.3 会话对象的属性和方法,8.1.1 创建新的应用程序,8.1.2 应用程序级变量,8.1.3 应用程序对象的事件,8.2.1 会话,8.2 会话对象,8.2.4 会话对象的事件方式发送的信息,8.1 应用程序对象,本章小结,习题,8.3 使用Coo
2、kie,8.3.1 什么是Cookie,8.3.2 写入Cookie,8.2.2 会话级变量,8.3.3 读出Cookie,8.3.4 使用字典,8.3.5 Cookie的属性,8.3.6 检测浏览器Cookie的启用状态,8.1 应用程序对象,基于Web方式的应用程序是指在一个目录下的一组网页文件,及网页文件中所有引用的其它文件的集合。ASP内置的Application对象,称为应用程序对象,它封装了有关应用程序的全部信息,通过它,可以实现让所有访问该站点的用户共享某些信息。以下分别讨论:8.1.1 创建新的应用程序 8.1.2 应用程序级变量8.1.3 应用程序对象的事件,8.1.1 创建
3、新的应用程序,NT上的每个应用程序都属于某个站点,你可以先创建一个站点,再在该站点中创建新的应用程序。为了建立站点和应用程序,你可以先新建两个目录,一个作为站点的起始目录,另一个作为应用程序的起始目录,后者物理上可包含在前者之中。所有的网页文件将放在作为应用程序的目录中。,1.创建Web站点,在NT上建立站点及站点中的应用程序的操作过程如下:打开ISM(Internet Server Manager)。显示如图所示。,1.创建Web站点,右击计算机名,选择添加=Web站点。显示如图:,1.创建Web站点,单击下一步,输入站点说明(如网上教室),如图所示:,1.创建Web站点,单击下一步,选择站
4、点的IP地址(在NT中可以为一台机器设置多个IP地址),显示如图:,1.创建Web站点,单击下一步,选择主目录(它将作为站点的起始目录,)如图所示。,1.创建Web站点,单击下一步,选择访问权限,如图所示。,1.创建Web站点,完成后单击窗口中的启动按钮,启动该站点,结果如图所示。,1.创建Web站点,注意:为了验证书中各例,你并不需要创建新的Web站点,只须使用默认Web站点即可。,2.创建应用程序,右击站点名称,选择添加,虚拟目录,通过向导依次输入虚拟目录别名,它将作为应用程序的名称,如图所示。,2.创建应用程序,选择目录路径,作为应用程序的起始目录,如图所示。单击下一步,选择权限后完成。
5、,3.在PWS中创建虚拟目录,在Windows 98中,通过PWS也可以创建一个基于Web的应用程序,只需要创建一个虚拟目录指向存放一组网页文件的目录即可。具体操作过程如下:创建一个子目录,用于作为应用程序的起始目录。如C:newApp。,3.在PWS中创建虚拟目录,双击状态栏上的个人Web管理器图标,打开个人Web管理器窗口,选择高级,显示如图:,3.在PWS中创建虚拟目录,单击添加,显示添加虚拟目录对话框,如图:,3.在PWS中创建虚拟目录,单击“浏览”,选择目录,如C:newApp,这一目录是实际存放网页文件的目录,它可以是本机上的任意目录。,3.在PWS中创建虚拟目录,别名框中输入虚拟
6、目录的别名,它将作为应用程序的名称,可以由数字、字母或中文符号构成。选中“执行”复选框,这样你的网页中就可以使用各种应用程序和扩展控件。如图所示。,3.在PWS中创建虚拟目录,单击确定,关闭对话框。可看到已经建立的虚拟目录。如图所示。,3.在PWS中创建虚拟目录,注意:在单击“添加”按钮时,要注意当前选中的是哪个目录,否则,可能建立的虚拟目录包含在其它虚拟目录中,给访问带来麻烦。另外,同一组文件可以创建不同的虚拟目录,从而构成不同的应用程序。,8.1.2 应用程序级变量,应用程序级变量是用于记录应用程序一级的信息的公共变量,如应用程序的点击次数,应用程序的版权信息等。它是访问应用程序的各用户间
7、实现交换信息的重要手段。以下分别讨论:1变量的定义 2锁定应用程序对象 3变量的使用,1变量的定义,定义应用程序级变量的形式如下:Application(“变量名”)=值其中变量名可以是一般的符号串。值可以是字符串或数值。例如:Application(“Hitcount”)=1000,2锁定应用程序对象,为了控制由于并发访问而可能产生的错误,在ASP中为Application对象设计了Lock和Unlock这两个方法。使用格式如下:Application.LockApplication.Unlock 使用Application 对象的Lock方法后,其它用户若要修改Application对象的
8、值,则只能等待。而Unlock方法则允许其他用户修改Application对象的值。,3变量的使用,有了Application对象的Lock和Unlock方法后,就可以改变应用程序级变量的值了。如将一个名为“abc”的应用程序级变量加1,可写成形式如下:Application.LockApplication(“abc”)=Application(“abc”)+1Application.Unlock,使用举例(1),网页点击计数欢迎光临本页被点击过次!,网页被访问一次或刷新一次,变量加一,显示变量值,使用举例(1),为了验证本例中的代码,有条件的可以在两台不同的机器上访问该网页。一般情况可以打开
9、两个浏览器窗口,并分别输入如下地址:Localhost/L8_1.asp127.0.0.1/L8_1.asp交替刷新后观察结果。,使用举例(1),为了测试本例的代码,你可以先单击“第一种地址”按钮,等出现浏览器窗口后,通过最小化回到本窗口。再单击“第二种地址”按钮,完成后,用Alt+TAB键切换到浏览器窗口,或通过停止放映后,再切换到浏览器窗口观察效果。,第一种地址,第二种地址,使用举例(2),显示所有应用程序变量 变量名 变量值,使用举例(2),显示所有应用程序变量,应用程序的变量集合,使用举例(2),代码中,使用了一个for each循环,逐个输入Application对象的content
10、s集合中的所有元素的名称和对应的值。浏览结果如图所示。,单击测试,8.1.3 应用程序对象的事件,系统为应用程序对象设计了两个事件,即 Application_onStart和Application_onEnd通过编写相应的事件过程,可以实现必要的控制。以下分别讨论:1应用程序开始事件Application_OnStart 2应用程序结束事件Application_OnEnd 3Global.asa文件,1应用程序开始事件,应用程序的开始事件是在应用程序起始目录下的第一个文件被浏览器访问时发生的,通过这一事件过程,我们可以为一些应用程序级变量设置初值。形式如下:Sub Application_
11、OnStart 应用程序启动时所需执行的一些初始化操作代码 End Sub,1应用程序开始事件,例如:若要将应用程序级变量“NumHits”初始化为0,可使用如下的事件过程。Sub Application_OnStart Application.lock Application(“NumHits”)=0 Application.UnlockEnd Sub,2应用程序结束事件,当网站被关闭时,将发生应用程序的结束事件,可以利用这一事件过程,来保存应保存的一些信息,如当前的点击次数、访问者个数等,以便下次开机后装入。这一事件过程的一般形式:Sub Application_OnEnd 在应用程序结束
12、时需执行的代码放在这里End Sub,3Global.asa文件,在ASP中,为了存放以上各事件过程,专门设计了一个特殊的文件,名字为“Global.asa”,当应用程序开始时,该文件内容将被装入内存,这一文件的格式为:相应的事件过程,表示在服务器上运行,3Global.asa文件,将点击次数初始化为10000的global.asa文件。Sub Application_OnStart Application.lock Application(“NumHits”)=10000 Application.Unlock End Sub,3Global.asa文件,为了验证本例中的内容,可以先为子目录8
13、下面的L8_3创建一个虚拟目录,设名为LL,这样就可以使用如下地址访问:LocalhostLLL8_1.asp,单击测试,注意:如果你修改了Global.asa的内容,应该为这一目录创建另一个名称的虚拟目录,否则该文件不被重新装入内存。,3Global.asa文件,虚拟目录创建后,所在位置和其中包含的文件如图:,8.2 会话对象,会话对象能封装用户和服务器在一次会话期间的一些信息,用于保存用户的一些个人信息。以下分别讨论:8.2.1 会话 8.2.2 会话级变量 8.2.3 会话对象的属性和方法 8.2.4 会话对象的事件,8.2.1 会话,当用户打开浏览器窗口,并输入一个合理的地址,一个会话
14、就创建了,其后,请求的同一应用程序中的不同网页,都属于同一个会话。当服务器确认浏览器窗口已关闭,则会话结束。若浏览器窗口的内容由于长时间的不更新,超过了失效时间,也会自动结束会话。,8.2.2 会话级变量,会话级变量用于保存用户会话一级的个人数据。访问同一网页的不同用户,会话级变量有不同的取值。要在网页中定义一个会话级变量,可使用如下形式:session(“变量名”)=值 例如:session(“xm”)=“张三”,8.2.2 会话级变量,由于会话级变量是私有的,不会因为同一网页可能被同时访问而造成错误,所以和应用程序级变量不同,要改变会话变量的值,不需要进行锁定操作。对会话变量numhits
15、进行加1操作可写成:session(“numhits”)=session(“numhits”)+1 可以使用session对象的contents集合设置和读取会话级变量的值,形式如下:session.contents(“numhits”),会话级变量使用例,显示当前设置的所有会话级变量 next%,会话级变量使用例,为了验证本例中的代码,输入并保存文件到指定目录,打开浏览器输入地址,显示结果会如图所示。,单击测试,会话级变量使用例,在没有关闭浏览器窗口时,试着修改文件中的代码,如可以将“username”改为“un”,保存后刷新浏览器窗口,观察其中的变化。若先关闭浏览器窗口,再修改文件内容,观
16、察其中的区别。,8.2.3 会话对象的属性和方法,ASP内置的会话对象sessione有一些属性,通过读取这些属性值,可以了解和会话有关的一些信息,另外,通过对某些属性的设置,可以为用户会话创建一个较合适的环境。会话对象有如下主要的属性:1CodePage属性 2LCID属性 3SessionID属性 4Timeout属性,1CodePage属性,session对象的CodePage属性用于设定使用的服务器代码页。一旦在网页中设置了某一代码页,则以后内容将使用该代码页中的字符显示。形式如下:session.codepage=936其中:936使用gb2312字符集也可以在网页开始位置使用如下形
17、式的一行指定缺省的代码页。,2LCID属性,LCID是Local indentifier(本地标识符)的缩写,常见的值有3081(澳大利亚英语)、4105(加拿大英语)、2057(英国英语)、1033(美国英语)、1036(法语)、1031(德语)、1041(日语)、1049(俄语)等。该属性设置不同的值会影响日期时间的显示形式。,3SessionID属性,SessionID属性返回当前会话的标识值,只要Web服务器没有重新启动,该值是连续编号的。通过该属性,可以很方便地判断出是否产生了新的会话。,4Timeout属性,Timeout属性用于设定应用程序会话状态的超时时限。当网页打开后,由于用
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 应用程序 会话
链接地址:https://www.31ppt.com/p-5292721.html