Мне удалось добиться «исключения из URL» или «несоответствия URL» с помощью конструкции Regex «негативный взгляд».
Я хочу, чтобы мой обработчик обрабатывал все, кроме статических ресурсов, то есть CSS / Images / JS и страницы ошибок.
Для предотвращения этого обращения к страницам ошибок, т. Е. ResourceNotFound, вам необходимо
- Отредактируйте страницу web.xml / web-app / error-page, добавив префикс ошибки к / error /
- Отредактируйте WEB-INF / spring / webmvc-config.xml / beans / mvc: view-controller / @ path, отмените ваши новые отображения
- Отредактируйте WEB-INF / spring / webmvc-config.xml / beans / bean [@class = ** SimpleMappingExceptionResolver], чтобы сопоставить все исключения с ошибкой /...
В вашем контроллере используйте ниже
@Controller
@RequestMapping(value = { "/" })
public class CmsFrontendController {
@RequestMapping(value = { "/" }, headers = "Accept=text/html")
public String index(Model ui) {
return addMenu(ui, "/");
}
@RequestMapping(value = { "{path:(?!resources|error).*$}", "{path:(?!resources|error).*$}/**" }, headers = "Accept=text/html")
public String index(Model ui, @PathVariable(value = "path")String path) {
try {
path = (String) request.getAttribute(
HandlerMapping.PATH_WITHIN_HANDLER_MAPPING_ATTRIBUTE);
return addMenu(ui, path);
} catch (Exception e) {
log.error("Failed to render the page. {}", StackTraceUtil.getStackTrace(e));
return "error/general";
}
}
}