Tomcat中使用SuperMap Objects Java

xiaoxiao2021-02-27  168

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

转载请注明原文地址: https://www.6miu.com/read-13934.html

最新回复(0)