📄 jahiafetcherbaseservice.java
字号:
//// ____.// __/\ ______| |__/\. _______// __ .____| | \ | +----+ \// _______| /--| | | - \ _ | : - \_________// \\______: :---| : : | : | \________>// |__\---\_____________:______: :____|____:_____\// /_____|//// . . . i n j a h i a w e t r u s t . . .////// JahiaFetcherBaseServices// EV 11.01.2001////// fetchServlet( jParams, servletPath )//package org.jahia.services.fetchers;import java.io.*;import javax.servlet.*;import org.jahia.utils.*; // JahiaConsoleimport org.jahia.params.*; // ParamBeanimport org.jahia.services.applications.*;import org.jahia.utils.*;/** * Class JahiaFetcherBaseService * */public class JahiaFetcherBaseService extends JahiaFetcherService { private static JahiaFetcherBaseService theObject = null; /** * constructor */ protected JahiaFetcherBaseService () { JahiaConsole.println ("JahiaFetcherService", "***** Starting up the Jahia Fetcher Service *****"); } /** * returns an instance of the fetcher service */ public static synchronized JahiaFetcherBaseService getInstance () { if (theObject == null) { theObject = new JahiaFetcherBaseService (); } return theObject; } /** * fetches a servlet or JSP output * * @param jParams a ParamBean object (with request and response) * @param servletPath the servlet / jsp context path * @return the servlet / jsp output */ public String fetchServlet (ParamBean jParams, String servletPath) { ServletIncludeResponseWrapper responseWrapper = null; try { JahiaConsole.println ("Fetcher", "Dispatching to servlet path = [" + servletPath + "]"); RequestDispatcher sessionDispatcher = jParams.getContext ().getRequestDispatcher (servletPath); if (sessionDispatcher == null) { String errorMsg = "Error in fetchServlet : sessionDispatcher is null - error getting request dispatcher"; JahiaConsole.println ("Error while fetching a servlet output", errorMsg); return ""; } jParams.getResponse ().setContentType ("text/html"); // Let's initialize the wrapper, that includes our specific PrintWriter, allowing us to redirect // output to a string object. responseWrapper = new ServletIncludeResponseWrapper ( jParams.getResponse (), false, null); if (responseWrapper == null) { String errorMsg = "Error in fetchServlet : responseWrapper is null - error getting response warpper"; JahiaConsole.println ("Error while fetching a servlet output", errorMsg); return ""; } ServletIncludeRequestWrapper requestWrapper = new ServletIncludeRequestWrapper (jParams.getRequest ()); // Let's now call the servlet and retrieve the result of it's processing sessionDispatcher.forward (requestWrapper, responseWrapper); } catch (ServletException se) { try { String generatedOutput = responseWrapper.getStringBuffer (); JahiaConsole.println ("JahiaFetcherBaseService.fetchServlet", generatedOutput); } catch (IOException ex) { JahiaConsole.printe ("Error while retrieving generated output", ex); } String errorMsg = "Error in fetchServlet : servlet exception occured (" + se.getMessage (); if (se.getRootCause () == null) { errorMsg += ")"; } else { errorMsg += ",rootCause=" + se.getRootCause ().getMessage () + ")"; } JahiaConsole.printe (errorMsg, se); return ""; } catch (IOException ioe) { try { String generatedOutput = responseWrapper.getStringBuffer (); JahiaConsole.println ("JahiaFetcherBaseService.fetchServlet", generatedOutput); } catch (IOException ex) { JahiaConsole.printe ("Error while retrieving generated output", ex); } String errorMsg = "Error in fetchServlet : ioexception in servlet (" + ioe.getMessage () + ")"; JahiaConsole.printe (errorMsg, ioe); return ""; } String generatedOutput = ""; try { generatedOutput = responseWrapper.getStringBuffer (); } catch (IOException ioe) { JahiaConsole.printe ("Error while retrieving generated output", ioe); } return generatedOutput; }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -