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/