You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by bi...@apache.org on 2001/12/13 05:20:07 UTC
cvs commit: jakarta-tomcat/src/facade22/org/apache/tomcat/facade LoadOnStartupInterceptor.java
billbarker 01/12/12 20:20:06
Modified: src/facade22/org/apache/tomcat/facade
LoadOnStartupInterceptor.java
Log:
Fix behavior when servlet is a JspFile.
Fix for bug #5390.
Reported by: Mike mike@ds808.net
Revision Changes Path
1.4 +19 -22 jakarta-tomcat/src/facade22/org/apache/tomcat/facade/LoadOnStartupInterceptor.java
Index: LoadOnStartupInterceptor.java
===================================================================
RCS file: /home/cvs/jakarta-tomcat/src/facade22/org/apache/tomcat/facade/LoadOnStartupInterceptor.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- LoadOnStartupInterceptor.java 2001/06/28 07:10:01 1.3
+++ LoadOnStartupInterceptor.java 2001/12/13 04:20:06 1.4
@@ -132,9 +132,8 @@
((ServletHandler)result).getServletInfo().
getJspFile() != null ) {
loadJsp( ctx, result );
- } else {
- ((ServletHandler)result).init();
}
+ ((ServletHandler)result).init();
} catch (Throwable ee) {
// it can be ClassNotFound or other - servlet errors
// shouldn't stop initialization
@@ -155,29 +154,27 @@
log("Initializing JSP with JspWrapper");
// Ugly code to trick JSPServlet into loading this.
+ BaseInterceptor ri[];
ContextManager cm=context.getContextManager();
String path=((ServletHandler)result).getServletInfo().getJspFile();
- Request request = new Request();
- Response response = new Response();
- request.recycle();
- response.recycle();
- cm.initRequest(request,response);
-
String requestURI = path + "?jsp_precompile=true";
-
- if( !path.startsWith( "/" ) ) path="/" + path;
- request.requestURI().setString(context.getPath() + path);
-
- // this is not used with JspInterceptor, but maybe a jsp servlet is
- // used
- request.queryString().setString( "jsp_precompile=true" );
-
- request.setContext(context);
-
- //cm.service( request, response );
- // If we switch to JspInterceptor, it's enough to process the
- // request, it'll detect the page and precompile
- cm.processRequest( request );
+ Request request = cm.createRequest(context, requestURI);
+ Response response = request.getResponse();
+ request.setHandler(result);
+ /* If we switch to JspInterceptor, it's enough to process the
+ request, it'll detect the page and precompile.
+ Note, we can call ContextManager.processRequest since the one
+ thing we do know at this point is that the context isn't started.
+ However, we should be able go jump straight to requestMap.
+ */
+ ri=context.getContainer().
+ getInterceptors(Container.H_requestMap);
+ for( int i=0; i< ri.length; i++ ) {
+ if( debug > 1 )
+ log( "RequestMap " + ri[i] );
+ int status=ri[i].requestMap( request );
+ if( status!=0 ) return ;
+ }
}
// --------------------
// Old logic from Context - probably something cleaner can replace it.
--
To unsubscribe, e-mail: <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>