我使用的是捕獲所有的servlet:[全部的Servlet防止資源加載
@WebServlet(name="RequestHandler", urlPatterns="/*")
public class RequestHandler extends HttpServlet {
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doPost(request, response);
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
new SeedPlanter(request, response).sow();
}
}
要處理所有的請求。請注意0/
*。這是因爲它加載了各種各樣的東西,比如模板,處理對象等等。servlet基本上只是一個門面,它位於處理所有html渲染的自定義框架之前。
問題是我不能再直接訪問資源。
例如,如果我想加載一個在web-inf目錄之外的HTML文件(localhost:8080/myapp/test.html
),它會給我一個404錯誤。事實上,即使我嘗試在頁面上加載圖像(localhost:8080/myapp/images/test.png
),它也會提供404資源未找到。刪除servlet顯然會破壞整個應用程序,但它確實允許我加載這些資源,所以我確信它的servlet導致了問題。
如何使用像我這樣的servlet,但也能夠加載這些資源?