Tomcat中使用SuperMap Objects Java

Tomcat中使用SuperMap Objects Java

​ 本文以 Web 工程为切入点,介绍 SuperMap Objects Java 在 Web 服务中的应用。本文以【SuperMap Objects Java 6R SP3】版本为例介绍,经过 6R 及 7C 多版本测试验证,本文涉及的功能与版本无关,可适用于任意 SuperMap Objects Java 版本。开发环境以 MyEclipse 为例,布署环境以 Tomcat 为例,可酌情参考。

MyEclipse 使用 SuperMap Objects Java

1.1 建 新建 Web 工程

新建 Web 工程,设置 Servlet 类、web.xml(详见附录一)等文件,工程截图如图一所示:
这里写图片描述

1.2 置 设置 MyEclipse 中环境变量

在【Windows】——【Preferences】中搜索【Tomcat】,在常用的 Tomcat(本文修改的是 MyEclipse 自带的 Tomcat)中设置【Append to classpath】及【Append to library path】两项,前者需要添加用到的 JAR 包,后者需要添加 SuperMap Objects Java 的bin 目录,如图二所示:
这里写图片描述

1.3 运行

以第二步设置的 Tomcat 运行 Web 工程,结果如图三所示
这里写图片描述
Tomcat中布署

2.1 载 下载 Tomcat

通过如下地址下载 Tomcat,假设下载并解压至 C 盘:http://apache.fayea.com/apache-mirror/tomcat/tomcat-7/v7.0.47/bin/apache-tomcat-7.0.47-windows-x86.zip

2.2 拷贝布署文件

在 MyEclipse 工作空间下找到运行的工程文件,路径为【MyEclipse 工作空间全路径】+
【.metadata.plugins\com.genuitec.eclipse.easie.tomcat.myeclipse\tomcat\webapps\TestJava】,
拷贝【TestJava】整个文件夹至【C:\apache-tomcat-7.0.47-windows-x86\apache-tomcat-7.0.47\webapps】文件夹下。

2.3 贝 拷贝 SuperMap Objects Java 运行环境

拷贝 SuperMap Objects Java 的 bin 目录,粘贴至如下目录(图三为推荐目录):Tomcat——【support】——【objectsjava】文件夹(文件夹均为新建)。
这里写图片描述

2.4 用 拷贝使用 JAR 包

从 2.3 中 bin 目 录 拷 贝 工 程 使 用 到 的 JAR 包 至 2.2 的 布 署 工 程 目 录 ,【C:\apache-tomcat-7.0.47-windows-x86\apache-tomcat-7.0.47\webapps\TestJava\WEB-INF\lib】文件夹内,例如本示例工程仅用到【com.supermap.data.jar】,本步骤就只需拷贝一个 JAR 包。

2.5 设置 SuperMap Objects Java 环境变量

在【C:\apache-tomcat-7.0.47-windows-x86\apache-tomcat-7.0.47\bin】文件夹中以记事本方式打开【startup.bat】,在 Tomcat 启动之前即【call “%EXECUTABLE%” start %CMD_LINE_ARGS%】之前增加如图五的参数即可:
这里写图片描述

2.6 运行

在 IE 中输入如下地址http://localhost:8080/TestJava/GetDatasetCountServlet,会看到如图六的效果:
这里写图片描述
附录一
工程名 TestJava
Package 名 test
Java 文件名 GetDatasetCountServlet
Java 代码

package test;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.supermap.data.Datasource;
import com.supermap.data.Workspace;
import com.supermap.data.WorkspaceConnectionInfo;

public class GetDatasetCountServlet extends HttpServlet
{
	public void doGet(HttpServletRequest request, HttpServletResponse response)
	{
		try
		{
			String wkspPath = "C:/World/World.smwu";
			Workspace wksp = new Workspace();
			WorkspaceConnectionInfo info = new WorkspaceConnectionInfo(wkspPath);
			int result = 0;
			if (wksp.open(info))
			{
				Datasource ds = wksp.getDatasources().get(0);
				if (ds != null)
				{
					result = ds.getDatasets().getCount();
				}
			}
			wksp.close();
			wksp.dispose();
			response.setContentType("text/html;charset=UTF-8");
			PrintWriter writer = response.getWriter();
			writer.print("数据集数目为:" + result);
			writer.flush();
			writer.close();
		} catch (IOException e)
		{
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
}

web.xml配置

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<servlet>
<description>This is the description of my J2EE
component</description>
<display-name>This is the display name of my J2EE
component</display-name>
<servlet-name>GetDatasetCountServlet</servlet-name>
<servlet-class>test.GetDatasetCountServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>GetDatasetCountServlet</servlet-name>
<url-pattern>/GetDatasetCountServlet</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>

工程引用需引用 com.supermap.data.jar

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值