-
前文
往往我们没有对链接有效性进行校验,当访问不存在的链接的时候,是由系统抛出链接不存在或者未找到的错误.
当我们相对不存在的链接进行自定义拦截,判断的时候,就需要 获取 DispatcherServlet -
示例
@Autowired
public DispatcherServlet dispatcherServlet;
if(url.contains("xxxx")) {
List<HandlerMapping> handlerMappings = dispatcherServlet.getHandlerMappings();
HandlerExecutionChain handler = null;
if(handlerMappings != null) {
for (HandlerMapping mapping : handlerMappings) {
try {
handler = mapping.getHandler(servletRequest);
if (handler != null) {
break;
}
} catch (Exception e) {
logger.error("xxx路径判断发生错误:",e);
}
}
}
if(handler == null) {
System.out.println("链接不存在")
}
}
-
说明:
在拦截器中 引入DispatcherServlet
,获取DispatcherServlet
, 获取当前所有处理器映射器
,传入request
,循环判断是否能找到处理器
,找不到,则说明请求的链接不存在 -
环境:springmvc 5.1.2