java获取web项目根路径

//获取web 项目根路径
public static String getWebPath() {
        String sysPath = "";
        try {
            //SfgkUtil 为该方法所在类名称
            if(SfgkUtil.class.getClassLoader().getResource(File.separator)==null){
                return getOtherWebPath();
            }
            sysPath = SfgkUtil.class.getClassLoader().getResource(File.separator).getPath();
            sysPath = URLDecoder.decode(sysPath, "UTF-8");
            if(sysPath.indexOf("WEB-INF")!=-1){
                return sysPath.substring(0, sysPath.indexOf("WEB-INF"));
            }
            else{    
                return getOtherWebPath();
            }    
        } catch (Exception e) {
            e.printStackTrace();
            return sysPath;
        }
    }

    private static String getOtherWebPath(){
        String sysPath = "";
        URL url = SfgkUtil.class.getProtectionDomain().getCodeSource().getLocation();   
        String path = url.toString();   
        int index = path.indexOf("WEB-INF");
        try {
            path = URLDecoder.decode(path, "UTF-8");
            if(index!=-1){
                sysPath =path.substring(0, index);
                sysPath =sysPath.replace("file:/", "");
                return sysPath;
            }
            else{
                sysPath =path.replace("file:/", "");
                return sysPath;
            }
        } catch (UnsupportedEncodingException e) {
            e.printStackTrace();
            return sysPath;
        }
       
    }

posted on 2017-02-16 21:36  nycqw  阅读(247)  评论(0)    收藏  举报

导航