cocoon-cvs mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From nicola...@apache.org
Subject cvs commit: xml-cocoon2/src/webapp/WEB-INF web.xml
Date Thu, 06 Jun 2002 08:47:41 GMT
nicolaken    2002/06/06 01:47:41

  Modified:    .        Tag: cocoon_2_0_3_branch .cvsignore changes.xml
                        todo.xml
               src/java/org/apache/cocoon/servlet Tag: cocoon_2_0_3_branch
                        CocoonServlet.java
               src/java/org/apache/cocoon/components/notification Tag:
                        cocoon_2_0_3_branch Notifier.java
               src/webapp/WEB-INF Tag: cocoon_2_0_3_branch web.xml
  Log:
    <action dev="NKB" type="add">
      Added a "handle-exceptions" init argument in web.xml, used by CocoonServlet for the
exceptions
      that the core Cocoon class throws.
      If true or not set, this class will try to catch and handle all Cocoon exceptions.
      If false, it will rethrow them to the servlet container.
    </action>
    <action dev="NKB" type="fix">
      Changed the Notifier notify() methods to accept a mimetype instead of returning it.
      There is no way in which this method could understand what mime/type to use from the
      notification info and the stream.
      It was added to the method using a ContentHandler, since it could output svg for example.
      The old methods were deprecated.
    </action>
    <action dev="NKB" type="fix" due-to="J.Pietschmann" due-to-email="j3322ptm@yahoo.de">
      Fixed error reporting in CocoonServlet: stream is now closed at the end of the service
method,
      the content-type is sent before sending the error and the notification messages are
now more
      descriptive.
    </action>
  
  Revision  Changes    Path
  No                   revision
  
  
  No                   revision
  
  
  1.5.2.1   +1 -0      xml-cocoon2/.cvsignore
  
  Index: .cvsignore
  ===================================================================
  RCS file: /home/cvs/xml-cocoon2/.cvsignore,v
  retrieving revision 1.5
  retrieving revision 1.5.2.1
  diff -u -r1.5 -r1.5.2.1
  --- .cvsignore	24 Jan 2002 14:17:36 -0000	1.5
  +++ .cvsignore	6 Jun 2002 08:47:40 -0000	1.5.2.1
  @@ -2,4 +2,5 @@
   dist
   tools/anttasks
   .ant.properties
  +prj.el
   
  
  
  
  1.138.2.18 +22 -1     xml-cocoon2/changes.xml
  
  Index: changes.xml
  ===================================================================
  RCS file: /home/cvs/xml-cocoon2/changes.xml,v
  retrieving revision 1.138.2.17
  retrieving revision 1.138.2.18
  diff -u -r1.138.2.17 -r1.138.2.18
  --- changes.xml	5 Jun 2002 01:14:45 -0000	1.138.2.17
  +++ changes.xml	6 Jun 2002 08:47:40 -0000	1.138.2.18
  @@ -4,7 +4,7 @@
   
   <!--
     History of Cocoon changes
  -  $Id: changes.xml,v 1.138.2.17 2002/06/05 01:14:45 vgritsenko Exp $
  +  $Id: changes.xml,v 1.138.2.18 2002/06/06 08:47:40 nicolaken Exp $
   -->
   
   <changes title="History of Changes">
  @@ -21,6 +21,7 @@
     <person name="Vadim Gritsenko" email="vgritsenko@apache.org" id="VG"/>
     <person name="Christian Haul" email="haul@apache.org" id="CH"/>
     <person name="Bernhard Huber" email="huber@apache.org" id="BH"/>
  +  <person name="Ivelin Ivanov" email="ivelin@apache.org" id="II"/>
     <person name="Berin Loritsch" email="bloritsch@apache.org" id="BL"/>
     <person name="Stefano Mazzocchi" email="stefano@apache.org" id="SM"/>
     <person name="Giacomo Pati" email="Giacomo.Pati@pwr.ch" id="GP"/>
  @@ -33,6 +34,7 @@
     <person name="Davanum Srinivas" email="dims@yahoo.com" id="DM"/>
     <person name="Sylvain Wallez" email="sylvain@apache.org" id="SW"/>
     <person name="Carsten Ziegeler" email="cziegeler@apache.org" id="CZ"/>
  +  <person name="John Morrison" email="morrijr@apache.org" id="JM"/>
    </devs>
   
   
  @@ -40,6 +42,24 @@
     <action dev="VG" type="fix" fixes-bug="9539" due-to="Stuart Roebuck" due-to-email="stuart.roebuck@adolos.co.uk">
      ResourceReader incorrectly advertised byte ranges support.
     </action>
  +  <action dev="NKB" type="add">
  +    Added a "handle-exceptions" init argument in web.xml, used by CocoonServlet for the
exceptions
  +    that the core Cocoon class throws.
  +    If true or not set, this class will try to catch and handle all Cocoon exceptions.
  +    If false, it will rethrow them to the servlet container.
  +  </action> 
  +  <action dev="NKB" type="fix">
  +    Changed the Notifier notify() methods to accept a mimetype instead of returning it.
  +    There is no way in which this method could understand what mime/type to use from the
  +    notification info and the stream.
  +    It was added to the method using a ContentHandler, since it could output svg for example.
  +    The old methods were deprecated. 
  +  </action> 
  +  <action dev="NKB" type="fix" due-to="J.Pietschmann" due-to-email="j3322ptm@yahoo.de">
  +    Fixed error reporting in CocoonServlet: stream is now closed at the end of the service
method,
  +    the content-type is sent before sending the error and the notification messages are
now more
  +    descriptive.
  +  </action> 
     <action dev="VG" type="fix" fixes-bug="8639">
      Support Parameterizable URLFactories.
     </action>
  @@ -1046,3 +1066,4 @@
    </release>
   
   </changes>
  +
  
  
  
  1.28.2.1  +21 -4     xml-cocoon2/todo.xml
  
  Index: todo.xml
  ===================================================================
  RCS file: /home/cvs/xml-cocoon2/todo.xml,v
  retrieving revision 1.28
  retrieving revision 1.28.2.1
  diff -u -r1.28 -r1.28.2.1
  --- todo.xml	27 Mar 2002 15:13:40 -0000	1.28
  +++ todo.xml	6 Jun 2002 08:47:40 -0000	1.28.2.1
  @@ -4,7 +4,7 @@
   
   <!--
     History of Cocoon changes
  -  $Id: todo.xml,v 1.28 2002/03/27 15:13:40 sylvain Exp $
  +  $Id: todo.xml,v 1.28.2.1 2002/06/06 08:47:40 nicolaken Exp $
   -->
   
   
  @@ -26,11 +26,28 @@
     <person name="Davanum Srinivas" email="dims@yahoo.com" id="DM"/>
     <person name="Sylvain Wallez" email="sylvain@apache.org" id="SW"/>
     <person name="Carsten Ziegeler" email="cziegeler@apache.org" id="CZ"/>
  -  <person name="Volunteer needed" email="giacomo@apache.org" id="open"/>
  +  <person name="Volunteer needed" email="cocoon-dev@apache.org" id="open"/>
    </devs>
   
    <actions priority="high">
     <action context="code" assigned-to="open">
  +   Rewrite the FilesystemStore. The current implementations relies on
  +   a correct implementation of the toString() method of the used
  +   keys. A correct version should rely on hashCode() and equals().
  +   (This is actually an Avalon action as the code is in Excalibur)
  +  </action> 
  +
  +  <action context="code" assigned-to="open">
  +    Implement the smart-caching for the processing pipeline and
  +    iron out bugs.
  +  </action> 
  +
  +  <action context="docs" assigned-to="open">
  +   Attend to any high+ issues in the
  +   <link href="plan/todo-doc.html">Documentation To Do List</link>
  +  </action> 
  +
  +  <action context="code" assigned-to="open">
      Correct the sitemap DTD which is now broken and make sitemap validated.
     </action> 
    
  @@ -78,7 +95,7 @@
     </action>  
     
     <action context="code" assigned-to="NKB">
  -   Make all the examples in WIP work again, and finish refactoring.
  +   Make all the samples in WIP (Work In Progress) work again, and finish refactoring.
     </action>
       
    </actions>
  @@ -103,7 +120,7 @@
      One solution could be a configurable intermediate output stream.
     </action>
   
  -  <action context="code">
  +  <action context="code" assigned-to="CZ">
      Redesign pipeline configuration and management: (1) Move pipeline 
      definitions from cocoon.xconf into sitemap.xmap, &lt;map:components&gt;
      section; and (2) allow usage of different pipeline implementations in
  
  
  
  No                   revision
  
  
  No                   revision
  
  
  1.19.2.3  +100 -48   xml-cocoon2/src/java/org/apache/cocoon/servlet/CocoonServlet.java
  
  Index: CocoonServlet.java
  ===================================================================
  RCS file: /home/cvs/xml-cocoon2/src/java/org/apache/cocoon/servlet/CocoonServlet.java,v
  retrieving revision 1.19.2.2
  retrieving revision 1.19.2.3
  diff -u -r1.19.2.2 -r1.19.2.3
  --- CocoonServlet.java	22 May 2002 15:06:55 -0000	1.19.2.2
  +++ CocoonServlet.java	6 Jun 2002 08:47:40 -0000	1.19.2.3
  @@ -62,7 +62,6 @@
   import org.apache.cocoon.Constants;
   import org.apache.cocoon.components.notification.Notifying;
   import org.apache.cocoon.components.notification.SimpleNotifyingBean;
  -import org.apache.cocoon.components.notification.NotifyingBuilder;
   import org.apache.cocoon.components.notification.DefaultNotifyingBuilder;
   import org.apache.cocoon.components.notification.Notifier;
   import org.apache.cocoon.components.request.RequestFactory;
  @@ -114,11 +113,11 @@
    * @author <a href="mailto:fumagalli@exoffice.com">Pierpaolo Fumagalli</a>
    *         (Apache Software Foundation, Exoffice Technologies)
    * @author <a href="mailto:stefano@apache.org">Stefano Mazzocchi</a>
  - * @author <a href="mailto:barozzi@nicolaken.com">Nicola Ken Barozzi</a>
  + * @author <a href="mailto:nicolaken@apache.org">Nicola Ken Barozzi</a>
    * @author <a href="mailto:bloritsch@apache.org">Berin Loritsch</a>
    * @author <a href="mailto:cziegeler@apache.org">Carsten Ziegeler</a>
    * @author <a href="mailto:leo.sutic@inspireinfrastructure.com">Leo Sutic</a>
  - * @version CVS $Id: CocoonServlet.java,v 1.19.2.2 2002/05/22 15:06:55 vgritsenko Exp $
  + * @version CVS $Id: CocoonServlet.java,v 1.19.2.3 2002/06/06 08:47:40 nicolaken Exp $
    */
   public class CocoonServlet extends HttpServlet {
   
  @@ -172,6 +171,12 @@
       private boolean addClassDirs;
   
       /**
  +     * If true or not set, this class will try to catch and handle all Cocoon exceptions.
  +     * If false, it will rethrow them to the servlet container.
  +     */
  +    private boolean manageExceptions;
  +
  +    /**
        * This is the path to the servlet context (or the result
        * of calling getRealPath('/') on the ServletContext.
        * Note, that this can be null.
  @@ -420,6 +425,14 @@
               }
           }
   
  +        value = conf.getInitParameter("manage-exceptions");        
  +        this.manageExceptions = (value == null || value.equalsIgnoreCase("yes") || value.equalsIgnoreCase("true"));
  +        if (value == null) {
  +            if (log.isDebugEnabled()) {
  +                log.debug("Parameter manageExceptions was not set - defaulting to true.");
  +            }
  +        }
  +        
           this.createCocoon();
       }
   
  @@ -851,8 +864,6 @@
        * If you need to force more than one class to load, then
        * separate each entry with whitespace, a comma, or a semi-colon.
        * Cocoon will strip any whitespace from the entry.
  -     *
  -     * @throws ServletException
        */
       private void forceLoad() {
           if (this.forceLoadParameter != null) {
  @@ -882,8 +893,6 @@
        * If you need to force more than one property to load, then
        * separate each entry with whitespace, a comma, or a semi-colon.
        * Cocoon will strip any whitespace from the entry.
  -     *
  -     * @throws ServletException
        */
       private void forceProperty() {
           if (this.forceSystemProperty != null) {
  @@ -944,7 +953,8 @@
   
           // Check if cocoon was initialized
           if (this.cocoon == null) {
  -            res.setStatus(res.SC_INTERNAL_SERVER_ERROR);
  +          if(manageExceptions){         
  +            res.reset();
   
               SimpleNotifyingBean n= new SimpleNotifyingBean(this);
               n.setType("fatal");
  @@ -953,11 +963,21 @@
               n.setMessage("Cocoon was not initialized.");
               n.setDescription("Cocoon was not initialized. Cannot process request.");
               n.addExtraDescription("request-uri", request.getRequestURI());
  -            res.setContentType(Notifier.notify(n, res.getOutputStream()));
   
  +            res.setContentType("text/html");
  +            res.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
  +            Notifier.notify(n, res.getOutputStream(), "text/html");
  +         }
  +         else{
  +           res.sendError
  +            (HttpServletResponse.SC_INTERNAL_SERVER_ERROR, 
  +             "The Cocoon engine said it failed to process the request for an unknown reason."
);
  +            res.flushBuffer();
               return;
           }
   
  +        }
  +
           // We got it... Process the request
           String uri = request.getServletPath();
           if (uri == null) {
  @@ -1014,30 +1034,41 @@
                   if (this.cocoon.process(env)) {
                       contentType = env.getContentType();
                   } else {
  -                    // Should not get here!
  -                    // means SC_NOT_FOUND
  -                    res.sendError(res.SC_NOT_FOUND);
  +                    //NKB Should not get here?
  +                    log.fatalError("The Cocoon engine said it failed to process the request
for an unknown reason.");
  +                             
  +                    if(manageExceptions){    
  +                      res.reset();      
   
                       SimpleNotifyingBean n = new SimpleNotifyingBean(this);
                       n.setType("error");
  -                    n.setTitle("Resource not found");
  +                      n.setTitle("Cocoon confusion");
                       n.setSource("Cocoon servlet");
  -                    n.setMessage("The requested resource not found.");
  -                    n.setDescription("The requested URI \""
  -                                     + request.getRequestURI()
  -                                     + "\" was not found.");
  +                      n.setMessage("Cocoon engine failed in process.");
  +                      n.setDescription("The Cocoon engine said it failed to process the
request for an unknown reason.");
                       n.addExtraDescription("request-uri", request.getRequestURI());
                       n.addExtraDescription("path-info", uri);
  -                    // send the notification but don't include it in the output stream
  -                    // as the status SC_NOT_FOUND is enough
  -                    res.setContentType(Notifier.notify(n, (OutputStream)null));
  +                    
  +                      res.setContentType("text/html");
  +                      res.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
  +                      Notifier.notify(n, res.getOutputStream(), "text/html");
  +                    }
  +                    else{
  +                      res.sendError
  +                       (HttpServletResponse.SC_INTERNAL_SERVER_ERROR, 
  +                        "The Cocoon engine said it failed to process the request for an
unknown reason." );
  +                      res.flushBuffer();
  +                      return;                        
  +                    }
  +                    
                   }
               } catch (ResourceNotFoundException rse) {
                   if (log.isWarnEnabled()) {
                       log.warn("The resource was not found", rse);
                   }
   
  -                res.sendError(res.SC_NOT_FOUND);
  +                if(manageExceptions){     
  +                  res.reset();    
   
                   SimpleNotifyingBean n = new SimpleNotifyingBean(this);
                   n.setType("resource-not-found");
  @@ -1049,36 +1080,30 @@
                                    + "\" was not found.");
                   n.addExtraDescription("request-uri", request.getRequestURI());
                   n.addExtraDescription("path-info", uri);
  -                StringWriter writer = new StringWriter();
  -                rse.printStackTrace(new PrintWriter(writer));
  -                n.addExtraDescription("stack-trace",writer.toString());
  -                // send the notification but don't include it in the output stream
  -                // as the status SC_NOT_FOUND is enough
  -                res.setContentType(Notifier.notify(n, (OutputStream)null));
  +                   
  +                  res.setContentType("text/html");
  +                  res.setStatus(HttpServletResponse.SC_NOT_FOUND);
  +                  Notifier.notify(n, res.getOutputStream(), "text/html");
  +                  }
  +                  else{
  +                    res.sendError
  +                     (HttpServletResponse.SC_NOT_FOUND, "Resource not found." );
  +                    res.flushBuffer();
  +                    return;                     
  +                  }
   
               } catch (ConnectionResetException cre) {
                   if (log.isWarnEnabled()) {
                       log.warn("The connection was reset", cre);
                   }
   
  -                SimpleNotifyingBean n = new SimpleNotifyingBean(this);
  -                n.setType("error");
  -                n.setTitle("Resource not found");
  -                n.setSource("Cocoon servlet");
  -                n.setMessage("Resource not found");
  -                n.setDescription("The requested URI \""
  -                                 + request.getRequestURI()
  -                                 + "\" was not found.");
  -                n.addExtraDescription("request-uri", request.getRequestURI());
  -                n.addExtraDescription("path-info", uri);
  -                // send the notification but don't include it in the output stream
  -                // as the connection was reset anyway
  -                res.setContentType(Notifier.notify(n, (OutputStream)null));
               } catch (Exception e) {
                   if (log.isErrorEnabled()) {
  -                    log.error("Problem with servlet", e);
  +                    log.error("Problem with Cocoon servlet", e);
                   }
  -                //res.setStatus(res.SC_INTERNAL_SERVER_ERROR);
  +                
  +                if(manageExceptions){     
  +                  res.reset(); 
   
                   HashMap extraDescriptions = new HashMap(3);
                   extraDescriptions.put("request-uri", request.getRequestURI());
  @@ -1090,7 +1115,17 @@
                   Notifying n=new DefaultNotifyingBuilder().build(
                    this, e, "fatal","Internal server error","Cocoon servlet",null,null,extraDescriptions);
   
  -                res.setContentType(contentType = Notifier.notify(n, res.getOutputStream()));
  +                  res.setContentType("text/html");
  +                  res.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
  +                  Notifier.notify(n, res.getOutputStream(), "text/html");
  +                  }
  +                  else{
  +                    res.sendError
  +                     (HttpServletResponse.SC_INTERNAL_SERVER_ERROR, 
  +                      "Internal server error.");
  +                    res.flushBuffer();
  +                    return;                      
  +                  }                  
               }
   
               long end = System.currentTimeMillis();
  @@ -1114,12 +1149,19 @@
                       out.print((hide) ? "<!-- " : "<p>");
                       out.print(timeString);
                       out.println((hide) ? " -->" : "</p>");
  -                    out.flush();
  -                    out.close();
                   }
               }
           } finally {
               if (ctxMap != null) ctxMap.clear();
  +            try{
  +                 ServletOutputStream out = res.getOutputStream();            
  +                    out.flush();
  +                    out.close();
  +                }
  +            catch(Exception e){
  +              log.error("Cocoon servlet threw an Exception while trying to close stream.",
e);            
  +            }
  +  
           }
       }
   
  @@ -1204,9 +1246,7 @@
               Thread.currentThread().setContextClassLoader(this.classLoader);
           } catch (Exception e){}
   
  -        this.appContext.put(Constants.CONTEXT_CLASS_LOADER, classLoader);
  -        this.appContext.put(Constants.CONTEXT_CLASSPATH, this.getClassPath());
  -
  +        this.updateEnvironment();
           this.forceLoad();
           this.forceProperty();
   
  @@ -1240,6 +1280,18 @@
               this.disposeCocoon();
           }
       }
  +
  +    /**
  +     * Method to update the environment before Cocoon instances are created.
  +     *
  +     * This is also useful if you wish to customize any of the 'protected'
  +     * variables from this class before a Cocoon instance is built in a derivative
  +     * of this class (eg. Cocoon Context).
  +     */
  +    protected void updateEnvironment() throws ServletException {
  +        this.appContext.put(Constants.CONTEXT_CLASS_LOADER, classLoader);
  +        this.appContext.put(Constants.CONTEXT_CLASSPATH, getClassPath());
  +     }
   
       private String processTime(long time) throws IOException {
   
  
  
  
  No                   revision
  
  
  No                   revision
  
  
  1.6.2.1   +40 -10    xml-cocoon2/src/java/org/apache/cocoon/components/notification/Notifier.java
  
  Index: Notifier.java
  ===================================================================
  RCS file: /home/cvs/xml-cocoon2/src/java/org/apache/cocoon/components/notification/Notifier.java,v
  retrieving revision 1.6
  retrieving revision 1.6.2.1
  diff -u -r1.6 -r1.6.2.1
  --- Notifier.java	22 Feb 2002 07:00:10 -0000	1.6
  +++ Notifier.java	6 Jun 2002 08:47:40 -0000	1.6.2.1
  @@ -66,7 +66,7 @@
    *
    * @author <a href="mailto:nicolaken@supereva.it">Nicola Ken Barozzi</a> Aisa
    * @author <a href="mailto:stefano@apache.org">Stefano Mazzocchi</a>
  - * @version CVS $Id: Notifier.java,v 1.6 2002/02/22 07:00:10 cziegeler Exp $
  + * @version CVS $Id: Notifier.java,v 1.6.2.1 2002/06/06 08:47:40 nicolaken Exp $
    */
   
   public class Notifier {
  @@ -77,11 +77,35 @@
      * @param  n The <code>Notifying</code> object
      * @param outputStream The output stream the notification is written to
      *        This could be <code>null</code>.
  -   * @return The content type for this notification
  -   *         (currently always text/html)
  +   * @deprecated There is no way in which this method could understand what mime/type to
use. Instead use void notify(Notifying n, OutputStream outputStream, String mimetype), where
the mime/type is requested.
  +   * @see notify(Notifying n, OutputStream outputStream, String mimetype)
      */
  -  public static String notify(Notifying n,
  -          OutputStream outputStream) throws IOException {
  +  public static String notify(Notifying n, OutputStream outputStream) throws IOException
{
  +    notify(n, outputStream, "text/html") ;
  +    return "text/html";
  +  }
  +  
  +  /**
  +   * Generate notification information as a response.
  +   * The notification is directly written to the OutputStream.
  +   * @param  n The <code>Notifying</code> object
  +   * @param outputStream The output stream the notification is written to
  +   *        This could be <code>null</code>.
  +   */
  +  public static void notify(Notifying n, OutputStream outputStream, String mimetype) throws
IOException {
  +    //(NKB) FIXME should use error page templates, one per mime-type
  +    // currently uses hardcoded html, should be used only as last resort. 
  +    notifyHTML(n, outputStream);
  +  }
  +
  +  /**
  +   * Generate notification information as html.
  +   * The notification is directly written to the OutputStream.
  +   * @param  n The <code>Notifying</code> object
  +   * @param outputStream The output stream the notification is written to
  +   *        This could be <code>null</code>.
  +   */
  +  private static void notifyHTML(Notifying n, OutputStream outputStream) throws IOException
{
   
       StringBuffer sb = new StringBuffer();
   
  @@ -93,7 +117,7 @@
       sb.append("--></STYLE> ");
       sb.append("</head><body>");
       sb.append("<h1>Cocoon 2 - ").append(n.getTitle()).append("</h1>");
  -    sb.append("<HR size=\"1\" noshade=\"noshade\">");
  +    sb.append("<hr size=\"1\" noshade=\"noshade\"/>");
       sb.append("<p><b>type</b> ").append(n.getType()).append("</p>");
       sb.append("<p><b>message</b> <u>").append(n.getMessage()).append("</u></p>");
       sb.append("<p><b>description</b> <u>").append(n.getDescription()).append("</u></p>");
  @@ -110,20 +134,26 @@
                 extraDescriptions.get(key)).append("</pre></p>");
       }
   
  -    sb.append("<HR size=\"1\" noshade>");
  +    sb.append("<hr size=\"1\" noshade=\"true\"/>");
       sb.append("</body></html>");
   
       if (outputStream != null)
         outputStream.write(sb.toString().getBytes());
  -    // FIXME (SM) how can we send the error with the proper content type?
  -
  -    return "text/html";
     }
   
     /**
      * Generate notification information in XML format.
  +   * @deprecated Using a ContentHandler doesn't mean that a mimetype cannot be specified;
it could be svg or 
  +   * @see notify(Notifying n, ContentHandler ch, String mimetype)
      */
     public static void notify(Notifying n, ContentHandler ch) throws SAXException {
  +    notify(n, ch, "text/xml");
  +  }
  +
  +  /**
  +   * Generate notification information in XML format.
  +   */
  +  public static void notify(Notifying n, ContentHandler ch, String mimetype) throws SAXException
{
   
       final String PREFIX = Constants.ERROR_NAMESPACE_PREFIX;
       final String URI = Constants.ERROR_NAMESPACE_URI;
  
  
  
  No                   revision
  
  
  No                   revision
  
  
  1.8.2.2   +10 -0     xml-cocoon2/src/webapp/WEB-INF/web.xml
  
  Index: web.xml
  ===================================================================
  RCS file: /home/cvs/xml-cocoon2/src/webapp/WEB-INF/web.xml,v
  retrieving revision 1.8.2.1
  retrieving revision 1.8.2.2
  diff -u -r1.8.2.1 -r1.8.2.2
  --- web.xml	20 Apr 2002 08:12:36 -0000	1.8.2.1
  +++ web.xml	6 Jun 2002 08:47:40 -0000	1.8.2.2
  @@ -215,6 +215,16 @@
       -->
   
       <!--
  +       If true or not set, this class will try to catch and handle all Cocoon exceptions.
  +       If false, it will rethrow them to the servlet container.
  +    -->
  +    <init-param>
  +      <param-name>manage-exceptions</param-name>
  +      <param-value>true</param-value>
  +    </init-param>
  +    
  +    
  +    <!--
         This parameter allows you to startup Cocoon2 immediately after startup
         of your servlet engine.
       -->
  
  
  

----------------------------------------------------------------------
In case of troubles, e-mail:     webmaster@xml.apache.org
To unsubscribe, e-mail:          cocoon-cvs-unsubscribe@xml.apache.org
For additional commands, e-mail: cocoon-cvs-help@xml.apache.org


Mime
View raw message