亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? compiler.java

?? 這是一個法律事務所系統源碼
?? JAVA
字號:
/* * $Header: /home/cvs/jakarta-tomcat/src/share/org/apache/jasper/compiler/Compiler.java,v 1.19.2.2 2000/08/28 17:48:24 rubys Exp $ * $Revision: 1.19.2.2 $ * $Date: 2000/08/28 17:48:24 $ * * ==================================================================== *  * The Apache Software License, Version 1.1 * * Copyright (c) 1999 The Apache Software Foundation.  All rights  * reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * * 1. Redistributions of source code must retain the above copyright *    notice, this list of conditions and the following disclaimer.  * * 2. Redistributions in binary form must reproduce the above copyright *    notice, this list of conditions and the following disclaimer in *    the documentation and/or other materials provided with the *    distribution. * * 3. The end-user documentation included with the redistribution, if *    any, must include the following acknowlegement:   *       "This product includes software developed by the  *        Apache Software Foundation (http://www.apache.org/)." *    Alternately, this acknowlegement may appear in the software itself, *    if and wherever such third-party acknowlegements normally appear. * * 4. The names "The Jakarta Project", "Tomcat", and "Apache Software *    Foundation" must not be used to endorse or promote products derived *    from this software without prior written permission. For written  *    permission, please contact apache@apache.org. * * 5. Products derived from this software may not be called "Apache" *    nor may "Apache" appear in their names without prior written *    permission of the Apache Group. * * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * ==================================================================== * * This software consists of voluntary contributions made by many * individuals on behalf of the Apache Software Foundation.  For more * information on the Apache Software Foundation, please see * <http://www.apache.org/>. * */ package org.apache.jasper.compiler;import java.util.Hashtable;import java.io.FileNotFoundException;import java.io.File;import java.io.PrintWriter;import java.io.ByteArrayOutputStream;import java.io.FileOutputStream;import org.apache.jasper.JspCompilationContext;import org.apache.jasper.Constants;import org.apache.jasper.JasperException;import org.apache.jasper.compiler.ParseException;import org.apache.tomcat.logging.Logger;/** * If you want to customize JSP compilation aspects, this class is * something you should take a look at.  *  * Hope is that people can just extend Compiler and override things * like isOutDated() but inherit things like compile(). This might * change.  * * @author Anil K. Vijendran * @author Mandar Raje */public class Compiler {    protected JavaCompiler javac;    protected Mangler mangler;    protected JspCompilationContext ctxt;    public Compiler(JspCompilationContext ctxt) {        this.ctxt = ctxt;    }        /**      * Compile the jsp file from the current engine context     *     * @return true if the class file was outdated the jsp file     *         was recompiled.      */    public boolean compile()        throws FileNotFoundException, JasperException, Exception     {        String pkgName = mangler.getPackageName();        String classFileName = mangler.getClassFileName();        ctxt.setServletPackageName(pkgName);        Constants.message("jsp.message.package_name_is",                          new Object[] { (pkgName==null)?                                          "[default package]":pkgName },                          Logger.DEBUG);        Constants.message("jsp.message.class_file_name_is",                          new Object[] { classFileName },                          Logger.DEBUG);	if (!isOutDated())            return false;	// Hack to avoid readign the class file every time -	// getClassName() is an _expensive_ operation, and it's needed only	// if isOutDated() return true.         String javaFileName = mangler.getJavaFileName();        ctxt.setServletJavaFileName(javaFileName);        Constants.message("jsp.message.java_file_name_is",                          new Object[] { javaFileName },                          Logger.DEBUG);	String className = mangler.getClassName();        ctxt.setServletClassName(className);        Constants.message("jsp.message.class_name_is",                          new Object[] { className },                          Logger.DEBUG);                        // Need the encoding specified in the JSP 'page' directive for        //  - reading the JSP page        //  - writing the JSP servlet source        //  - compiling the generated servlets (pass -encoding to javac).        // XXX - There are really three encodings of interest.        String jspEncoding = "8859_1";          // default per JSP spec        String javaEncoding = "UTF8";           // perhaps debatable?	// This seems to be a reasonable point to scan the JSP file	// for a 'contentType' directive. If it found then the set	// the value of 'jspEncoding to reflect the value specified.	// Note: if (true) is convenience programming. It can be	// taken out once we have a more efficient method.	if (true) {	    JspReader tmpReader = JspReader.createJspReader(							    ctxt.getJspFile(),							    ctxt,							    jspEncoding);	    String newEncode = changeEncodingIfNecessary(tmpReader);	    if (newEncode != null) jspEncoding = newEncode;	}        JspReader reader = JspReader.createJspReader(            ctxt.getJspFile(),            ctxt,            jspEncoding        );        ServletWriter writer =             (new ServletWriter                (new PrintWriter                    (new java.io.OutputStreamWriter(                        new FileOutputStream(javaFileName),javaEncoding))));        ctxt.setReader(reader);        ctxt.setWriter(writer);        ParseEventListener listener = new JspParseEventListener(ctxt);                Parser p = new Parser(reader, listener);        listener.beginPageProcessing();        p.parse();        listener.endPageProcessing();        writer.close();        String classpath = ctxt.getClassPath();         // I'm nuking        //          System.getProperty("jsp.class.path", ".")         // business. If anyone badly needs this we can talk. -akv        // I'm adding tc_path_add because it solves a real problem        // and nobody has yet to come up with a better alternative.        // Note: this is in two places.  Search for tc_path_add below.        // If you have one, please let me know.  -Sam Ruby        String sep = System.getProperty("path.separator");        String[] argv = new String[]         {            "-encoding",            javaEncoding,            "-classpath",	    System.getProperty("java.class.path")+ sep + classpath + sep +                System.getProperty("tc_path_add") + sep + ctxt.getOutputDir(),            "-d", ctxt.getOutputDir(),            javaFileName        };        StringBuffer b = new StringBuffer();        for(int i = 0; i < argv.length; i++) {            b.append(argv[i]);            b.append(" ");        }        Constants.message("jsp.message.compiling_with",                          new Object[] { b.toString() },                          Logger.DEBUG);        /**         * 256 chosen randomly. The default is 32 if you don't pass         * anything to the constructor which will be less.          */        ByteArrayOutputStream out = new ByteArrayOutputStream (256);        // if no compiler was set we can kick out now        if (javac == null) {            return true;        }        /**         * Configure the compiler object         * See comment above: re tc_path_add         */        javac.setEncoding(javaEncoding);        javac.setClasspath( System.getProperty("java.class.path")+ sep +                             System.getProperty("tc_path_add") + sep +                            classpath + sep + ctxt.getOutputDir());        javac.setOutputDir(ctxt.getOutputDir());        javac.setMsgOutput(out);        /**         * Execute the compiler         */        boolean status = javac.compile(javaFileName);        if (!ctxt.keepGenerated()) {            File javaFile = new File(javaFileName);            javaFile.delete();        }            if (status == false) {            String msg = out.toString ();            throw new JasperException(Constants.getString("jsp.error.unable.compile")                                      + msg);        }        String classFile = ctxt.getOutputDir() + File.separatorChar;        if (pkgName != null && !pkgName.equals(""))            classFile = classFile + pkgName.replace('.', File.separatorChar) +                 File.separatorChar;        classFile = classFile + className + ".class";        if (!classFile.equals(classFileName)) {            File classFileObject = new File(classFile);            File myClassFileObject = new File(classFileName);            if (myClassFileObject.exists())                myClassFileObject.delete();            if (classFileObject.renameTo(myClassFileObject) == false)                throw new JasperException(Constants.getString("jsp.error.unable.rename",                                                              new Object[] {                                                                   classFileObject,                                                                   myClassFileObject                                                              }));        }        return true;    }    public void computeServletClassName() {	// Hack to avoid readign the class file every time -	// getClassName() is an _expensive_ operation, and it's needed only	// if isOutDated() return true. 	String className = mangler.getClassName();        ctxt.setServletClassName(className);        Constants.message("jsp.message.class_name_is",                          new Object[] { className },                          Logger.DEBUG);    }        /**     * This is a protected method intended to be overridden by      * subclasses of Compiler. This is used by the compile method     * to do all the compilation.      */    public boolean isOutDated() {	return true;    }        /**     * Set java compiler info     */    public void setJavaCompiler(JavaCompiler javac) {        this.javac = javac;    }    /**     * Set Mangler which will be used as part of compile().     */    public void setMangler(Mangler mangler) {        this.mangler = mangler;    }    /**     * Change the encoding for the reader if specified.     */    public String changeEncodingIfNecessary(JspReader tmpReader)    throws ParseException {	// A lot of code replicated from Parser.java	// Main aim is to "get-it-to-work".	while (tmpReader.skipUntil("<%@") != null) {	    tmpReader.skipSpaces();	    // check if it is a page directive.	    if (tmpReader.matches("page")) {		tmpReader.advance(4);		tmpReader.skipSpaces();				try {		    Hashtable attrs = tmpReader.parseTagAttributes();		    String ct = (String) attrs.get("contentType");		    if (ct != null) {			int loc = ct.indexOf("charset=");			if (loc > 0) {			    String encoding = ct.substring(loc + 8);			    return encoding;			}		    }		} catch (ParseException ex) {		    // Ignore the exception here, it will be caught later.		    return null;		}	    }	}	return null;    }}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美高清你懂得| 精品国产一区二区三区久久影院| 欧美日韩精品二区第二页| 91精品在线免费| 亚洲人成影院在线观看| 久久av资源网| 日韩精品中文字幕在线一区| 亚洲精品日韩专区silk| 国产精品中文欧美| 日韩三级视频在线观看| 亚洲精品老司机| 成人丝袜高跟foot| 欧美精品一区二区久久婷婷 | 亚洲午夜在线电影| 成人午夜av电影| 91 com成人网| 亚洲国产精品自拍| 91美女片黄在线观看| 国产免费观看久久| 国精产品一区一区三区mba桃花| 制服丝袜av成人在线看| 亚洲美女视频在线| 91美女片黄在线观看| 中文字幕在线不卡一区二区三区| 国产精品一区二区三区四区| 日韩写真欧美这视频| 日日夜夜一区二区| 欧美午夜一区二区三区| 亚洲精品国产视频| 在线视频一区二区免费| 亚洲欧洲av在线| 一本久久精品一区二区| 国产精品每日更新在线播放网址| 国产大陆a不卡| 中文乱码免费一区二区| 成人永久aaa| 国产精品麻豆一区二区| 972aa.com艺术欧美| 亚洲精品欧美综合四区| 91网站在线播放| aaa欧美大片| 欧美大黄免费观看| 五月综合激情网| 3d动漫精品啪啪一区二区竹菊 | 国产精品久久久久久久久晋中| 国产精品亚洲人在线观看| 久久精品人人做人人爽人人| 成人国产精品免费| 亚洲精品国产无天堂网2021| 欧美另类z0zxhd电影| 日韩国产欧美在线播放| 精品三级在线观看| 不卡免费追剧大全电视剧网站| 亚洲精品日韩一| 欧美一区二区三区视频免费播放| 另类人妖一区二区av| 国产无遮挡一区二区三区毛片日本| a美女胸又www黄视频久久| 亚洲午夜日本在线观看| 欧美电影免费观看高清完整版在| 成人免费观看视频| 一区二区三区av电影| 欧美一级欧美三级| 成人午夜电影久久影院| 首页国产欧美久久| 国产午夜精品一区二区三区嫩草 | 欧美老女人第四色| 美国十次综合导航| 国产精品国产精品国产专区不蜜| 欧美人妇做爰xxxⅹ性高电影| 久国产精品韩国三级视频| 中文字幕中文字幕一区| 337p亚洲精品色噜噜噜| 成人av免费在线观看| 日韩av中文字幕一区二区三区| 国产精品午夜久久| 91精品国产一区二区三区| 成人黄色在线看| 看电影不卡的网站| 亚洲免费在线播放| 久久久久久毛片| 7777精品伊人久久久大香线蕉的| 成人污污视频在线观看| 蜜臀精品久久久久久蜜臀| 亚洲欧美日本韩国| 欧美韩国日本综合| 精品国产污污免费网站入口| 欧美曰成人黄网| 成人一二三区视频| 老司机精品视频一区二区三区| 一区二区在线观看视频 | 成人欧美一区二区三区在线播放| 日韩色视频在线观看| 色8久久人人97超碰香蕉987| 国产成人亚洲综合a∨婷婷| 日韩av一区二| 丝袜美腿亚洲色图| 亚洲天堂av老司机| 日本一区二区三区国色天香 | 欧美日韩激情在线| 91玉足脚交白嫩脚丫在线播放| 精品一区二区日韩| 日本在线播放一区二区三区| 亚洲免费观看高清完整| 国产精品麻豆欧美日韩ww| 久久这里只精品最新地址| 欧美一级专区免费大片| 欧美日韩一区二区电影| 在线观看日产精品| 成人av影视在线观看| 不卡在线观看av| 91网址在线看| 欧美伊人久久久久久久久影院| 色爱区综合激月婷婷| 91久久精品一区二区三区| 色天天综合久久久久综合片| 91免费在线播放| 一本大道久久a久久精品综合| 不卡在线视频中文字幕| 99视频热这里只有精品免费| av不卡免费电影| 色婷婷av一区二区三区gif| 日本高清无吗v一区| 欧美日精品一区视频| 欧美一区二区视频免费观看| 欧美大胆人体bbbb| 久久伊人蜜桃av一区二区| 亚洲精品在线电影| 亚洲国产精品激情在线观看| 亚洲色大成网站www久久九九| 亚洲综合免费观看高清完整版在线 | 久久久久综合网| 国产精品人成在线观看免费| 成人欧美一区二区三区白人| 亚洲一区二区三区四区的| 午夜伦欧美伦电影理论片| 麻豆成人av在线| 成人午夜av电影| 欧美日韩一区二区电影| 精品国产成人在线影院| 国产精品拍天天在线| 亚洲尤物在线视频观看| 蜜桃视频免费观看一区| 成人午夜av在线| 91精品在线麻豆| 国产精品污网站| 亚洲国产视频一区| 久久亚洲二区三区| 欧美系列在线观看| 欧美日韩美女一区二区| 男人的天堂亚洲一区| 一区二区三区免费在线观看| 亚洲成人在线免费| 国产乱国产乱300精品| 色综合久久综合中文综合网| 欧美一区二区国产| 中文字幕乱码亚洲精品一区 | 91福利精品视频| 久久综合久色欧美综合狠狠| 亚洲欧美日韩成人高清在线一区| 欧美a级理论片| 色先锋资源久久综合| 精品福利一区二区三区| 伊人婷婷欧美激情| 国产白丝精品91爽爽久久| 欧美日韩国产系列| 国产精品久久一级| 老色鬼精品视频在线观看播放| 欧美最猛性xxxxx直播| 国产亚洲成av人在线观看导航| 日韩精品成人一区二区三区| av亚洲精华国产精华| 精品久久久久久久一区二区蜜臀| 亚洲成人午夜电影| 成人黄色小视频| 久久久激情视频| 激情综合网av| 欧美一区二区三区婷婷月色| 一区二区三区成人| 成人妖精视频yjsp地址| 久久众筹精品私拍模特| 麻豆传媒一区二区三区| 欧美日韩高清一区二区三区| 一级日本不卡的影视| 91丨porny丨中文| 欧美国产一区在线| 国产精品亚洲а∨天堂免在线| 日韩欧美在线网站| 日本vs亚洲vs韩国一区三区| 欧美日韩免费视频| 亚洲最大成人网4388xx| 99久久精品免费看国产免费软件| 中文字幕乱码久久午夜不卡| 国产精品一区在线| 亚洲精品一线二线三线| 久久www免费人成看片高清| 日韩免费观看2025年上映的电影| 日本女人一区二区三区| 777精品伊人久久久久大香线蕉| 香港成人在线视频|