tomcat源代码

HttpServlet.service(request, response);

 

ApplicationFilterChain implements FilterChain.doFilter():

servlet.service(request, response);//servlet=IndexServlet

 

support.fireInstanceEvent(InstanceEvent.AFTER_SERVICE_EVENT,

                                      servlet, request, response);

 

StandardWrapperValve.invoke(request, response):

request.removeAttribute(Globals.JSP_FILE_ATTR);

if (filterChain != null) {

            if (request.isComet()) {

                // If this is a Comet request, then the same chain will be used for the

                // processing of all subsequent events.

                filterChain.reuse();

            } else {

                filterChain.release();

            }

}

 

try {

            if (servlet != null) {

                wrapper.deallocate(servlet);

            }

        }

 

if ((servlet != null) &&

                (wrapper.getAvailable() == Long.MAX_VALUE)) {

                wrapper.unload();

            }

 

long t2=System.currentTimeMillis();

 

        long time=t2-t1;

        processingTime += time;

        if( time > maxTime) maxTime=time;

        if( time < minTime) minTime=time;

 

StandardHostValve

    extends ValveBase

你可能感兴趣的:(tomcat,jsp,servlet,Comet)