bundles/org.apache.jasper.glassfish/src/org/apache/jasper/JspC.java
protected void mergeIntoWebXml() throws IOException {

        File webappBase = new File(uriRoot);
        File webXml = new File(webappBase, "WEB-INF/web.xml");
        File webXml2 = new File(webappBase, "WEB-INF/web2.xml");
        String insertStartMarker = 
            Localizer.getMessage("jspc.webinc.insertStart");
        String insertEndMarker = 
            Localizer.getMessage("jspc.webinc.insertEnd");

        BufferedReader reader = new BufferedReader(
                    new InputStreamReader(new FileInputStream(webXml),"UTF-8"));
        BufferedReader fragmentReader = new BufferedReader(
                    new InputStreamReader(new FileInputStream(webxmlFile),"UTF-8"));
        PrintWriter writer = new PrintWriter(
                    new OutputStreamWriter(new FileOutputStream(webXml2),"UTF-8"));

        // Insert the <servlet> and <servlet-mapping> declarations
        int pos = -1;
        String line = null;
        while (true) {
            line = reader.readLine();
            if (line == null) {
                break;
            }
            // Skip anything previously generated by JSPC
            if (line.indexOf(insertStartMarker) >= 0) {
                while (true) {
                    line = reader.readLine();
                    if (line == null) {
                        return;
                    }
                    if (line.indexOf(insertEndMarker) >= 0) {
                        line = reader.readLine();
                        if (line == null) {
                            return;
                        }
                        break;
                    }
                }
            }
            for (int i = 0; i < insertBefore.length; i++) {
                pos = line.indexOf(insertBefore[i]);
                if (pos >= 0)
                    break;
            }
            if (pos >= 0) {
                writer.println(line.substring(0, pos));
                break;
            } else {
                writer.println(line);
            }
        }

        writer.println(insertStartMarker);
        while (true) {
            String line2 = fragmentReader.readLine();
            if (line2 == null) {
                writer.println();
                break;
            }
            writer.println(line2);
        }
        writer.println(insertEndMarker);
        writer.println();

        for (int i = 0; i < pos; i++) {
            writer.print(" ");
        }
        if (line != null) {
            writer.println(line.substring(pos));
        }

        while (true) {
            line = reader.readLine();
            if (line == null) {
                break;
            }
            writer.println(line);
        }
        writer.close();

        reader.close();
        fragmentReader.close();

        FileInputStream fis = new FileInputStream(webXml2);
        FileOutputStream fos = new FileOutputStream(webXml);

        byte buf[] = new byte[512];

        try {
            while (true) {
                int n = fis.read(buf);
                if (n < 0) {
                    break;
                }
                fos.write(buf, 0, n);
            }
        } finally {
            if (fis != null) {
                fis.close();
            }
            if (fos != null) {
                fos.close();
            }
        }

        webXml2.delete();
        (new File(webxmlFile)).delete();

    }
protected void mergeIntoWebXml() throws IOException {

        File webappBase = new File(uriRoot);
        File webXml = new File(webappBase, "WEB-INF/web.xml");
        File webXml2 = new File(webappBase, "WEB-INF/web2.xml");
        String insertStartMarker = 
            Localizer.getMessage("jspc.webinc.insertStart");
        String insertEndMarker = 
            Localizer.getMessage("jspc.webinc.insertEnd");

        BufferedReader reader = new BufferedReader(
                    new InputStreamReader(new FileInputStream(webXml),"UTF-8"));
        BufferedReader fragmentReader = new BufferedReader(
                    new InputStreamReader(new FileInputStream(webxmlFile),"UTF-8"));
        PrintWriter writer = new PrintWriter(
                    new OutputStreamWriter(new FileOutputStream(webXml2),"UTF-8"));

        // Insert the <servlet> and <servlet-mapping> declarations
        int pos = -1;
        String line = null;
        while (true) {
            line = reader.readLine();
            if (line == null) {
                break;
            }
            // Skip anything previously generated by JSPC
            if (line.indexOf(insertStartMarker) >= 0) {
                while (true) {
                    line = reader.readLine();
                    if (line == null) {
                        return;
                    }
                    if (line.indexOf(insertEndMarker) >= 0) {
                        line = reader.readLine();
                        if (line == null) {
                            return;
                        }
                        break;
                    }
                }
            }
            for (int i = 0; i < insertBefore.length; i++) {
                pos = line.indexOf(insertBefore[i]);
                if (pos >= 0)
                    break;
            }
            if (pos >= 0) {
                writer.println(line.substring(0, pos));
                break;
            } else {
                writer.println(line);
            }
        }

        writer.println(insertStartMarker);
        while (true) {
            String line2 = fragmentReader.readLine();
            if (line2 == null) {
                writer.println();
                break;
            }
            writer.println(line2);
        }
        writer.println(insertEndMarker);
        writer.println();

        for (int i = 0; i < pos; i++) {
            writer.print(" ");
        }
        if (line != null) {
            writer.println(line.substring(pos));
        }

        while (true) {
            line = reader.readLine();
            if (line == null) {
                break;
            }
            writer.println(line);
        }
        writer.close();

        reader.close();
        fragmentReader.close();

        FileInputStream fis = new FileInputStream(webXml2);
        FileOutputStream fos = new FileOutputStream(webXml);

        byte buf[] = new byte[512];

        try {
            while (true) {
                int n = fis.read(buf);
                if (n < 0) {
                    break;
                }
                fos.write(buf, 0, n);
            }
        } finally {
            if (fis != null) {
                fis.close();
            }
            if (fos != null) {
                fos.close();
            }
        }

        webXml2.delete();
        (new File(webxmlFile)).delete();

    }
protected void mergeIntoWebXml ( ) throws IOException { File webappBase = new File ( uriRoot ) ; File webXml = new File ( webappBase , "WEB-INF/web.xml" ) ; File webXml2 = new File ( webappBase , "WEB-INF/web2.xml" ) ; String insertStartMarker = Localizer . getMessage ( "jspc.webinc.insertStart" ) ; String insertEndMarker = Localizer . getMessage ( "jspc.webinc.insertEnd" ) ; BufferedReader reader = new BufferedReader ( new InputStreamReader ( new FileInputStream ( webXml ) , "UTF-8" ) ) ; BufferedReader fragmentReader = new BufferedReader ( new InputStreamReader ( new FileInputStream ( webxmlFile ) , "UTF-8" ) ) ; PrintWriter writer = new PrintWriter ( new OutputStreamWriter ( new FileOutputStream ( webXml2 ) , "UTF-8" ) ) ; // Insert the <servlet> and <servlet-mapping> declarations int pos = - 1 ; String line = null ; while ( true ) { line = reader . readLine ( ) ; if ( line == null ) { break ; } // Skip anything previously generated by JSPC if ( line . indexOf ( insertStartMarker ) >= 0 ) { while ( true ) { line = reader . readLine ( ) ; if ( line == null ) { return ; } if ( line . indexOf ( insertEndMarker ) >= 0 ) { line = reader . readLine ( ) ; if ( line == null ) { return ; } break ; } } } for ( int i = 0 ; i < insertBefore . length ; i ++ ) { pos = line . indexOf ( insertBefore [ i ] ) ; if ( pos >= 0 ) break ; } if ( pos >= 0 ) { writer . println ( line . substring ( 0 , pos ) ) ; break ; } else { writer . println ( line ) ; } } writer . println ( insertStartMarker ) ; while ( true ) { String line2 = fragmentReader . readLine ( ) ; if ( line2 == null ) { writer . println ( ) ; break ; } writer . println ( line2 ) ; } writer . println ( insertEndMarker ) ; writer . println ( ) ; for ( int i = 0 ; i < pos ; i ++ ) { writer . print ( " " ) ; } if ( line != null ) { writer . println ( line . substring ( pos ) ) ; } while ( true ) { line = reader . readLine ( ) ; if ( line == null ) { break ; } writer . println ( line ) ; } writer . close ( ) ; reader . close ( ) ; fragmentReader . close ( ) ; FileInputStream fis = new FileInputStream ( webXml2 ) ; FileOutputStream fos = new FileOutputStream ( webXml ) ; byte buf [ ] = new byte [ 512 ] ; try { while ( true ) { int n = fis . read ( buf ) ; if ( n < 0 ) { break ; } fos . write ( buf , 0 , n ) ; } } finally { if ( fis != null ) { fis . close ( ) ; } if ( fos != null ) { fos . close ( ) ; } } webXml2 . delete ( ) ; ( new File ( webxmlFile ) ) . delete ( ) ; }
Include the generated web.xml inside the webapp's web.xml.
Include the generated web . xml inside the webapp s web . xml .