Reference: Spring In Action 3rd Edition
a view resolver’s job is to map a logical view name to some implementation of org.springframework.web.servlet.View
Spring comes with several view resolver implementations to choose from.
InternalResourceViewResolver is one such convention-oriented element. It resolves a logical view name into a View object that
delegates rendering responsibility to a template (usually a JSP) located in the web application’s context
it does this by taking the logical view name and surrounding it with a prefix and a suffix to arrive at the path of a template that’s a resource within the web application.
XXX-context.xml
<!-- Resolves views selected for rendering by @Controllers to .jsp resources in the /WEB-INF/views directory -->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<!-- By default the View object that InternalResourceViewResolver creates is an instance of InternalResourceView,
which simply dispatches the request to the JSP for rendering.
to use some JSTL tags, we may choose to replace InternalResourceView with JstlView by setting the viewClass property -->
<property name="viewClass" value="org.springframework.web.servlet.view.JstlView" />
<property name="prefix" value="/WEB-INF/views/"/>
<property name="suffix" value=".jsp"/>
</bean>