refer to spring in action third edtion (7.1.2)
we must indicate what URLs will be handled by the
DispatcherServlet. It's common to find DispatcherServlet mapped to
URL patterns like "*.htm", "/*", or "/app". However, there are a few problems with
these URL patterns:
The "*.htm" pattern implies that the response will always be in HTML form (which, as
we'll learn in chapter 11, isn't necessarily the case).
Mapping it to "/*" doesn't imply any specify type of response, but it indicates that
DispatcherServlet will serve all requests. That makes serving static content such as
images and stylesheets more difficult than necessary.
The "/app" pattern (or something similar) helps us distinguish DispatcherServlet
-served content from other types of content. But then we have an implementation detail
(specifically, the "/app" path) exposed in our URLs. That leads to complicated URL
rewriting tactics to hide the "/app" path).
Rather than use any of those flawed servlet-mapping schemes, I prefer mapping
DispatcherServlet like this:
<servlet-mapping>
<servlet-name>spitter</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
<mvc:resources> handles requests for static content for you