收藏 分享(赏)

ArcIMS应用系统安装手册精品资料.doc

上传人:风样花鼓 文档编号:21124342 上传时间:2023-07-07 格式:DOC 页数:20 大小:390.05KB
下载 相关 举报
ArcIMS应用系统安装手册精品资料.doc_第1页
第1页 / 共20页
ArcIMS应用系统安装手册精品资料.doc_第2页
第2页 / 共20页
ArcIMS应用系统安装手册精品资料.doc_第3页
第3页 / 共20页
亲,该文档总共20页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、ArcIMS应用系统安装手册一、 安装之前请检查软件需求(如果不符合,请先完善后再安装)。操作系统:Win2000以上Web browser:Internet Explorer 5.0以上Java环境安装:JDK1.4.2Web、JSP/Servlet服务器 Tomcat5(推荐版本:5.0.28)注意:数据库Server2k要求至少是sp3,ArcSDE安装后建立city业务库和sde空间数据库。二、 JDK安装安装JDK,推荐JDK1.4.2版本,只安装JRE将会使Tomcat不能够正确运行。另外最好卸载机器里面原来的tomcat,servletExec,Java runtime等。环境变

2、量设置,变量名:JAVA_HOME,变量值填入你的JDK安装目录。三、 安装Tomcat1 程序安装查看JAVA_HOME环境变量,如果系统中没有该环境变量,单击新建,分别填入变量名:JAVA_HOME,变量值填入你的JDK安装目录。安装tomcat5.0安装的时候选择NT Service选项。修改tomcat缺省安装目录为:盘符:tomcat50。安装目录建议不要有空格。安装完毕后,设置环境变量添加CATALINA_HOME,值为:Tomcat50。安装完成测试:http:/localhost:8080 如果显示tomcat默认页面,表示成功。2 系统配置参见应用系统安装的tomcat相关配

3、置。3 中文问题tomcat的j2ee实现对表单提交即post方式提示时处理参数采用缺省的iso-8859-1来处理,tomcat对get方式提交的请求对query-string 处理时采用了和post方法不一样的处理方式。post方式的解决办法(已配置在了war包里,不用单独处理)get方式中文编码的解决办法:打开/conf/下的server.xml文件,找到下面部分,加入如下内容:URIEncoding=”GB2312”。参考如下:设置好了重启tomcat,中文问题就OK了。四、 安装ArcIMS 9.0在开始安装ArcIMS9.0之前请停止Tomcat服务,并最好关闭所有正在运行的程序,

4、尤其是Internet浏览器。要求以系统管理员身份(或拥有管理权限用户)登陆系统安装。1 安装ArcIMS 9.0第一步 在安装程序目录选择并执行setup可执行程序,开始ArcIMS9.0的安装。系统会弹出欢迎安装ArcIMS程序对话框。点击Next按钮进行下一步。第二步 安装协议对话。在对话框中选择I accept the license agreement选项,并点击Next进行下一步。第三步 ArcIMS安装要求说明对话。在此对话框中,主要说明了安装所必须的主要程序,像Web Server和Servlet引擎等。单击Next进行下一步。第四步 选择ArcIMS组件。根据需要在下面的对话

5、框中选择所需要的组件,这里我们只是为了测试,故保留默认选择。在此对话框中,你可以修改通过点击Browser按钮选择ArcIMS9.0的安装目录。单击Next进行下一步。第五步 开始安装。如果确信前面的选择正确,请点击Next开始进行下一步。否则,可以通过Back按钮返回并重新选择。第六步 安装进行中。第七步 完成安装。单击Finish按钮完成并退出安装。点击Finish后,安装向导会弹出一对话框,提示你是否立即通过Post Installtion程序配置ArcIMS。如果点击确定则开始ArcIMS的配置。否则,你可以通过开始-所有程序-ArcGIS-ArcIMS-ArcIMS Post Ins

6、tallation开始ArcIMS配置。2 Post Installation开始ArcIMS配置。在进行ArcIMS Post Installation安装之前请确认Tomcat服务正在运行,否则向导开始设置ArcIMS时会处于漫长的等待状态,如果你在最后几步发现等待太久,请确认一下Tomcat是否在运行,如果没有正在运行,请立即运行之,这样你的安装可能很快就会完成。第一步 选择授权配置选择第三项:I have received an authorization file from ESRI and am now ready to finish the registration proces

7、s。找到授权文件。第二步 设置Website和Output目录。Website目录用来存贮ArcIMS地图服务的Web页面,Output是ArcIMS服务的软件目录。第三步 确定工作目录、Web服务器主机名和拟使用的协议。第三步 ArcIMS应用服务主机设置。第三步 键入管理员信息。在此System DomainUser name中以图示的形式输入系统域名和用户名,注意此用户必须具有系统管理权限,以便系统能够创建并启动ArcIMS服务。第三步Web服务器和Servlet引擎组合选择。我们因为已经使用Apache作为Web服务器并选用Tomcat作为Servlet引擎这里选择最后一项,手动配置。

8、配置方法如下:1将ArcIMSConnectorsServlet下拷贝aimsservletconnector.war到webapps下,并且重命名为servlet.war。重启tomcat自动部署servlet。2 在目录servletWEB-INFclasses 下打开 Esrimap_prop文件。修改AppServerMachine变量值APPSMACHINE为安装IMS的机器名。4 重启ArcIMS、tomcat服务。3 检查ArcIMS是否安装成功安装并配置好ArcIMS后,如果你对你的安装不确信是否已经安装成功,则请按照如下步骤进行检测。在检查之前,请首先启动Tomcat Ser

9、vlet引擎,并确保ArcIMS Application Server 9.0、ArcIMS Monitor 9.0和ArcIMS Tasker 9.0服务已经启动。这几个服务可以从开始-控制面板-管理工具下的“服务”管理器程序来查看并停止或启动。第一步 从开始菜单-所有程序-ArcGIS-ArcIMS中选择并执行Diagnostics程序。注意:对于Windows XP sp2来说,由于其严格的安全性,可能会使得此页面不能正常显示,现象显示为:页面上没有http协议的选择按钮;页面左侧的栏目中显示不出文字内容;在HostName下面的编辑框中显示不出你已经配置好的主机名;在Port下的编辑框

10、中不能显示端口号。若出现此情况,你可以通过点击页面顶部的细长信息栏,在弹出的快捷菜单中点击“允许阻止的内容(A)”来使页面正常显示。第二步 在页面的Select component to test下面点击1和2按钮,分别弹出类似以下的窗口则说明ArcIMS Servlet连接器ArcIMS应用服务器没问题。如果两个都成功表明,安装成功了。五、 应用系统安装1 数据库驱动安装 需要放置一份驱动到commonlib中。SqlServer的JDBC驱动包括msbase.jar,mssqlserver.jar,msutil.jar三个包。2 war包安装到webapps下新建一个city文件夹,将所有

11、内容拷到该处。3 tomcat相关配置在confserver.xml中配置数据源。配置虚拟目录。在文件的与之间,可以直接配置在之前。 factory mons.dbcp.BasicDataSourceFactory maxActive 100 maxIdle 30 maxWait 10000 username sa password saa driverClassName com.microsoft.jdbc.sqlserver.SQLServerDriver url jdbc:microsoft:sqlserver:/city:1433;databaseName=city 4 数据库连接配置

12、将数据连接文件db.properties放到bin下面# database connection propertiesdriver=com.microsoft.jdbc.sqlserver.SQLServerDriverurl=jdbc:microsoft:sqlserver:/city:1433;databaseName=cityusername=sapassword=saa将对应地方改成相应数据库服务器参数。4 配置地图服务。配置地图服务stcity。5 安装测试。输入http:/host:8080/city测试,能登陆系统表示系统安装正常。附录资料:从 XML 生成可与 Ajax 共同使

13、用的 JSON时下,非常流行使用 JavaScript 代码为数据驱动的 Web 应用程序添加互动性。若能将数据编码成 JavaScript Object Notation(JSON)的格式,您就可以更轻松地通过 JavaScript 语言使用它。通过本文,发掘使用 XSLT V2 从 XML 数据生成 JSON 的几种不同方法。几年前,许多开发人员很看好 XML、XSLT、Extensible HTML (XHTML)和其他一些基于标记的语言。现在,Asynchronous JavaScript and XML(AJAX)成了新的热点,人们又将目光转向了使用 JavaScript 代码的数据

14、驱动的富 Internet 应用程序。但是开发人员是否已经消除了 XML 和这一新技术之间的鸿沟呢?当然,您可以在 Web 客户机中使用 XML 解析器来读取数据,但这种做法会带来两个问题。第一,出于安全方面的原因,XML 数据只能从与此页面相同的那个域中读取。这虽然不是什么大的限制因素,但它的确会引起部署方面的问题,还会阻碍 DHTML 小部件的创建。第二,读取和解析 XML 会非常慢。另一种做法是让服务器执行 XML 的解析工作,方法是设置服务器,使之向浏览器发送以 JavaScript 代码或时下流行的 JavaScript Object Notation(JSON)编码的数据。本文将展

15、示如下三种使用 XSLT V2 语言和 Saxon XSLT V2 处理器从 XML 数据生成 JSON 的技巧: l 简单编码 l 通过函数调用加载数据 l 编码对象 JSON 简介要学习如何将数据编码成 JSON(它只是 JavaScript 的一个子集),最好的方法是从数据开始。清单 1 显示了书籍列表的一个示例 XML 数据集。清单 1. 基本的图形化图书馆 Code Generation in Action JackHerrington Manning PHP Hacks JackHerrington OReilly Podcasting Hacks JackHerrington O

16、Reilly 这个数据集很简单,只包含三本书,每本书都具有惟一的 ID、书名、作者姓名及出版商的名字。(没错,我只选择了我自己的书作为数据集,但能怨我吗?这些书实在是不可多得的节日和生日礼物。)清单 2 显示了这些数据在 JSON 中的效果。清单 2. JSON 中的示例数据集 id: 1, title: Code Generation in Action, first: Jack, last: Herrington, publisher: Manning , . 方括号 () 表明这是一个数组。大括号 () 则表明这是一个散列表,该散列表由一组名称和值对组成。在本例中,我创建了一个散列表的数

17、组 用来存储这类结构式数据的一种常见方法。另外一点值得注意的是字符串是通过单引号或双引号被编码的。所以,如果我想用单引号编码 OReilly,我就必须使用反斜杠对它进行转义:OReilly。 这让我编写的这个 XSLT 样式表更为有趣了一些。我并未在本例中放上任何日期,但您也可以通过如下两种方法来编码日期。第一种方法是将日期作为字符串,该字符串必须在后面被解析。第二种方法是将日期作为一个对象,比如:publishdate: new Date( 2006, 6, 16, 17, 45, 0 )这段代码将 publishdate 的值设置为6/16/2006 5:45:00 p.m.。简单编码接下

18、来我将陆续介绍 JSON 编码的几种技巧。第一种也是其中最简单的一种,此样式表如 清单 3 所示。清单 3. simple.xsl 样式表 var g_books = 1, id: ,name: ,first: ,last: ,publisher: ;要理解此样式表,不妨先来看一下 清单 4 所示的输出。清单 4. simple.xsl 的输出var g_books = id: 1,name: Code Generation in Action,first: Jack,last: Herrington,publisher: Manning, id: 2,name: PHP Hacks,firs

19、t: Jack,last: Herrington,publisher: OReilly, id: 3,name: Podcasting Hacks,first: Jack,last: Herrington,publisher: OReilly;这里,我将名为 g_books 的变量设置为一个包含三个散列表的数组,每个散列表包含关于该书的信息。再回过头来看看 清单 3,您会发现第一个模板匹配 / 路径,它也是首先应用到输入数据集的模板,该模板使用 for-each 循环来遍历每本书。之后,它使用 标记来将文本从该数据输出到 JavaScript 输出代码。对于字符串,我使用名为 js:escap

20、e() 的定制函数,它在模板之前定义。该函数使用一个正则表达式将一个单引号标记更改为带有反斜杠的单引号标记。最后一个重要的元素是 标记,它告知处理器要输出的是文本而不是 XML。要检验此过程是否可以正常工作,我加入了一个 simple .html 文件,该文件引用我在 simple.js 保存的 XSL 样式表的输出。这个 HTML 文件如 清单 5 所示。清单 5. simple.html 文件Simple JS loaderdocument.write( Found +g_books.length+ books );.html 文件使用 标记简单地加载已编码了的 JavaScript 代码

21、。之后,第二个 标记将数组的长度写出到浏览器页面,如 图 1 所示。图 1. simple.html 的输出好了!数据文件包含三本书,相应的 JavaScript 文件也包含三本书。它真的可以工作!通过函数加载上述第一个示例很简单,而且在大多数情况下可以发挥其作用,但它存在一些问题。第一个问题是对于数据何时被加载没有任何提示。如果数据是像页面那样被静态加载的,这不成问题。但是如果页面动态创建了一个 标记来按需加载数据,那么就很有必要知道 标记是何时完成的。实现此功能的最好的方法是让编码了的数据调用一个 JavaScript 函数,而不是只设置数据。这个概念很重要,所以我将花一些时间来介绍一下为

22、什么您必须要通过动态生成的 标记来加载数据。页面加载后,从服务器获得数据是 Web 2.0 的核心功能。一种方法是使用 AJAX 机制通过到服务器的调用来加载 XML。然而,出于安全性的原因,AJAX 机制只限于从单一域获取数据。这在大多数情况下都没有问题,但有时,您可能需要 JavaScript 代码运行在他人的页面上(例如,Google Maps)。在这种情况下从服务器获得数据的惟一方法是通过动态加载 标记。获悉 标记何时加载的最好的方法是让 标记返回的脚本调用函数而不是简单地加载数据。清单 6 显示了在函数调用中编码的数据。清单 6. Function1.jsAddBooks( id:

23、1,name: Code Generation in Action,first: Jack,last: Herrington,publisher: Manning, id: 2,name: PHP Hacks,first: Jack,last: Herrington,publisher: OReilly, id: 3,name: Podcasting Hacks,first: Jack,last: Herrington,publisher: OReilly );清单 7 给出了相应的 .html 文件。清单 7. Function1.htmlFunction 1 JS loadervar g_

24、books = ;function AddBooks( books ) g_books = books; drawbooks( g_books );稍后将详细介绍 drawbooks 函数。这里重要的是了解一下页面如何定义 AddBooks 函数,该函数随后会由 function1.js 文件中的脚本调用。该 AddBooks 函数负责处理数据。而且被调用的 AddBooks 函数会向页面指示 标记被正确加载,并已加载完成。要创建 function1.js 文件,我只对样式表稍微做了一点修改,如 清单 8 所示。清单 8. function1.xsl 样式表AddBooks( 1, id: ,

25、name: ,first: ,last: ,publisher: );这里,我调用了一个函数,而不是简单地设置一个变量。这就是我所做的惟一更改。回到页面,我使用了 drawbooks 函数来构建书的表格,这样我就能够确认数据被正确编码和正确显示。此函数是在 drawbooks.js 内定义的,如 清单 9 所示。清单 9. Drawbooks.jsfunction drawbooks( books ) var elTable = document.createElement( table ); for( var b in books ) var elTR = elTable.insertRow

26、( -1 ); var elTD1 = elTR.insertCell( -1 ); elTD1.appendChild( document.createTextNode( booksb.id ) ); var elTD2 = elTR.insertCell( -1 ); elTD2.appendChild( document.createTextNode( booksb.name ) ); var elTD3 = elTR.insertCell( -1 ); elTD3.appendChild( document.createTextNode( booksb.first ) ); var e

27、lTD4 = elTR.insertCell( -1 ); elTD4.appendChild( document.createTextNode( booksb.last ) ); var elTD5 = elTR.insertCell( -1 ); elTD5.appendChild( document.createTextNode( booksb.publisher ) ); document.body.appendChild( elTable );这个简单函数创建了一个表格节点,然后循环访问书的列表并为每本书创建一行,为每个数据元素分配一个单元格。此页面上的代码的结果如 图 2 所示。图

28、 2. function1.html 的结果现在我就可以查看一下此页面的输出并确认来自原始 .xml 文件的一切均已被正确转换成 JavaScript 代码,且数据被发送到 AddData 函数并被正确添加到页面。细化函数调用技术我很喜欢函数调用这一技术,但我并不赞同将所有图书数据都放入一个块中。另一种方式是为每条记录采用一个调用,如 清单 10 所示。清单 10. Function2.jsAddBook( id: 1,name: Code Generation in Action,first: Jack,last: Herrington,publisher: Manning );AddBoo

29、k( id: 2,name: PHP Hacks,first: Jack,last: Herrington,publisher: OReilly );.对 .html 页面只需做少许修改,如 清单 11 所示。清单 11. Function2.html.var g_books = ;function AddBook( book ) g_books.push( book ); .这里更改了 XSLT,以使函数调用驻留在 for-each 循环体内。清单 12 显示了更新后的样式表。清单 12. function2.xsl.AddBook( id: ,name: ,first: ,last: ,p

30、ublisher: );.对这个给定示例来说,这种更改看起来有些随意。但如果原始的 XML 数据集有多种数据类型,要为每种类型分配一个单独的函数调用会使 XSL 和页面上的 JavaScript 代码更为简单、更易于维护。编码对象对小的页面来讲,使用 JavaScript 函数没有问题。但对于大型项目,就需要使用 JavaScript 语言的一些面向对象特性。是的,JavaScript 语言可以处理对象而且可以处理得很好。清单 13 显示了如何创建带有数据的对象。清单 13. Object1.jsg_books.push( new Book( id: 1,name: Code Generati

31、on in Action,first: Jack,last: Herrington,publisher: Manning ) );g_books.push( new Book( id: 2,name: PHP Hacks,first: Jack,last: Herrington,publisher: OReilly ) );在本例中,我只简单地向名为 g_books 的数组添加了 Book 对象。JavaScript 的对象创建与 Java、C# 或 C+ 编程语言的对象创建十分相似。都是一个 new 操作符后跟一个类名。参数放到随后的括号内。在本例中,我传入了一个带值的单一散列表,并将其分割

32、成单独的一些参数。创建此对象的代码如 清单 14 所示。清单 14. Object1.xslg_books.push( new Book( id: ,name: ,first: ,last: ,publisher: ) );此页面内最值得注意的是定义 Book 类的那部分代码。清单 15 显示了该页面。清单 15. object1.html.var g_books = ;function Book( data ) for( var d in data ) thisd = datad; .Book 类的构造函数循环访问散列表的所有数据。对于每个键,会在对象上创建一个具有对象名称和数据的实例变量。不需要对 drawbooks 函数做任何修改,因为对象都有与原始的散列表相同的键和值。JavaScript 语言并不区分访问的是散列表内的命名值还是对象上的命名值。当然,Book 类应该有像 set 和 get 这样的访问程序。 清单 16 显示了我是如何对 JavaScript 数据进行编码的。清单 16. Object2.jsva

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 网络科技 > 其他相关文档

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报