文档章节

Mapxtreme java IntraServletContainerRenderer实现

seandu
 seandu
发布于 2015/08/09 22:27
字数 335
阅读 11
收藏 0

IntraServletContainerRenderer是Mapxtreme java的一种渲染器,他的特点是,图片直接发送到客户机,不需要通过中间层,可以提高图片显示的速度,下面是他的具体实现

MapJ mapJ = new MapJ();
		mapJ.loadMapDefinition("c://test.mdf");
		mapJ.setDeviceBounds(new DoubleRect(0,0,800d,600d));
		ServletConfig thisServletConfig = this.getServletConfig();
		ServletContext thisServletContext = thisServletConfig.getServletContext();
		this.logger.info("thisServletContext = " + thisServletContext.getContextPath());
		//这个路径的是这样,你的项目的mapxtreme的路径是
		//http://localhost:9090/test/mapxtreme
		//那么这里就写/test/mapxtreme就可以取到了
		ServletContext mxtServletContext = thisServletContext.getContext("/test/mapxtreme");
		this.logger.info("mxtServletContext = " + mxtServletContext);
		if(mxtServletContext != null) {
			try
			{
			IntraServletContainerRenderer isRenderer = new IntraServletContainerRenderer(mxtServletContext, "mapxtreme", request, response);
			ImageRequestComposer imageRC = ImageRequestComposer.create(mapJ, 256, Color.blue, "image/gif");
			isRenderer.render(imageRC);
			}
			catch(Exception e)
			{
			} 
		}

然后,还需要在web.xml里面还需要这么写

<!-- core MapXtreme Java servlet -->
	<servlet>
		<servlet-name>
			mapxtreme
		</servlet-name>
		<servlet-class>
			com.mapinfo.mapxtreme.MapXtremeServlet
		</servlet-class>
		<load-on-startup>1</load-on-startup>
	</servlet>

	<!-- internal servlets which are called by MapXtremeServlet -->
	<!-- these servlets should not be called directly!          -->
	<servlet>
		<servlet-name>
			mxtj_image
		</servlet-name>
		<servlet-class>
			com.mapinfo.mapxtreme.ImageHandlerServlet
		</servlet-class>
		<load-on-startup>2</load-on-startup>
	</servlet>
	<servlet>
		<servlet-name>
			mxtj_metadata
		</servlet-name>
		<servlet-class>
			com.mapinfo.mapxtreme.MetadataHandlerServlet
		</servlet-class>
		<load-on-startup>3</load-on-startup>
	</servlet>
	<servlet>
		<servlet-name>
			mxtj_vector
		</servlet-name>
		<servlet-class>
			com.mapinfo.mapxtreme.VectorHandlerServlet
		</servlet-class>
		<load-on-startup>4</load-on-startup>
	</servlet>


	<!-- Named Resources servlet -->
	<servlet>
		<servlet-name>
			namedresource
		</servlet-name>
		<servlet-class>
			com.mapinfo.jndi.namedres.NamedResourceServlet
		</servlet-class>
	</servlet>

	<!-- CoordTransform servlet -->
	<servlet>
		<servlet-name>
			coordtransform
		</servlet-name>
		<servlet-class>
			com.mapinfo.coordsys.io.CoordTransformServlet
		</servlet-class>
	</servlet>

	<!-- 这里就是mapxtreme的路径 -->
	<!-- servlet URL mappings -->
	<!-- mapxtreme -->
	<servlet-mapping>
		<servlet-name>
			mapxtreme
		</servlet-name>
		<url-pattern>
			/servlet/mapxtreme
		</url-pattern>
	</servlet-mapping>
	<servlet-mapping>
		<servlet-name>
			mapxtreme
		</servlet-name>
		<url-pattern>
			/mapxtreme
		</url-pattern>
	</servlet-mapping>

	<!-- namedresource -->
	<servlet-mapping>
		<servlet-name>
			namedresource
		</servlet-name>
		<url-pattern>
			/servlet/namedresource
		</url-pattern>
	</servlet-mapping>
	<servlet-mapping>
		<servlet-name>
			namedresource
		</servlet-name>
		<url-pattern>
			/namedresource
		</url-pattern>
	</servlet-mapping>

	<!-- coordtransform -->
	<servlet-mapping>
		<servlet-name>
			coordtransform
		</servlet-name>
		<url-pattern>
			/servlet/coordtransform
		</url-pattern>
	</servlet-mapping>
	<servlet-mapping>
		<servlet-name>
			coordtransform
		</servlet-name>
		<url-pattern>
			/coordtransform
		</url-pattern>
	</servlet-mapping>

版权声明:本文为博主原创文章,未经博主允许不得转载。

© 著作权归作者所有

seandu
粉丝 9
博文 47
码字总数 18863
作品 0
项目经理
私信 提问
JVM学习心得体会 (第一天)

Java虚拟机 Java虚拟机(Java Virtual Machine) 简称JVM Java虚拟机是一个想象中的机器,在实际的计算机上通过软件模拟来实现。Java虚拟机有自己想象中的硬件,如处理器、堆栈、寄存器等,还...

seng
2013/06/25
239
5
什么是Java语言?java语言简介

Java是由Sun Microsystems公司于1995年5月推出的Java程序设计语言(以下简称Java语言)和Java平台的总称。用Java实现的HotJava浏览器(支持Java applet)显示了Java的魅力:跨平台、动态的W...

阿秀a
2010/10/19
0
0
[Java] JAVA和JVM运行原理

JVM是java的核心和基础,在java编译器和os平台之间的虚拟处理器。它是一种利用软件方法实现的抽象的计算机基于下层的操作系统和硬件平台,可以在上面执行java的字节码程序。 编译器负责把Jav...

枫兮兮
2014/03/12
952
3
1.3.2 java程序的运行机制和jvm

java语言比较特殊,由java语言编写的程序需要经过编译步骤,但这个编译步骤并不会生成特定平台的机器码,而是生成一种与平台无关的字节码(也就是*.class文件)。当然,这种字节码不是可执行...

Gooiem
2015/08/17
298
1
Java中ThreadLocal的设计与使用

ThreadLocal是什么 ThreadLocal是什么呢?其实ThreadLocal并非是一个线程的本地实现版本,它并不是一个Thread,而是thread local variable(线程局部变量)。也许把它命名为ThreadLocalVar更...

DragonRace
2013/11/25
324
0

没有更多内容

加载失败,请刷新页面

加载更多

好程序员大数据学习路线分享函数+map映射+元祖

好程序员大数据学习路线分享函数+map映射+元祖,大数据各个平台上的语言实现 hadoop 由java实现,2003年至今,三大块:数据处理,数据存储,数据计算 存储: hbase --> 数据成表 处理: hive --> 数...

好程序员官方
今天
6
0
tabel 中含有复选框的列 数据理解

1、el-ui中实现某一列为复选框 实现多选非常简单: 手动添加一个el-table-column,设type属性为selction即可; 2、@selection-change事件:选项发生勾选状态变化时触发该事件 <el-table @sel...

everthing
今天
6
0
【技术分享】TestFlight测试的流程文档

上架基本需求资料 1、苹果开发者账号(如还没账号先申请-苹果开发者账号申请教程) 2、开发好的APP 通过本篇教程,可以学习到ios证书申请和打包ipa上传到appstoreconnect.apple.com进行TestF...

qtb999
今天
10
0
再见 Spring Boot 1.X,Spring Boot 2.X 走向舞台中心

2019年8月6日,Spring 官方在其博客宣布,Spring Boot 1.x 停止维护,Spring Boot 1.x 生命周期正式结束。 其实早在2018年7月30号,Spring 官方就已经在博客进行过预告,Spring Boot 1.X 将维...

Java技术剑
今天
17
0
浅谈java过滤器Filter

一、简介 Servlet中的过滤器Filter是实现了javax.servlet.Filter接口的服务器端程序,主要的用途是过滤字符编码、做一些业务逻辑判断如是否有权限访问页面等。其工作原理是,只要你在web.xml...

青衣霓裳
今天
9
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部