printservlet.java

来自「esri的ArcGIS Server超级学习模板程序(for java)」· Java 代码 · 共 50 行

JAVA
50
字号
package com.esri.solutions.jitk.web.tasks.print.browser;

import javax.faces.FactoryFinder;
import javax.faces.context.FacesContext;
import javax.faces.context.FacesContextFactory;
import javax.faces.lifecycle.Lifecycle;
import javax.faces.lifecycle.LifecycleFactory;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.log4j.LogManager;
import org.apache.log4j.Logger;

@SuppressWarnings("serial")
public class PrintServlet extends HttpServlet{
	private static Logger logger = LogManager.getLogger(PrintServlet.class.getName());

	public void init(ServletConfig config) throws ServletException{
        super.init(config);
    }

	public void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException{
    	try{
			String id = request.getParameter("id");
			FacesContext facesContext = FacesContext.getCurrentInstance();
			if (facesContext == null){
				FacesContextFactory contextFactory = (FacesContextFactory)FactoryFinder.getFactory(FactoryFinder.FACES_CONTEXT_FACTORY);
				LifecycleFactory lifecycleFactory = (LifecycleFactory)FactoryFinder.getFactory(FactoryFinder.LIFECYCLE_FACTORY);
				Lifecycle lifecycle = lifecycleFactory.getLifecycle(LifecycleFactory.DEFAULT_LIFECYCLE);

				facesContext = contextFactory.getFacesContext(request.getSession().getServletContext(), request, response, lifecycle);
			}
			String data = (String)facesContext.getExternalContext().getSessionMap().get(id);
			response.setContentType("text/html; charset=UTF-8");
			ServletOutputStream out = response.getOutputStream();
			out.println(data);
			out.flush();
			out.close();
		}
    	catch (Exception e){
			logger.warn("Unable to do get", e);
		}
    }
}

⌨️ 快捷键说明

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