⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 basejkconfig.java

📁 Tomcat 4.1与WebServer集成组件的源代码包.
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
    }    protected void generateContextMappings(Context context, PrintWriter mod_jk){    }    /** Get the output Writer.  Override with method to generate        web server specific configuration.     */    protected PrintWriter getWriter() throws IOException {	return null;    }    /** Get the host associated with this Container (if any).     */    protected Host getHost(Container child) {	while(child != null && ! (child instanceof Host) ) {	    child = child.getParent();	}	return (Host)child;    }    //-------------------- Properties --------------------    /** Append to config file.     *  Set to <code>true</code> if the config information should be      *  appended.     */    public void setAppend(boolean apnd) {	append = apnd;    }    /** If false, we'll try to generate a config that will     *  let apache serve static files.     *  The default is true, forward all requests in a context     *  to tomcat.     */    public void setForwardAll( boolean b ) {        forwardAll=b;    }    /** Special option - do not generate mappings for the ROOT        context. The default is true, and will not generate the mappings,        not redirecting all pages to tomcat (since /* matches everything).        This means that the web server's root remains intact but isn't        completely servlet/JSP enabled. If the ROOT webapp can be configured        with the web server serving static files, there's no problem setting        this option to false. If not, then setting it true means the web        server will be out of picture for all requests.    */    public void setNoRoot( boolean b ) {        noRoot=b;    }        /**        set a path to the parent directory of the        conf folder.  That is, the parent directory        within which path setters would be resolved against,        if relative.  For example if ConfigHome is set to "/home/tomcat"        and regConfig is set to "conf/mod_jk.conf" then the resulting         path used would be:         "/home/tomcat/conf/mod_jk.conf".</p>        <p>        However, if the path is set to an absolute path,        this attribute is ignored.        <p>        If not set, execute() will set this to TOMCAT_HOME.        <p>        @param <b>dir</b> - path to a directory    */    public void setConfigHome(String dir){        if( dir==null ) return;        File f=new File(dir);        if(!f.isDirectory()){            throw new IllegalArgumentException(                "BaseConfig.setConfigHome(): "+                "Configuration Home must be a directory! : "+dir);        }        configHome = f;    }    /**        set a path to the workers.properties file.        @param <b>path</b> String path to workers.properties file    */    public void setWorkersConfig(String path){        workersConfig= (path==null?null:new File(path));    }    /**        set the path to the log file        @param <b>path</b> String path to a file    */    public void setJkLog(String path){        jkLog= ( path==null?null:new File(path));    }    /** Set the verbosity level        ( use debug, error, etc. ) If not set, no log is written.     */    public void setJkDebug( String level ) {        jkDebug=level;    }    /**        set the Ajp protocal        @param <b>protocal</b> String protocol, "ajp12" or "ajp13"     */    public void setJkWorker(String worker){        jkWorker = worker;    }    // -------------------- Initialize/guess defaults --------------------    /** Initialize defaults for properties that are not set        explicitely    */    protected void initProperties() {        tomcatHome = System.getProperty("catalina.home");        File tomcatDir = new File(tomcatHome);        if(configHome==null){            configHome=tomcatDir;        }    }    // -------------------- Config Utils  --------------------    /** Add an extension mapping. Override with method to generate        web server specific configuration     */    protected boolean addExtensionMapping( String ctxPath, String ext,					 PrintWriter pw )    {	return true;    }            /** Add a fulling specified mapping.  Override with method to generate        web server specific configuration     */    protected boolean addMapping( String fullPath, PrintWriter pw ) {	return true;    }    // -------------------- General Utils --------------------    protected String getAbsoluteDocBase(Context context)    {	// Calculate the absolute path of the document base	String docBase = context.getServletContext().getRealPath("/");	docBase = docBase.substring(0,docBase.length()-1);	if (!isAbsolute(docBase)){	    docBase = tomcatHome + "/" + docBase;	}	docBase = patch(docBase);        return docBase;    }    // ------------------ Grabbed from FileUtil -----------------    public static File getConfigFile( File base, File configDir, String defaultF )    {        if( base==null )            base=new File( defaultF );        if( ! base.isAbsolute() ) {            if( configDir != null )                base=new File( configDir, base.getPath());            else                base=new File( base.getAbsolutePath()); //??        }        File parent=new File(base.getParent());        if(!parent.exists()){            if(!parent.mkdirs()){                throw new RuntimeException(                    "Unable to create path to config file :"+                    base.getAbsolutePath());            }        }        return base;    }    public static String patch(String path) {        String patchPath = path;        // Move drive spec to the front of the path        if (patchPath.length() >= 3 &&            patchPath.charAt(0) == '/'  &&            Character.isLetter(patchPath.charAt(1)) &&            patchPath.charAt(2) == ':') {            patchPath=patchPath.substring(1,3)+"/"+patchPath.substring(3);        }        // Eliminate consecutive slashes after the drive spec	if (patchPath.length() >= 2 &&            Character.isLetter(patchPath.charAt(0)) &&            patchPath.charAt(1) == ':') {            char[] ca = patchPath.replace('/', '\\').toCharArray();            char c;            StringBuffer sb = new StringBuffer();            for (int i = 0; i < ca.length; i++) {                if ((ca[i] != '\\') ||                    (ca[i] == '\\' &&                        i > 0 &&                        ca[i - 1] != '\\')) {                    if (i == 0 &&                        Character.isLetter(ca[i]) &&                        i < ca.length - 1 &&                        ca[i + 1] == ':') {                        c = Character.toUpperCase(ca[i]);                    } else {                        c = ca[i];                    }                    sb.append(c);                }            }            patchPath = sb.toString();        }	// fix path on NetWare - all '/' become '\\' and remove duplicate '\\'	if (System.getProperty("os.name").startsWith("NetWare") &&	    path.length() >=3 &&	    path.indexOf(':') > 0) {	    char[] ca = patchPath.replace('/', '\\').toCharArray();	    StringBuffer sb = new StringBuffer();	    for (int i = 0; i < ca.length; i++) {		if ((ca[i] != '\\') ||		    (ca[i] == '\\' && i > 0 && ca[i - 1] != '\\')) {		    sb.append(ca[i]);		}	    }	    patchPath = sb.toString();	}        return patchPath;    }    public static boolean isAbsolute( String path ) {	// normal file	if( path.startsWith("/" ) ) return true;	if( path.startsWith(File.separator ) ) return true;	// win c:	if (path.length() >= 3 &&            Character.isLetter(path.charAt(0)) &&            path.charAt(1) == ':')	    return true;	// NetWare volume:	if (System.getProperty("os.name").startsWith("NetWare") &&	    path.length() >=3 &&	    path.indexOf(':') > 0)	    return true;	return false;    }    protected void log(String msg) {	System.err.println(msg);    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -