第一部分:MapXtremeJava4.5 beta安装
安装步骤:
注意:MapXtremeJava4.5 beta自带的tomcat和apache不是太稳定,经常会发生不能自动关闭和正常启动后还不能
正常访问http://localhost:8080的情况。这种情况下就只有用开始菜单的快捷方式多启动和关闭服务器几次,如果
还不行的话,就只有重新启动操作系统了。如果安装MapXtremeJava4.5的机器上有其他程序也使用了8080端口,例如
oracle自带的apache,这种情况特别容易发生。如果是,请先关闭其他使用了8080端口的程序。有些情况下浏览器可能
会无法访问localhost,这种情况下可以用http://127.0.0.1:8080或者直接用你自己设定的IP地址试试。
1.下载安装jdk1.3.1,这里假设安装的目录是c:\jdk1.3.1。
2.下载MapXtremeJava4.5 beta,www.mapinfo.com.cn下载。
3.安装MapXtremeJava4.5 beta,假设安装目录为c:\mapinfo。
安装过程中系统会首先要求你选择一个java虚拟机,直接选择c:\jdk1.3.1\bin\java.exe或
c:\jdk1.3.1\jre\java.exe,两个java.exe没什么区别。如果没有安装jdk,安装程序将会自动
专为mapxtreme安装一个jvm,系统将不会再要求选择java虚拟机。
安装过程在询问主机名和端口号时,可以直接用默认值,按下一步即可。
安装过程还会询问是否增加到应用程序图标的classpath,其实就是询问是不是需要增加别的类库到
mapxtreme的类路径里。这里最好能将sql server和oracle的驱动路选上,系统将会自动将sql server
和oracle的驱动路径记载下来,否则的话以后需要手动配置。可以在c盘建立一个jdbcdriver的目录,
将sql server 2000的jdbc的三个驱动文件msbase.jar,mssqlserver.jar,msutil.jar
(可在微软网站上下载)和oracle的jdbc驱动文件classes12.zip或者classes12.jar(oracle自带)
拷贝到该目录下,然后在安装过程中将该目录下的所有文件选上即可。注意:必须使用增加zip/jar按钮
直接选中所有jar文件,不能只选中jdbcdriver目录,否则系统将会找不到类库。如果暂时没有这些驱动
没有关系,不会影响系统的安装,可以直接按下一步。
4.安装完的MapXtremeJava4.5 beta集成了tomcat和apache,安装完成后系统根目录下有三个
子目录\apache-1.3.20,\MapXtreme-4.5.0,\tomcat-4.0.1分别存放了apache,mapxtereme
和tomcat。并且在开始菜单里有启动MapXtremeJava4.5服务器和关闭MapXtremeJava4.5服务器的
快捷方式。
5.点击开始菜单里的启动服务器快捷方式,系统会自动将apache和tomcat启动起来。一个标题为
apache web server的dos窗口是apache,另一个dos窗口是tomcat。tomcat的启动速度比较慢,必须
等到tomcat窗体出现了
starting service Tomcat-Standalone
Apahce Tomcat/4.0.1
starting service Tomcat-Apache
Apahce Tomcat/4.0.1
的提示,才能说明tomcat启动完成。如果第二个starting长时间不出现,可能是dos窗口没有刷新,选中
tomcat窗体按几下回车即可。关闭MapXtremeJava4.5服务器时,请一定使用开始菜单里的快捷方式,不要
手动关闭dos窗体。tomcat的关闭也比较慢,如果长时间窗体没有关闭,选中tomcat窗体按几下回车即可,
如果还不行,再手动关闭。
打开浏览器访问http://localhost:8080即可看到系统首页。点击Check MapXtreme Server Status的快捷方式
即可看到mapxtreme 4.5的信息,如果Samples Application链接下的示例程序都可执行的话,mapxtreme就安装成功了。
MapXtremeJava4.5 beta自带的tomcat和apache不是太稳定,经常会发生不能自动关闭和正常启动后还不能正常访问
http://localhost:8080的情况。这种情况下就只有用开始菜单的快捷方式多启动和关闭服务器几次,如果还不行的
话,就只有重新启动操作系统了。如果安装MapXtremeJava4.5的机器上有其他程序也使用了8080端口,例如 oracle
自带的apache,这种情况特别容易发生。如果是,请先关闭其他使用了8080端口的程序。
我和方正联系后确认目前MapXtremeJava4.5 beta已知的问题有:
地图定义管理器不能指定sql Server数据库名,基本不能定义存放在sql server里的地图。
传统的null的填充样式在MapXtremeJava4.5 beta里会显示默认为黑色填充样式,原来白色的地图会显示为黑乎乎的一片。
还有一些问题暂时不能确认是否是mapxtreme的问题:
利用程序打开sqlserver图层时quertystring一定要带where条件,否则会出错。
利用程序打开sqlserver图层时获取图层的bounds有问题。
第二部分:发布web应用
1.mapxtreme的安装目录下有三个子目录,所有的发布内容都放在\tomcat-4.0.1\mxj450\webapps下。
将下载完mapdemo.rar解压成一个mapdemo目录,将mapdemo目录拷贝到\tomcat-4.0.1\mxj450\webapps下,
此时重新启动后的tomcat已经可以发布mapdemo目录了,但apache还不行,必须进行下一步配置
2.apache存放在\apache-1.3.20下,该目录下有一个conf目录存放配置文件,打开该目录下的httpd.conf
(不是httpd.conf.backup)文件(用写字板或ultraedit即可打开,是纯文本文件)。找到文件的最后,可以看
到这样一段:
JkMount /samples45/* mxj450_worker
JkMount /mapviewer45/* mxj450_worker
JkMount /mapxtreme45/* mxj450_worker
在这一段中间加上JkMount /mapdemo/* mxj450_worker变成
JkMount /samples45/* mxj450_worker
JkMount /mapviewer45/* mxj450_worker
JkMount /mapxtreme45/* mxj450_worker
JkMount /mapdemo/* mxj450_worker
即可,保存文件退出。这样apache就知道新增加了mapdemo发布目录。
3.由于mapdemo运行时需要mapxtreme类库,一种方法是把所有的mapxtreme类库路径加入到classpath中,这样太
麻烦。还有一种就是直接将所有的类库拷贝到mapdemo\web-inf\lib目录下,tomcat可以自动应用该目录下的所有类库。
mapxtreme的所有类库存放在\MapXtreme-4.5.0\lib\client,\MapXtreme-4.5.0\lib\common,MapXtreme-4.5.0\lib\server
这三个目录下,将这三个目录下的所有文件分别拷贝到\tomcat-4.0.1\mxj450\webapps\mapdemo\WEB-INF\lib即可。
注意只要拷贝client,common,server目录下的文件,不要带目录拷贝。如果需要连接数据库,一定要将sql server 2000
的jdbc的三个驱动文件msbase.jar,mssqlserver.jar,msutil.jar(可在微软网站上下载)和oracle的jdbc驱动文件
classes12.zip或者classes12.jar(oracle自带)拷贝到该lib目录下(不要将路径加入到classpath中),oracle 8i
自带的一般是classes12.zip,一定要将扩展名改为jar后拷贝到lib目录下,否则连接数据库会出错,而且很难发现问题。
4.在开始菜单关闭mapxtrem服务器后重新启动mapxtreme,然后访问http://locahost:8080/mapdemo/map.jsp,即可看到页面。
如果mapxtreme的安装路径不是c:\mapinfo,请到mapdemo\web-inf下修改web.xml,请找到这一段
gstpath
C:\\MapInfo\\tomcat-4.0.1\\mxj450\\webapps\\mapdemo\\maps\\
如果数据源为file,地图定义类型为gst,指定tab文件存放路径
根据安装的mapxtreme目录将要发布的地图定义文件路径修改正确
例如mapxtreme安装在了d:\mapinfo
gstpath
D:\\MapInfo\\tomcat-4.0.1\\mxj450\\webapps\\mapdemo\\maps\\
如果数据源为file,地图定义类型为gst,指定tab文件存放路径
注意:java里\必须使用\\,目录最后也必须加上\\。
重新启动mapxtreme即可。
第三部分:mapdemo包含文件说明
map.jsp地图控制页面
layer.jsp图层控制页面
\images 存放图片
\maps 存放地图
\web-info\classes\存放Mapservice Servlet
\web-info\lib\用来存放mapxtreme类库和数据库jdbc驱动类(包括了sql server的三个驱动文件和oracle的驱动文件)
\web-info\web.xml Mapservice Servlet的配置文件,可以修改该文件发布不同的地图定义(内有详细说明)
第四部分:Mapservice Servlet的功能简介
通过Http://localhost:8080/mapdemo/servlet/Mapservice可以直接访问该servlet,该servlet大致有以下功能。
Mapservice?rqutype=initmap 返回初始化状态的地图
Mapservice?rqutype=chgmapview放大缩小地图
Mapservice?rqutype=panmap移动地图
Mapservice?rqutype=resetmap将地图恢复为初始化状态
Mapservice?rqutype=boundmap返鹰眼图
Mapservice?rqutype=smallpanmap根据鹰眼图确定地图状态
以后还会实现一些查询分析和简单编辑的功能
我是菜鸟我怕谁!!
本文引用的地址为http://www.gisempire.com/bbs/dispbbs.asp?boardID=23&ID=14820