我嘗試配置jetty上下文(以編程方式)使用服務根上下文的servlet。空上下文字符串警告
對於上下文路徑,我設置「/」和servlet映射「/ *」。這完全按照我想要的方式工作,但Jetty抱怨(警告)以'/'結尾的上下文路徑。當我將上下文路徑設置爲「」(空字符串)時,會產生一個關於空字符串的警告。
的documentation section of Jetty有關此問題的狀態:
注意
Java Servlet規範2.5阻礙空上下文路徑字符串,以及Java Servlet規範3.0有效地禁止它。
防波堤源的部分是:
public void setContextPath(String contextPath)
{
if (contextPath == null)
throw new IllegalArgumentException("null contextPath");
if (contextPath.endsWith("/*"))
{
LOG.warn(this+" contextPath ends with /*");
contextPath=contextPath.substring(0,contextPath.length()-2);
}
else if (contextPath.endsWith("/"))
{
LOG.warn(this+" contextPath ends with /");
contextPath=contextPath.substring(0,contextPath.length()-1);
}
if (contextPath.length()==0)
{
LOG.warn("Empty contextPath");
contextPath="/";
}
_contextPath = contextPath;
if (getServer() != null && (getServer().isStarting() || getServer().isStarted()))
{
Handler[] contextCollections = getServer().getChildHandlersByClass(ContextHandlerCollection.class);
for (int h = 0; contextCollections != null && h < contextCollections.length; h++)
((ContextHandlerCollection)contextCollections[h]).mapContexts();
}
}
所以,問題是,什麼情況下的路徑應我爲了映射到上下文的根設置。目前一切正常,但有規範或Jetty警告禁止上下文路徑設置,我想我需要不同的東西。
忽略警告? – Kayaman
會是不好的風格:) –
你必須是新的業務。 – Kayaman