You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by co...@locus.apache.org on 2000/04/05 04:52:17 UTC

cvs commit: jakarta-tomcat/src/share/org/apache/tomcat/util CookieTools.java

costin      00/04/04 19:52:17

  Modified:    src/share/org/apache/jasper/compiler JspCompiler.java
               src/share/org/apache/tomcat/core ServletWrapper.java
               src/share/org/apache/tomcat/logging TomcatLogger.java
               src/share/org/apache/tomcat/servlets DefaultErrorPage.java
               src/share/org/apache/tomcat/util CookieTools.java
  Log:
  Fix #178: use GMT in setting expire time. Thanks meader@hawaii.edu for the fix.
  
  Also, fixed a problem with the logger ( it didn't showed the stack traces ),
  and added logging for problems in instantiating the servlet.
  
  Submitted by:	meader@hawaii.edu
  
  Revision  Changes    Path
  1.10      +1 -0      jakarta-tomcat/src/share/org/apache/jasper/compiler/JspCompiler.java
  
  Index: JspCompiler.java
  ===================================================================
  RCS file: /home/cvs/jakarta-tomcat/src/share/org/apache/jasper/compiler/JspCompiler.java,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- JspCompiler.java	2000/03/24 01:09:32	1.9
  +++ JspCompiler.java	2000/04/05 02:52:13	1.10
  @@ -322,6 +322,7 @@
        */
       private void findClassName() {
           try {
  +	    //	    System.out.println("XXX Extracting class name from class");
               className = ClassName.getClassName(classFile);
           } catch( JasperException ex) {
               // ops, getClassName should throw something
  
  
  
  1.38      +15 -5     jakarta-tomcat/src/share/org/apache/tomcat/core/ServletWrapper.java
  
  Index: ServletWrapper.java
  ===================================================================
  RCS file: /home/cvs/jakarta-tomcat/src/share/org/apache/tomcat/core/ServletWrapper.java,v
  retrieving revision 1.37
  retrieving revision 1.38
  diff -u -r1.37 -r1.38
  --- ServletWrapper.java	2000/03/31 20:58:35	1.37
  +++ ServletWrapper.java	2000/04/05 02:52:14	1.38
  @@ -1,7 +1,7 @@
   /*
  - * $Header: /home/cvs/jakarta-tomcat/src/share/org/apache/tomcat/core/ServletWrapper.java,v 1.37 2000/03/31 20:58:35 costin Exp $
  - * $Revision: 1.37 $
  - * $Date: 2000/03/31 20:58:35 $
  + * $Header: /home/cvs/jakarta-tomcat/src/share/org/apache/tomcat/core/ServletWrapper.java,v 1.38 2000/04/05 02:52:14 costin Exp $
  + * $Revision: 1.38 $
  + * $Date: 2000/04/05 02:52:14 $
    *
    * ====================================================================
    *
  @@ -293,8 +293,10 @@
   		
   		servletClass=context.getServletLoader().loadClass( servletClassName);
   	    }
  -	    
  +
  +	    if( servletClass==null ) throw new ServletException("Error loading servlet " + servletClassName );
   	    servlet = (Servlet)servletClass.newInstance();
  +	    if( servlet==null ) throw new ServletException("Error insantiating servlet "  + servletClassName );
   	    //	System.out.println("Loading " + servletClassName + " " + servlet );
   	    
   	    config.setServletClassName(servlet.getClass().getName());
  @@ -447,6 +449,7 @@
   		contextM.handleError( req, res, null,  404 );
   		return;
   	    } catch( Exception ex ) {
  +		context.log("Exception in init servlet " + ex.getMessage(), ex );
   		// any other exception will be set in unavailable - no need to do anything
   	    }
   	}
  @@ -466,6 +469,13 @@
   	    contextM.handleError( req, res, null, HttpServletResponse.SC_SERVICE_UNAVAILABLE );
   	    return;
   	}
  +
  +	if( servlet == null ) {
  +	    context.log( "Can't find servet " + getServletName() );
  +	    res.setStatus( 404 );
  +	    contextM.handleError( req, res, null,  404 );
  +	    return;
  +	}
   	
   	try {
   	    originalCL = fixJDKContextClassLoader(context.getServletLoader().getClassLoader());
  @@ -482,7 +492,7 @@
   	    for( int i=0; i<cI.length; i++ ) {
   		cI[i].preService( req, res ); // ignore the error - like in the original code
   	    }
  -	    
  +
   	    if (servlet instanceof SingleThreadModel) {
   		synchronized(servlet) {
   		    servlet.service(req.getFacade(), res.getFacade());
  
  
  
  1.6       +10 -1     jakarta-tomcat/src/share/org/apache/tomcat/logging/TomcatLogger.java
  
  Index: TomcatLogger.java
  ===================================================================
  RCS file: /home/cvs/jakarta-tomcat/src/share/org/apache/tomcat/logging/TomcatLogger.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- TomcatLogger.java	2000/03/23 19:03:42	1.5
  +++ TomcatLogger.java	2000/04/05 02:52:15	1.6
  @@ -98,6 +98,15 @@
   	    return TomcatLogger.this.sink;
   	}
   
  +	private String throwableToString( Throwable t ) {
  +	    StringWriter sw = new StringWriter();
  +	    PrintWriter w = new PrintWriter(sw);
  +
  +	    if (t != null)
  +		t.printStackTrace(w);
  +	    return sw.toString();
  +	}
  +	
   	/**
   	 * Format the log message nicely into a string.
   	 */
  @@ -105,7 +114,7 @@
   
   	    // custom output - do nothing
   	    if( TomcatLogger.this.custom )
  -		return message;
  +		return (t==null) ? message : message + " " + throwableToString( t );
   	    
   	    StringWriter sw = new StringWriter();
   	    PrintWriter w = new PrintWriter(sw);
  
  
  
  1.8       +2 -1      jakarta-tomcat/src/share/org/apache/tomcat/servlets/DefaultErrorPage.java
  
  Index: DefaultErrorPage.java
  ===================================================================
  RCS file: /home/cvs/jakarta-tomcat/src/share/org/apache/tomcat/servlets/DefaultErrorPage.java,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- DefaultErrorPage.java	2000/02/24 23:01:28	1.7
  +++ DefaultErrorPage.java	2000/04/05 02:52:16	1.8
  @@ -121,7 +121,8 @@
   	buf.append( sc + "</h1>\r\n");
   	// More info - where it happended"
   	buf.append("<h2>Location: " + request.getRequestURI() + "</h2>");
  -	buf.append(msg + "\r\n");
  +
  +	if( msg!= null ) buf.append(msg + "\r\n");
   
   	if( response.isUsingStream() ) {
   	    ServletOutputStream out = response.getOutputStream();
  
  
  
  1.2       +5 -3      jakarta-tomcat/src/share/org/apache/tomcat/util/CookieTools.java
  
  Index: CookieTools.java
  ===================================================================
  RCS file: /home/cvs/jakarta-tomcat/src/share/org/apache/tomcat/util/CookieTools.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- CookieTools.java	1999/10/09 00:20:55	1.1
  +++ CookieTools.java	2000/04/05 02:52:16	1.2
  @@ -1,7 +1,7 @@
   /*
  - * $Header: /home/cvs/jakarta-tomcat/src/share/org/apache/tomcat/util/CookieTools.java,v 1.1 1999/10/09 00:20:55 duncan Exp $
  - * $Revision: 1.1 $
  - * $Date: 1999/10/09 00:20:55 $
  + * $Header: /home/cvs/jakarta-tomcat/src/share/org/apache/tomcat/util/CookieTools.java,v 1.2 2000/04/05 02:52:16 costin Exp $
  + * $Revision: 1.2 $
  + * $Date: 2000/04/05 02:52:16 $
    *
    * ====================================================================
    *
  @@ -192,6 +192,8 @@
   	    String pattern = "EEE, dd-MMM-yyyyy HH:mm:ss z";
   	    Locale loc = Locale.US;
   	    SimpleDateFormat df = new SimpleDateFormat(pattern, loc);
  +	    TimeZone zone = TimeZone.getTimeZone("GMT");
  +	    df.setTimeZone(zone);
   	    String str = df.format(calendar.getTime());
   	    buf.append(str);
   	}
  
  
  

Re: cvs commit: jakarta-tomcat/src/share/org/apache/tomcat/util CookieTools.java

Posted by Serge Knystautas <se...@lokitech.com>.
>   @@ -192,6 +192,8 @@
>             String pattern = "EEE, dd-MMM-yyyyy HH:mm:ss z";
>             Locale loc = Locale.US;
>             SimpleDateFormat df = new SimpleDateFormat(pattern, loc);
>   +         TimeZone zone = TimeZone.getTimeZone("GMT");
>   +         df.setTimeZone(zone);
>             String str = df.format(calendar.getTime());
>             buf.append(str);
>         }

I know we need at least a 4 digit year for y2k compliance, but do we
really need a 5 digit year?  Or am I just being shortsighted?  ;)

Serge Knystautas
Loki Technologies
http://www.lokitech.com/