Apache-2.2

Apache Tomcat Servlet 404 故障排除

  • June 25, 2009

我維護一個 GWT Web 應用程序,它使用 3 個 java servlet 進行文件下載/上傳和數據傳輸。我有我的 servlet 映射錯誤的地方,並且幾個月沒有碰過它們,就在幾天前,我在嘗試訪問我的 servlet 時開始收到 404 錯誤。我什至無法通過從 WEB-INF/classes 目錄(即 /servlet/com/company/project/servletname)中鍵入它們的完整路徑來訪問這些 servlet。

不幸的是,這些都超出了共享託管計劃,我無權啟動或停止 tomcat 或其他任何東西。在我向我的託管服務提供商發出故障單之前,我只是想檢查一下我對 servlet 的假設是否正確,以及是否有針對這種情況我應該遵循的任何步驟。

是否需要重新啟動 tomcat 才能使用上傳到“WEB-INF/classes”目錄的新 servlet?是否需要重啟tomcat才能讀取“WEB-INF”目錄下web.xml的變化?

如果我將 .class 文件放在 /WEB-INF/classes/foo/bar.class 我應該能夠通過“ http://www.mydomain.com/servlet/foo/bar ”立即訪問它還是我需要等待 tomcat 辨識這個新的類文件?還是我必須將它包含在現有的 web.xml servlet 映射文件中?

謝謝你的幫助

是否需要重新啟動 tomcat 才能使用上傳到“WEB-INF/classes”目錄的新 servlet?

這取決於,如果你

是否需要重啟tomcat才能讀取“WEB-INF”目錄下web.xml的變化?

這取決於,如果你

如果我將 .class 文件放在 /WEB-INF/classes/foo/bar.class 我應該能夠通過“ http://www.mydomain.com/servlet/foo/bar ”立即訪問它還是我需要等待 tomcat 辨識這個新的類文件?

不,如果您的上下文是可重新載入的,則該類將立即可供 webapp 類載入器使用,請參見上文。

還是我必須將它包含在現有的 web.xml servlet 映射文件中?

要通過 HTTP 訪問你的類(假設它擴展了 HttpServlet),它需要一個映射web.xml(假設你使用的是直接的 http servlet)

引用自:https://serverfault.com/questions/31243