bundles/org.apache.jasper.glassfish/src/org/apache/jasper/servlet/JspServlet.java
private void serviceJspFile(HttpServletRequest request,
                                HttpServletResponse response, String jspUri,
                                Throwable exception, boolean precompile)
        throws ServletException, IOException {

        JspServletWrapper wrapper =
            (JspServletWrapper) rctxt.getWrapper(jspUri);
        if (wrapper == null) {
            synchronized(this) {
                wrapper = (JspServletWrapper) rctxt.getWrapper(jspUri);
                if (wrapper == null) {
                    // Check if the requested JSP page exists, to avoid
                    // creating unnecessary directories and files.
                    if (null == context.getResource(jspUri)
                            && !options.getUsePrecompiled()) {
                        String includeRequestUri = (String) 
                            request.getAttribute("javax.servlet.include.request_uri");
                        if (includeRequestUri != null) {
                            // Missing JSP resource has been the target of a
                            // RequestDispatcher.include().
                            // Throw an exception (rather than returning a 
                            // 404 response error code), because any call to
                            // response.sendError() must be ignored by the
                            // servlet engine when issued from within an
                            // included resource (as per the Servlet spec).
                            throw new FileNotFoundException(
                                JspUtil.escapeXml(jspUri));
                        }

                        response.sendError(HttpServletResponse.SC_NOT_FOUND);
                        log.severe(Localizer.getMessage(
                            "jsp.error.file.not.found",
                            context.getRealPath(jspUri)));
                        return;
                    }
                    boolean isErrorPage = exception != null;
                    wrapper = new JspServletWrapper(config, options, jspUri,
                                                    isErrorPage, rctxt);
                    rctxt.addWrapper(jspUri,wrapper);
                }
            }
        }

        wrapper.service(request, response, precompile);

    }
private void serviceJspFile(HttpServletRequest request,
                                HttpServletResponse response, String jspUri,
                                Throwable exception, boolean precompile)
        throws ServletException, IOException {

        JspServletWrapper wrapper =
            (JspServletWrapper) rctxt.getWrapper(jspUri);
        if (wrapper == null) {
            synchronized(this) {
                wrapper = (JspServletWrapper) rctxt.getWrapper(jspUri);
                if (wrapper == null) {
                    // Check if the requested JSP page exists, to avoid
                    // creating unnecessary directories and files.
                    if (null == context.getResource(jspUri)
                            && !options.getUsePrecompiled()) {
                        String includeRequestUri = (String) 
                            request.getAttribute("javax.servlet.include.request_uri");
                        if (includeRequestUri != null) {
                            // Missing JSP resource has been the target of a
                            // RequestDispatcher.include().
                            // Throw an exception (rather than returning a 
                            // 404 response error code), because any call to
                            // response.sendError() must be ignored by the
                            // servlet engine when issued from within an
                            // included resource (as per the Servlet spec).
                            throw new FileNotFoundException(
                                JspUtil.escapeXml(jspUri));
                        }

                        response.sendError(HttpServletResponse.SC_NOT_FOUND);
                        log.severe(Localizer.getMessage(
                            "jsp.error.file.not.found",
                            context.getRealPath(jspUri)));
                        return;
                    }
                    boolean isErrorPage = exception != null;
                    wrapper = new JspServletWrapper(config, options, jspUri,
                                                    isErrorPage, rctxt);
                    rctxt.addWrapper(jspUri,wrapper);
                }
            }
        }

        wrapper.service(request, response, precompile);

    }
private void serviceJspFile ( HttpServletRequest request , HttpServletResponse response , String jspUri , Throwable exception , boolean precompile ) throws ServletException , IOException { JspServletWrapper wrapper = ( JspServletWrapper ) rctxt . getWrapper ( jspUri ) ; if ( wrapper == null ) { synchronized ( this ) { wrapper = ( JspServletWrapper ) rctxt . getWrapper ( jspUri ) ; if ( wrapper == null ) { // Check if the requested JSP page exists, to avoid // creating unnecessary directories and files. if ( null == context . getResource ( jspUri ) && ! options . getUsePrecompiled ( ) ) { String includeRequestUri = ( String ) request . getAttribute ( "javax.servlet.include.request_uri" ) ; if ( includeRequestUri != null ) { // Missing JSP resource has been the target of a // RequestDispatcher.include(). // Throw an exception (rather than returning a  // 404 response error code), because any call to // response.sendError() must be ignored by the // servlet engine when issued from within an // included resource (as per the Servlet spec). throw new FileNotFoundException ( JspUtil . escapeXml ( jspUri ) ) ; } response . sendError ( HttpServletResponse . SC_NOT_FOUND ) ; log . severe ( Localizer . getMessage ( "jsp.error.file.not.found" , context . getRealPath ( jspUri ) ) ) ; return ; } boolean isErrorPage = exception != null ; wrapper = new JspServletWrapper ( config , options , jspUri , isErrorPage , rctxt ) ; rctxt . addWrapper ( jspUri , wrapper ) ; } } } wrapper . service ( request , response , precompile ) ; }
-------------------------------------------------------- Private Methods
-------------------------------------------------------- Private Methods