You get "No mapping found" error because the URL is mapped to your (single) DispatcherServlet. I can't figure out why, because your web.xml maps "/" to vsm servlet, and not "/*".
Generally it is not a good idea to map some URLs to Tomcat's specific servlet. Add another servlet mapping to "vsm" servlet with path "/rest/*" or something and get rid of "/static/*" mapping".
Standard Java EE servlets mapping are poor - there are only 3 kinds of mapping - "*.ext", "/path" or "/path/*". When you want some base path to be excluded from more general mapping, it's not that easy.
You may serve static resources from "/static/*" base path by mapping "application" requests by extension (e.g. *.do) or by <b>other</b> base path (e.g. "/app" or "/main", or something).