⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 exportmaptowmcservlet.java

📁 esri的ArcGIS Server超级学习模板程序(for java)
💻 JAVA
字号:
/**
 * 
 */
package com.esri.solutions.jitk.data.wmc;

import java.io.IOException;

import javax.faces.FactoryFinder;
import javax.faces.application.ApplicationFactory;
import javax.faces.context.FacesContext;
import javax.faces.context.FacesContextFactory;
import javax.faces.lifecycle.LifecycleFactory;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.esri.adf.web.data.WebContext;

/**
 * @author vlad2928
 *
 */
public class ExportMapToWMCServlet extends HttpServlet {

	private static final long serialVersionUID = -1149948838919122886L;
	private static int counter = 0;
	
	@Override
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		
		LifecycleFactory lFactory = (LifecycleFactory) FactoryFinder.getFactory(FactoryFinder.LIFECYCLE_FACTORY);
		FacesContextFactory cFactory = (FacesContextFactory) FactoryFinder.getFactory(FactoryFinder.FACES_CONTEXT_FACTORY);
		FacesContext fContext = cFactory.getFacesContext(getServletContext(), request, response, lFactory.getLifecycle("DEFAULT"));
		ApplicationFactory aFactory = (ApplicationFactory) FactoryFinder.getFactory(FactoryFinder.APPLICATION_FACTORY);
		WebContext webContext = (WebContext) aFactory.getApplication().createValueBinding("#{mapContext}").getValue(fContext);
		
		response.setContentType("text/xml; charset=UTF-8");
		response.setHeader("Content-Disposition", "attachment; filename=" + getUniqueFileName() + ".cml");
		response.setHeader("Expires", "0");
	    response.setHeader("Cache-Control", "must-revalidate, post-check=0, pre-check=0");
	    response.setHeader("Pragma", "public");
	    
	    response.getWriter().print(new WMCWriter(webContext).write(request.getParameter("mapName"), request.getParameter("mapDescription")).toString());
	}

	private synchronized static String getUniqueModifier() {
		java.text.SimpleDateFormat formatter = new java.text.SimpleDateFormat("ddHHmmssSSS");
		return formatter.format(new java.util.Date()) + counter++;
	}
	
	private synchronized static String getUniqueFileName() throws java.net.UnknownHostException {
		return java.net.InetAddress.getLocalHost().getHostName() + "_" + getUniqueModifier();
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -