MapXtreme教程(doc 71页).doc_第1页
MapXtreme教程(doc 71页).doc_第2页
MapXtreme教程(doc 71页).doc_第3页
MapXtreme教程(doc 71页).doc_第4页
MapXtreme教程(doc 71页).doc_第5页
已阅读5页,还剩66页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

目 录第一章MapXtreme简介1第二章MapXtreme的安装和配置11第三章MapXtreme开发的必备知识HTML介绍14第四章 MapXtreme开发的必备知识ASP技术介绍19第五章 地图引擎(Map Engine)33第六章 MapXtreme系统开发构架39第七章 地图操作功能的实现46第八章 客户端基于Applet的MapXtreme开发指南55第九章 MapXtreme高级应用开发70第一章MapXtreme简介概述随着计算机及网络技术的发展,社会信息的传播将越来越多地依靠Internet和Intranet为载体。Mapinfo公司的MapXtreme是运行于企业Intranet或Extranet网络上的地图应用服务器。利用MapXtreme企业可以将其信息和资源在地图上以多种可视化的方式展现出来,实现企业信息的对外发布,帮助企业进行合理的资源分配,从而有助于企业更有效地进行商业决策及资产管理。第一节 MapXtreme引擎MapX是一个可编程的OCX控件,是可以重复利用的可编程对象,它提供绝大部分MapInfo Professional支持的地图功能,可以利用编程平台所提供的数据库访问机制,也可以利用自身提供的ODBC接口,并可进行数据的智能绑定,下面是主要的功能列表:* 专题化地图地图专题化是用数据制作专题地图的过程。一个专题通常是一条或多条数据。专题化指颜色编码,也指区域填充、符号填充或是你所用于将数据显示到地图上的专题制作方法。最常用的专题图是天气预报图。看到红色区,我们知道那个地方热(温度高);兰色区表示冷(温度低)。还有许许多多类似的显示数据到地图的专题图用法。(例如:饼图和直方图)* 数据绑定你可以将外部数据与你的地图应用进行结合* 注释利用注释在地图上显示相应的文本或者符号,所有的注释都是放在最上层。* 图层图层集合是由 (1-n)个图层对象组成。图层对象是由对象、属性和类型组成的集合。例如,一个地图中包括两个图层:世界地图和中国地图,而世界地图就是这个由两个图层组成的图层集合中的一个图层对象。* 栅格图包含栅格图象可以给你的地图增加底纹。* 自动标注在地图上自动加上标注,显示它们的属性*投影与坐标系支持多种类型的投影与坐标系,使地图遵循标准的地图规范显示* 对象图元准许你编辑对象图元,合并、删除、创建缓冲区。* SpatialWare 连接通过SpatialWare在Oracl,Informix等数据库上调用数据。将空间数据与属性数据都保存在数据库中。第二节MapXtreme 构成MapXtreme通过地图引擎来向应用程序提供可供程序脚本语言使用的地图对象、属性和方法。而MapXtreme脚本语言则通过这些地图对象、属性和方法进行基于电子地图的各种空间分析。当用户利用MapXtreme开发工具完成MapXtreme应用的开发后,便可以通过文件拷贝等方式,将它移植到服务器上。见下图。开 发 环 境l Internet Development(e.g. HAHT site,Microsoft InterDevl Sample ApplicationsWeb 服务器l MapXtreme Serverl Toolsl Map Datal Application ServerPublish Application Via file copy or FTP 以通过文件拷贝等方式,将MapXtreme应用移植到服务器第三节开发应用基础如果你重新设置了你的服务器组成,或者改变你的Web server的目录,你就要启动你的MapXtreme Server Administrator 来重新设置相应的改变,你也能用它来解决数据与地理编码的应用问题。1、 Server Configuration这个对话框主要是用来设置地图(map image)和MapxBroker缺省的一些参数。其中:Map Image Directory :存放mapxtreme 生成的图片的路径。Map Image Alias :mapxtreme 生成图片信息的虚拟名。Default Geoset : 缺省的Geoset 文件默认目录。Debug Mode : MapXtreme 的”Find Nearest sample ”应用程序中同以前版 本兼容性的设置。选中,将会为这个应用程序打开一个日志文件。Updata Mapxtreme Configuration : 将设置好的数据上载更新。MapxBoker Groups :设置启动不同的mapxbroker,便于加快mapxtreme的运算速度。注:点击”add”后,弹出“add new server group”对话框。Group name : “Mapxbroker” 组的名字。Enabled:选中该选项后,Mapxbroker可以产生MapxSever实例。Geoset:用于产生MapxSever实例的地图集。Number of MapxSevers:能够并发访问MapxSever实例的用户数。Max.Usage Time:用户能够保留MapxSever实例的最长时间数,如果该值为0,用户能够使用MapxSever实例的时间不受限制。Max.Wait period:一个会话在调用出错或程序正忙信息前,等待MapxSever实例的最长时间(毫秒)。Map Engine Tab用Map Engine设置,使MapX 启动,同时可以检测Map Engine 是否启动成功。其中: Geoset : 选择出适合的Geoset文件,注意列表中显示出来的都是在 Geodictionary中注册了的。Export Format :从服务器中传到客户端的文件类型。(GIF,JPG,PNG)Courier/Broker 显示map engine 组成状态。如果server端的部件安装成功,MapXCourier,MapXServer对象就会产生。MapXBroker状态取决于MapXBroker是否运行在NT server上,只要是运行在NT server上,而且在控制面板下的服务中申请了MapXBroker服务,该项就会运行。Geocoding Tab 设置地理编码的属性。使用下面的地理编码属性页来测试 MapMarker server。如果正确安装服务器端控件,MapMarker 对象就会产生,否则,MapXtreme不会工作,你需要重新安装。点击设置按钮会显示 MapMarker 对象的属性。Summary tab显示MapXtreme 的配置信息和你的机器的相关信息。第四节MapXtreme应用程序的工作流程当用户在客户端进行相应的地图操作后,客户端浏览器便向 Web Server 发出一个 HTTP 请求,递交 Form 表单。ASP脚本语言应用程序则根据提交表单的信息,判断用户的地图操作请求类型,并对 MapXtreme 地图应用服务器的 Map 引擎进行访问。Map 引擎进行相应的空间分析和处理后,便将处理结果以位图(.gif,.jpg,.Png等)的形式传递给 Web Server ,Web Server 再将此位图文件嵌入到HTML页面中并返回到客户端的浏览器上。MapXtreme的这种B/S应用程序的工作过程,实际上就是用户浏览器与应用服务器之间通过静态或动态的WEB页面进行信息交互的过程。现在MapXtreme for Java2.0 版本除了可以将处理结果以位图的形式嵌入到 HTML 页面中,传递到客户端浏览器之外,还可以将MapXtreme地图应用服务器的处理结果直接以矢量图的形式传递到客户端浏览器中。这样用户在客户端浏览器上对空间地图的操作将具有更大的灵活性。这种浏览器/服务器(Browser/Server)模式的优点是:由于用户端所需软件只是一个简单的浏览器,用户基本上无需培训,用户端软件也无需维护;软件的升级与修改只在服务器端进行,对用户透明;服务器与浏览器可处于不同的操作系统平台。见图2。MapXtreme支持多种应用程序开发方式。用户在安装了MapXtreme之后,便获得了由Mapxtrme提供的多种开发工具,其中ASP(Active Server Pages)及HAHTsite是MapXreme支持的两种最常用的开发方式和环境。其实其它任何支持服务器端Activex控件的开发环境都可以用来开发MapXtreme的应用程序。另外,MapXtreme For Java版还支持UNIX平台上Java语言的开发方式。第五节 MpXtreme 数据地图数据如果用户已经购买了或是利用Mapinfo Professional创建了Mapinfo 地图,则利用MapXtreme安装程序提供的Geoset Manager工具可以将它们转换成 .gst 图形文件,并能在企业应用中直接使用。远程数据库 MapXtreme支持目前商业应用中流行的数据接口,如 ODBC、DAO、Clip-Board、Ole等。同时MapXtreme还可以访问保存在Oracle8I及Mapinfo SpatialWare中的空间地图数据。其中,对Oracle8I的支持是MapXtreme Java 2.0的新特性。通过Oracle Call Interface(OCI) MapXtreme可以将存储在Oralce8I数据库服务器中的Mapinfo空间数据和属性数据同时下载到本地。 第二章MapXtreme的安装和配置第一节安装MapXtreme for NT的系统需求1. 硬件配置服务器硬件配置序号部件要求1中央处理器PII400以上2硬盘Ultra Wide Scsi ,12GB3内存=256MB4软驱、光驱具备5网卡10/100M自适应注意:1. 上述配置为建议配置,不是最小配置要求2. 其余配置可视实际情况配置2. 服务器系统配置服务器系统配置序号名称组件1Windows NT Server 4.0 中文2Windows NT Optional Pack1. Microsoft IIS 4.02. Microsoft Certificate Server 2.03. Microsoft Transaction Server 2.04. Microsoft FrontPage Server Extension5. Microsoft Message Quene Server3*Microsoft Site Server4SQL Server 6.5/ Oracle 8.05MapXtreme1. MapXtreme Server2. MapXtreme Server Manager注意:1. 可视实际情况将MapServer与SQLServer分装不同的服务器上2. 带*者,为推荐性软件第二节安装MapInfo MapXtreme从MapXtreme CD浏览器中选择安装ASP服务器组件。ASP服务器组件安装后,ASP服务器将自动运行。此时,选择或输入正确的目录(用于放置发布地图的临时位图)。这个目录应该命名为mapimage,位置是C:inetpubwwwrootmapimage。开发工具最好选择InterDev。需要注意的是:使用它需要在web服务器上安装frontpage98 extention。测试安装将C:inetpubwwwrootmapimage设置为/mapimage IIS虚拟目录将C:inetpubwwwrootMapXtremeHello World设置为/Hello IIS虚拟目录。将 IIS虚拟目录/Hello的可执行核选框选中。确认已经启动IIS服务(如未启动,则启动)。 在任何一台与Web Server连网的PC上启动IE,运行 /hello,如可启动此地图服务页面,则安装正确。其中是Web Ser第三章MapXtreme开发的必备知识HTML介绍第一节 HTML 概述WebGis的开发当然离不开网页标注语言HTML的知识,HTML是MapXtreme应用系统的最终结果表现。简要的熟悉HTML对我们以后的深一步学习很重要。HTML(Hypertext Markup Language)是一种规范(标准),它通过标记符(TAG)来标记要显示的网页的各个部分。通过在网页中添加标记符,可以告诉浏览器如何显示网页,即确定内容的显示格式和样式。这里是网页的标题内容! 这里是网页的正文内容!此处为粗体显示的文本此处为斜体文本此处为带下划线文本黑体字体浏览器按顺序阅读网页文件(HTML文件),然后根据内容周围的HTML标记符解释和显示各种内容。上述HTML标注在浏览器端显示的内容如下:这里是网页的正文内容此处为粗体显示的文本此处为斜体文本此处为带下划线文本隶书字体第二节在HTML页面中创建超链接指向本地网页的超链接当用户在同一台计算机内将一个页面与另一个页面进行链接时,则不用指定完整的Internet地址,使用相对地址即可。如果两个页面在同一个文件目录下,可以简单地在HREF属性中指定HTML文件名。点击这里链接到创建专题图页面指向其它网页的链接如果超链接指向的内容是外部网页,则应使用完整的路径名,也就是使用绝对地址。点击这里链接到Mapinfo China网站! 第三节在HTML页面上显示一幅图片在网页中加入图像应用IMG标记符。这里是网页的标题内容!第四节在HTML中使用Applet和ActiveX控件Applet(Java小应用程序)和ActiveX控件是两种常用的扩展页面功能的对象。Applet必须由Java语言编写,ActveX控件可以用VB,VBScript,VC+等多种语言编写。在网页中加入Applet, 应用APPLET或OBJECT标记符。Java Applet-Phonebook Example在网页上加入ActiveX控件ActiveX控件是一种特殊的对象,可以嵌入在网页中以便实现多种功能。当用户浏览到包含有控件的网页时,如果本系统中没有提供对该控件的支持,则浏览器会提示下载对该控件。下载后的控件将驻留下计算机中,以便以后继续使用。使用Object标记符,将ActiveX控件嵌入到网页中,并可以使用PARAM标记符指定运行时的参数。AcitveX 演示下面这个控件的制作方法是MapXtreme程序员经常要使用的第五节 在HTML页面中使用表单表单是用来从网上收集反馈信息,与用户进行信息交流的重要手段。HTML中使用FORM标记符向网页中添加表单。域是表单中用来获取用户信息的各种控件。常在表单中使用的域对象有: textboxes, checkboxes, radio groups, image,通常使用INPUT来向表单中添加各种域控件。表单必须被提交后,才能在其它页面(也可以返回给本页面)获得用户输入到表单域中的各种信息。创建表单AcitveX 演示您的姓名: 您的密码: 提交表单操作表单的按钮有如下几种:1.提交按钮提交按钮是用户发表单时使用的按钮,按此按钮将发送表单。2.重置按钮重置按钮是用户为取消输入的表单内容而使用的按钮,按此按钮将清除原来的全部输入。3.图形化提交按钮可以使用一个图像来作为提交按钮注意:上述的几个对象都必须放在标记符中间。第六节 url地址中的参数在HTML的URL链接地址串中可以附带一些参数,客户端和服务器端的交互也可以采用这种方式进行,但是限于URL地址的长度被限制在1024字节之内,所以这种方式的使用一定要注意不能超过此数值。 链接这里TOOL=10;POINT=1;X0=100;Y0=150都可以作为参数被RESPONSETOAPPLET.ASP所解析和使用。第七节 DHTML技术基于MapXtreme 的开发还需要动态网页(DHTML)技术,以便能够灵活的设计出更加强大的地图应用功能,DHTML(Dynamic HTML简称:动态HTML)并不是一门新的语言,而是一种技术的总称,它使用HTML,CSS及客户端脚本等技术,使网页具有动态交互的功能。VBScript 示例程序w通常使用VBScript和JavaScript写客户端脚本程序,此类技术更详细的使用请参考有关书籍!第四章 MapXtreme开发的必备知识ASP技术介绍第一节ASP概述ActiveServer Pages(ASP)为开发Web站点强大的,基于服务器的功能提供了应用结构。由于ASP的逻辑在Web服务器上运行,用ASP创建的应用可以被跨不同平台运行的多种Web浏览器访问。 ASP提供了一些内核功能:服务器端脚本你可以直接将VBScript,JScript,Perl或其它语言的语句等脚本嵌入HTML页面,以使它们在Web服务器上而不是在Web浏览器上执行。灵活的Web-数据库连接通过服务器端脚本和Active Data Objects(ADO),你可以容易地在Web站点上建立丰富的数据库功能。状态管理你可以用内置对象在每个用户每个应用,和每个服务器基础上跟踪和管理应用的状态。使用内置对象可帮助你克服无状态的Hypertext Transfer Protocol(HTTP)的限制。 Active Server Components也许最重要的是,你可以例示和使用可编程的组件。你可以用Visual C+,Visual Basic,Visual J+,BorlandDelphi和Powersoft PowerBuilder等工具创建这些组件。这使得你能将Web应用和已存在的客户ASP在下面的Microsoft Web服务器上工作: Windows NT Server 4上的Microsoft Internet Information Server 3 Windows NT Workstation 4上的Microsoft Peer Web Services Windows 95上的Microsoft Personal Web Server 你可以用服务器端脚本容易地创建动态内容,此内容响应用户提供的信息申请,个人的配置文件或条件逻辑这样的事件。使用服务器端脚本,相同的物理Web页面可以被定制为每一次下载都不相同的页面。你也可以用服务器端脚本动态产生客户机端交互作用。例如,你可以检查被使用的浏览器是否支持Java,然后决定是否在将Java程序传给浏览器前先将它放在Web页面上。 Common Gateway Interface(CGI)编程已经被用于为Web应用提供服务器端智能,CGI编程很复杂而且不灵活。利用服务器端脚本和ASP,你可以巧妙地使用Visual Basic或JavaScript编程经验,更快速地创建Web应用。第三方厂家的脚本引擎(如Perl)不仅支持VBScript和JScript,还可以嵌入到这些工具中。MapXtreme所带的所有示例程序都是利用JavaScript编写的。 一个ASP页面由一个HTML文档和内置的服务器端脚本逻辑组成。脚本逻辑(如VBScript或JScript)在Web服务器中执行,然后从文档中舍去,只有HTML被发送到浏览器。由于ASP Web页面是HTML文档,所有的HTML标记都可被ASP文件使用。在将ASP文件传给浏览器之前,你可以在源ASP Web页面上动态地产生HTML标记。你可以在ASP文件的任何地方自由地加入服务器端脚本,并将它与HTML集成。第二节ASP入门 了解ASP的最好方法是写一个ASP Web页面。要创建ASP Web页面,使用Visual InterDev Source Code Editor向已有的HTML页面中插入脚本命令,用带有.asp后缀的文件名保存此页面,将此页面发送给客户之前,命令服务器处理脚本命令。你可以在Web浏览器中打开ASP Web页面,查看脚本的结果。 采取以下步骤创建ASP Web页面: 1. 启动Visual InterDev,打开一个工作区。 2. 选择File菜单中的New命令。 3. 在New对话框的File页面上,单击Active Server Page图标。 4. 选取Add To Project选项。 5. 将文件保存为hello.asp(ASP Web页面必须带有.asp后缀,此后缀是自动加上去的)。 6. 在标记后重新开始一行,插入以下脚本命令: FONT SIZE=Hello World! 7. 单击工具栏中的Save按钮保存此文件。完整的文件包含以下脚本:Document TitleFONT SIZE=Hello World! 脚本命令放在分隔符之间。在页面内遇到分隔符间的脚本时此脚本被执行,Script标记内的脚本只在被过程调用时执行。任何位于标记之外的正文在浏览器中都显示为HTML正文。 上面的脚本例子中作了一个循环,多次显示“Hello World”。第一次循环,计数器i设为3,第二次循环,计数器i等于4,直到计数器i等于7,循环才结束。每一次循环,字体大小都被设为计数器i的值。这样,文本第一次出现,它的大小是3,第二次出现,它的大小是4,最后一次出现,大小是7。你可以用操作符将脚本表达式放在HTML标记中,表达式的数值写入Dynamic HTML页面。下面一行语句将当前的字体大小设为计数器i的值:FONT SIZE=第三节在 ASP 脚本语言中使用对象 ASP框架提供的对象(相关的方法,事件和属性)含有Web服务器和它的的环境信息,它们使得处理形状简单和易于管理,并提供了一个灵活的数据存储系统。你可以将这些功能加入Web应用中,使它成为功能强大的Web应用,它易于开发和维护,并具有更强的扩展性。 Active Server Framework中的五个内置对象为: Application对象 Request对象 Response对象 Server对象 Session对象Application对象 Application对象可以用来在所有使用你的应用的用户之间共享信息。应用的定义与虚拟目录和它的子目录下的所有.asp文件相同。 Application对象有两种方法锁定(Lock)和解锁(Unlock)。因为数据在用户间共享,当你申请改变应用变量时,这两个方法使你能够有效地锁定和解锁对应用对象的访问。与Application对象有关的事件是Application-OnStart和ApplicationOnEnd。这些事件在global.asa文件中声明,global.asa文件是VisualInterDev Web项目中的一部分。在Application对象中设置变量的语句如下: Application(variable_name) = variable 你可以用如下语句引用变量的数值: MyVariable = Application(variable_name) Request对象从浏览器中将信息传给服务器的一个方法是用HTTP申请。Request对象通过HTTP申请从浏览器中检索信息。五种类型的变量可以通过Request对象传给你的应用。每种类型都有自己的集合,它们是: QueryStringHTTP查询字符串中变量的数值。 FormHTTP请求体中形状元素的数值。 CookiesHTTP请求中发送的Cookies的数值。 ServerVariables预定的环境变量数值。 ClientCertificate客户身份证明中存储的字段的数值,客户身份证明由HTTP请求发出。 Response对象 Response对象用来向浏览器发送信息。它具有集合,属性和方法。事实上,它只有Cookies集合,可用来设置Cookies的值。这与Request集合中的Cookies集合相反,后者用于阅读Cookies的值。Response对象的属性和方法都在附录D中得到了详细的介绍。这一节,我们只着眼于普通属性和方法,如Buffer,Expires,ExpiresAbsolute属性和Clear,End,Flush,Redirect,Write方法。Server对象 Server对象提供的方法和属性允许你交互作用运行你的应用的机器Web服务器。 Server对象有ScriptTimeout属性和四种方法:CreateObject,HTMLEncode,MapPath,URLEncode。虽然Server对象中可用的方法和属性不多,它们都非常有用。Server对象为你在自己的Web应用中使用服务器端ActiveX组件创造了一条途径。它允许你在由Visual Basic,Visual C+,或其它可产生COM组件的开发环境创建的Web应用中例示组件。 Server对象的CreateObject方法是内置ASP对象中最重要的方法。通过向它发送服务器组件的Programmatic ID(ProgID),产生该组件的一个示例,并且赋给它一个对象变量。Session对象 Session对象与Application对象的相似之处在于,它的global.asa文件中也含有事件,不同之处在于,Session对象为特殊的用户工作期存储信息。Session对象在整个工作期内持续有效,它为持续状态问题(象“购物卡”类应用中需要从一个页面到另一个页面持续跟踪用户的问题)提供了一个优雅的解决方案,对于无状态属性的HTTP协议,这将是一件难事。 在Session对象中设置变量的语句如下:Session(variable_name) = variable 你可以引用这个变量的值:Variable = Session(variable_name)你还可以创建自己的 ActiveX 对象,并在ASP页面中使用。例如在MapXtreme 应用中, 就必须创建一个 Map Engine 对象 (Based on MapX)。第三节 使用SSI包含其它文件服务器端包含文件ASP中最令人感到得心应手的功能是服务器端包含文件。这个功能允许你于任何运行时间在ASP Web页面动态地包含任意文件。这个功能在创建全局函数,页眉,注脚或其它多重页面上再使用的元素时,是极其有用的。如果你打算修改这些函数或HTML片段,你可以做一次操作,修改将自动地反映在所有用服务器端包含文件引用此文件的页面上。与服务器端包含有关的一个协定是它们向服务器端处理添加少量附加操作,因为Web服务器不得不搜寻要包含的文件,并把它并入ASP Web页面。需要说明的是,包含文件也可以在规则的HTML页面使用。 在ASP进行处理之前,#INCLUDE将另一个文件的内容插入.asp文件,如下所示: 包含的文件不需要特殊的文件扩展名,但是,我们建议给包含的文件.inc扩展名以区别于其它类型的文件。 用Virtual关键字指明一个虚拟目录下的路径。参看Microsoft Web服务器的在线文档可获得使用虚拟目录的信息。例如,一个位于虚拟目录/Myapp下,叫作footer.inc的文件,其内容被下面的语句插入到另一个文件中: File关键字指明一个相对路径,相对路径以含有包含文件的目录为起点。例如,你的文件在目录Myapp下,文件header1.inc在目录MyappHeaders下,下面一行语句将header1.inc插入你的文件: 带有./的File参数用来包含上层目录中的文件。脚本命令和过程必须放在脚本分隔符,HTML标识和,或者HTML标识和之间。也就是说,用户不能在.asp包含文件中打开脚本分隔符,并在包含文件中关闭分隔符,脚本或脚本命令必须是一个完整的单元。 向你的项目中加入服务器端包含文件的非常简便的方法是使用VisualInterDev的设计时包含控件。这个设计时控件允许你在你的Web站点上所有元素的图形化目录树视图中进行选择,并且自动地产生适当的包含语句。 通过选择Insert ActiveX Control和从设计时控件列表中选取包含控件,你可以向你的Web页面中插入服务器端包含文件。第四节ASP管理应用状态Web开发者所面临的最困难的事情是如何管理应用的工作时状态信息。当你要跟踪在你的站点上登录的用户的信息时,就会面对这样的问题。例如,一个用户一页一页地选择打算购买的货物时,你需要将那些信息存在某个地方,以便显示用户的所有选择,并计算总价值。你可能将这些信息存入数据库,但是,你需要一个临时存储的方案。 这就是Active Server Pages(ASP)允许你对它的Server对象,Application对象和Session对象所做的事。你可以用这些对象处理确定的任务,如向客户浏览器发送cookies(存放在客户机器上的变量)或者在对象中存储信息以便日后再使用。 Web站点是你的服务器上某个目录中的HTML文件的集合,ActiveServer应用实际上是.asp文件和.htm文件的集合。你可以只用.htm文件,但是,如果你打算使用Active Server-Side Scripting,你需要一些ASP文件。因为服务器不会在.htm文件中运行服务器端脚本代码。 ASP应用中一个特殊的文件是global.asa,用于声明对象和定义事件进程Global.asa文件 当你用Visual InterDev中的Web Project Wizard建立一个新Web项目时,自动加入Global.asa文件。这个ASP文件带有.asa后缀而不是.asp后缀。这个文件定义事件进程,当应用或工作期开始或结束时,这些进程由事件触发。第一个用户访问应用时,应用开始执行,最后一个用户的工作时间结束时,应用停止运行(在Internet Information Server 3中,直到Web服务停止,应用才停止。)。每一个用户访问你的Web站点都作为一个工作期。 当第一个用户在应用中开始一个工作期时,ApplicationOnStart事件发生。例如,事件发生于某人第一次访问你的Web站点。用户的工作期由global.asa中自动产生的工作期ID识别。如果这个用户一直在你的站点上而另一个人访问你的站点,不会发生ApplicationOn Start事件。换句话说,应用的一个实例为所有的工作期服务,你可以编写应用开始和结束所触发的代码(事件进程)。在IIS3中,Web服务停止了,应用才结束,ApplicationOnStart事件发生在应用结束,而不是最后一个用户离开应用或最后一个用户的工作期结束。 SessionOnStart事件进程是放置应用启动代码的好地方,它类似于Visual Basic应用的主表单中的OnLoad事件。你可以编写由新用户访问或离开你的站点所触发的事件进程。SessionOnStart事件经常被用来记录访问站点的次数。可以同时存在许多“工作期”对象,每个使用站点的用户都有一个。 缺省情况下,一旦一个用户遇到Visual InterDev项目的第一个ASPWeb页面,global.asa页面被执行。执行过程中,在幕后发生了几件事情:检查来自浏览器的请求,是否发送了有效的工作期cookie。如果是,不执行global.asa,因为用户在已经进行的工作期中工作。但是,ASP Web页面被执行。 如果没有来自浏览器的有效工作期cookie,将开始新的工作期,并执行下面的操作: 执行global.asa 产生该用户的工作期识别标志SessionID。 产生一个cookie,并且发送给浏览器,已经开始的工作期的一系列请求可以被识别。 如果这是应用的第一个工作期,ApplicationOnStart事件发生。 SessionOnStart事件发生。应用的事件 除了在被加载的页面上运行脚本代码,ASP应用还可以响应事件。Application对象不象Visual Basic中的表单和控件有一打事件,它只有两个事件:ApplicationOnStart和ApplicationOnEnd。你可以在事件发生时编写要执行的代码。 ApplicationOnStart事件发生在第一次有人开始一个新的Web应用工作期。例如,假设没有人访问你的Web站点。然后有用户A,B,C来访问站点,根据这个顺序,只在用户A访问站点时发生事件ApplicationOnStart。用户B和C访问站点时,应用已经处于运行状态,ApplicationOnStart事件不会再发生。ApplicationOnEnd事件在关闭IIS的Web服务时发生。1.1 Application_OnStart Application_OnStart事件代码存放在global.asa文件中。下面是global.asa文件的一个例子,这个文件含有Application对象和Session对象的OnStart事件过程和OnEnd事件过程。Sub Session_OnStartInsert script to be executed whena session startsEnd SubSub Session_OnEndInsert script to be executed whena session endsEnd SubSub Application_OnStartInsert script to be executed whena application startsEnd SubSub Application_OnEndInsert script to be executed whena application endsEnd SubGlobal.ASA示例 Sub Session_OnStart Runs the first time a user runs any page in your applicationDefine the life of this session (minutes) Session.Timeout = 3Create an instance of MapX on the server Set Session( MAP ) = Server.CreateObject( MapX.Map.3 )Get a local pointer to a MapX instance created on the session object dim objMapXset objMapX = Session( MAP )Set objMapXs propertiesobjMapX.GeoSet = us.gst Set the GeoSet objMapX.SetSize 350, 350 Define the size Thats it. Now all hits to this session should be able to use the MapX object objMapX.ExportMap C:ASPTEST.GIF, 2End SubSub Session_OnEnd Runs when session times out or quitsEnd SubSub Application_OnStart Runs once when the first page of your application is run for the first timeEnd SubSub Application_OnEnd Runs once when the web server shuts downEnd Sub第五节 MapXtreme应用程序工程的构建为MapXtreme安

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论