完整的Demo请自行下载,spring涉及的包都在项目总的pom.xml下。
下载路径:点击下载
这里主要讲下自己遇到的问题:
spring websocket 调用时出现404的问题,
排查:
1.检查是否成功注册dispatcherHandler,随便发起一个请求,断点检查handlerMappings中是否存在你配置的路径;
/**
* Return the HandlerExecutionChain for this request.
* <p>Tries all handler mappings in order.
* @param request current HTTP request
* @return the HandlerExecutionChain, or {@code null} if no handler could be found
*/
protected HandlerExecutionChain getHandler(HttpServletRequest request) throws Exception {
for (HandlerMapping hm : this.handlerMappings) {
if (logger.isTraceEnabled()) {
logger.trace(
"Testing handler map [" + hm + "] in DispatcherServlet with name '" + getServletName() + "'");
}
HandlerExecutionChain handler = hm.getHandler(request);
if (handler != null) {
return handler;
}
}
return null;
}
2.如果handler注册成功那么就是请求的问题了,如拦截器等,注意web.xml中Dispatcher映射配置
<!-- spring mvc 请求后缀 -->
<servlet-mapping>
<servlet-name>Dispatcher</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>