У вас есть 2 варианта:
/app/*
или *.do
, а затем пусть все ваши запросы на страницы соответствуют этому шаблону URL. См. Также веб-приложения Design Patterns /static
или /resources
, и создать фильтр, который проверяет, не совпадает ли URL-адрес запроса, а затем перенаправляется на сервлет. Вот пример, который предполагает, что ваш сервлет-контроллер является @WebServlet("/app/*")
, а фильтр - @WebFilter("/*")
, и все ваши статические ресурсы находятся в папке /resources
. HttpServletRequest req = (HttpServletRequest) request;
String path = req.getRequestURI().substring(req.getContextPath().length());
if (path.startsWith("/resources/")) {
chain.doFilter(request, response); // Goes to default servlet.
} else {
request.getRequestDispatcher("/app" + path).forward(request, response); // Goes to your controller.
}
См. также Как получить доступ к статическим ресурсам при сопоставлении глобального сервлет-контроллера контроллера на /*. Любой объект Error
имеет элемент stack
, который захватывает точку, в которой он был построен.
var stack = new Error().stack
console.log( stack )
или более просто:
console.trace("Here I am!")