2.7.0版本getContextPath方法：
```
protected String getContextPath(URL url) {
        String contextPath = url.getPath();
        return contextPath.endsWith("/") ? contextPath.substring(0,contextPath.length()-1) : contextPath;
    }
```
无法将方法置入web容器中，退回2.6.5版本的方法：
```
protected String getContextPath(URL url) {
        int pos = url.getPath().lastIndexOf("/");
        return pos > 0 ? url.getPath().substring(0, pos) : "";
    }
```
使用正常，两个方法应该不等价的。
if (version != null && version.length() > 0) {
            buf.append(":").append(version);
        }
        return buf.toString();
    }
    public String toServiceStringWithoutResolving() {
        return buildString(true, false, false, true);
    }
    public String toServiceString() {
        return buildString(true, false, true, true);
    }
    @Deprecated
    public String getServiceName() {
        return getServiceInterface();
    }
    public String getServiceInterface() {
        return getParameter(Constants.INTERFACE_KEY, path);
    }
    public URL setServiceInterface(String service) {
        return addParameter(Constants.INTERFACE_KEY, service);
    }
    /**
     * @see #getParameter(String, int)
     * @deprecated Replace to <code>getParameter(String, int)</code>
     */
    @Deprecated
    public int getIntParameter(String key) {
        return getParameter(key, 0);
    }
    /**