Demo 迁移

发送反馈


SuperMap iServer 2008提供的模板(Demo)位于%SuperMap iServer_HOME% \demo 目录下,是一个包含源代码的工程,启动 iServer2008的服务后,就可以通过 http://localhost:7080/demo/index.htm 地址访问 Demo 模板工程。如果把 SuperMap iServer 2008升级到 SuperMap iServer,必须对 Demo 的配置进行修改,才能在 SuperMap iServer 中继续使用。

1.修改配置

Demo 迁移的配置有两种情况:一种是使用原有的 Tomcat 服务器,只把 Web 服务器指向的 GIS 服务器地址替换为 SuperMap iServer 提供的 Handler 类型的服务;另一种情况是把 Demo 整体迁移到 SuperMap iServer 的 Tomcat 服务器中。第一种方法最为快捷,可以快速实现 Demo 的迁移,第二种方法则是用户在完全升级到 SuperMap iServer 不再依赖于 SuperMap iServer 2008的情况下使用的。

(1)使用原有的 Tomcat 服务器

修改 Demo 页面访问的服务器的地址为 SuperMap iServer 的服务器地址。具体操作为:打开页面文件%SuperMap iServer_HOME%\demo\scripts\page.js,修改 function getContextPath() 中的 return 值,使其返回 SuperMap iServer 提供的 Handler 服务如下:

return "http://localhost:8090/iserver/services/components-handler/handler/";     // URI 最后的“/”不可缺少。

经过以上对 contextPath 的修改,当我们访问 Demo 服务的页面的时候,服务的提供者就不再是 SuperMap iServer 2008的 GIS 服务器,而是 SuperMap iServer 提供的 hander 类型的服务。

这种方法可以最快速地实现 Demo 服务的迁移,不过在访问 Demo 之前,除了需要启动 SuperMap iServer,还需要启动 SuperMap iServer 2008的 TomCat。然后访问 Demo 页面,http://localhost:7080/demo/index.jsp,可以看到已经实现了在 SuperMap iSever 中部署原 SuperMap iServer 2008的 Demo 工程。

(2)使用 SuperMap iServer 的 Tomcat 服务器

第一步,把 demo 文件夹拷贝至%SuperMap iServer_HOME%\webapps 中。

第二步,与使用原有的 Tomcat 服务器中一样,需要把 Demo 服务的提供者改为 SuperMap iServer 提供的 handler 服务,即修改\demo\scripts\page.js 文件中 function getContextPath() 中的 return 值,使其返回 SuperMap iServer 提供的 Handler 服务如下:

return "http://localhost:8090/iserver/services/components-handler/handler/";      // URI 最后的“/”不可缺少。

如果用户没有把 demo 文件夹拷贝至%SuperMap iServer_HOME%\webapps 中,则第一步中需要补充以下操作:

在%SuperMap iServer_HOME% \conf\Catalina\localhost 中新建 Demo.xml,把 docBase 参数指向原 demo 代码和工程所在的文件夹:

<Context path=""

docBase="../demo" >

</Context>

其中,docBase 默认路径为%SuperMap iServer_HOME% \webapps,本例 demo 文件夹放在%SuperMap iServer_HOME%下。

启动 SuperMap iServer,访问 http://localhost:8090/demo/index.jsp,可以看到已经实现了在 SuperMap iSever 中部署原 SuperMap iServer 2008的 Demo 工程。因 SuperMap iServer 默认使用8090端口,所以此处也要使用一致的端口。

2.使用 Handler 服务

当用户访问 http://localhost:8090/demo/index.jsp 时,可以看到地图显示的结果,通过获取的 URI 可以看到,客户端的请求是由 SuperMap iServer 服务端的 components-handler/handler 服务来响应的。

URI 示例:http://supermapiserver:8090/iserver/services/components-handler/handler/maphandler?mapName=World Map&x=1&y=1&imageFormat=png&width=512&height=512&mapScale=0.0007839930555555557&layersKey=0&method=gettiledimage

components-handler 服务目前可以对以下几种 SuperMap iServer 2008的 Handler 进行对接:MapHandler、CommonHandler、DataHandler、SpatialAnalystHandler、NetWorkAnalystHandler。

Handler 服务目前实现的功能,请参考Handler 服务的内容