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

📄 reqbaseservlet.java

📁 java开源的企业总线.xmlBlaster
💻 JAVA
字号:
/*------------------------------------------------------------------------------Name:      ReqBaseServlet.javaProject:   xmlBlaster.orgCopyright: xmlBlaster.org, see xmlBlaster-LICENSE fileComment:   Handling the Client dataVersion:   $Id: ReqBaseServlet.java 15325 2006-07-19 19:02:18Z ruff $------------------------------------------------------------------------------*/package org.xmlBlaster.util.servlet;import java.io.*;import java.net.*;import javax.servlet.*;import javax.servlet.http.*;import org.xmlBlaster.util.XmlBlasterException;import org.xml.sax.*;import com.jclark.xsl.sax.ServletDestination;import com.jclark.xsl.sax.OutputMethodHandlerImpl;import com.jclark.xsl.sax.XSLProcessorImpl;import java.util.logging.Logger;/* * This is the base class for all servlets displaying the requirements. * This class processes the configuration which should be set in the * servlet engine environment. <br> * */abstract public class ReqBaseServlet extends HttpServlet{   private static final String ME               = "ReqBaseServlet";   private static final String DEFAULT_PARSER   = "com.jclark.xml.sax.CommentDriver";   private static Logger log = Logger.getLogger(ReqBaseServlet.class.getName());  /**   */   public void init(ServletConfig conf) throws ServletException {      super.init(conf);   }  /**   */   public void doGet(HttpServletRequest request, HttpServletResponse response)                       throws ServletException {      doRequest(request, response);   }  /**   */   public void doPost(HttpServletRequest request, HttpServletResponse response)                       throws ServletException {      doRequest(request, response);   }  /**   */   abstract public void doRequest(HttpServletRequest request, HttpServletResponse response)                       throws ServletException;   /*   */   public void xmlOutput( String xmlData, String dir, String template, HttpServletResponse response ) throws ServletException   {      try {         response.setContentType("text/html");         XSLProcessorImpl xsl = getStylesheet( dir, template );         OutputMethodHandlerImpl outputMethodHandler =                                      new OutputMethodHandlerImpl(xsl);         xsl.setOutputMethodHandler(outputMethodHandler);         outputMethodHandler.setDestination( new ServletDestination(response) );         xsl.parse( new InputSource( new StringReader( xmlData ) ) );      }      catch(Exception e) {         log.warning("servlet output broken:"+e.toString());         throw new ServletException(e.toString());      }   }   /*   */   public void fileXmlOutput( String fileName, String dir, String template, HttpServletResponse response ) throws ServletException   {      try {         response.setContentType("text/html");         XSLProcessorImpl xsl = getStylesheet( dir, template );         OutputMethodHandlerImpl outputMethodHandler =                                      new OutputMethodHandlerImpl(xsl);         xsl.setOutputMethodHandler(outputMethodHandler);         outputMethodHandler.setDestination( new ServletDestination(response) );         xsl.parse( new InputSource( (new URL( "file:"+fileName )).toString() ) );      }      catch(Exception e) {         log.warning("servlet output broken:"+e.toString());         throw new ServletException(e.toString());      }   }   /*    * returns a stylsheet object by a given name.    * @param xslName Name of xsl file without full path and extension    * @return XSLProcessorImpl    */   public XSLProcessorImpl getStylesheet( String reqDir, String xslFile ) throws XmlBlasterException, IOException   {      String xslPath = reqDir+"/"+xslFile+".xsl";      XSLProcessorImpl xsl  = new XSLProcessorImpl();      xsl.setParser(createParser());      try {         String url = new URL("file", "", xslPath).toString();         log.info("Reading from "+url);         xsl.loadStylesheet( new InputSource( new URL("file", "", xslPath).toString() ) );         log.info("Successfully read from "+url);      }      catch ( Exception e) {         log.severe(e.toString());         throw new XmlBlasterException(ME,"Could not read XSL file.");      }      return xsl;   }   /*    * creates a parser object    * @return Parser    */   static Parser createParser() throws XmlBlasterException   {       try {         return (Parser)Class.forName(DEFAULT_PARSER).newInstance();       }       catch ( Exception e) {         throw new XmlBlasterException(ME,e.toString());       }   }}

⌨️ 快捷键说明

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