记录一点学习心得:
1.关于.htm请求
<!--
- This bean resolves default view names for controllers that do not explicitly
- specify a view name in their return ModelAndView (see ClinicController).
- This translator takes the request URL and extracts a view name from it: e.g.
- "/welcome.html" -> "welcome", plus configured "View" suffix -> "welcomeView".
RequestToViewNameTranslator这个接口的功能是自动寻找请求所对应的视图名(当某个视图名没有明确配置的时候)。
这个接口目前只有一个实现,类名为DefaultRequestToViewNameTranslator。
-->
<bean id="viewNameTranslator" class="org.springframework.web.servlet.view.DefaultRequestToViewNameTranslator">
<property name="suffix" value="View"/>
</bean>
<!--
- This bean provides explicit View mappings in a resource bundle instead of the
- default InternalResourceViewResolver. It fetches the view mappings from
- localized "views_xx" classpath files, i.e. "/WEB-INF/classes/views.properties"
- or "/WEB-INF/classes/views_de.properties".
-
- Symbolic view names returned by Controllers will be resolved by this bean
- using the respective properties file, which defines arbitrary mappings between
- view names and resources.
-->
<bean id="viewResolver" class="org.springframework.web.servlet.view.ResourceBundleViewResolver">
<property name="basename" value="views"/>
</bean>
在网上找资料说是spring的惯例优先原则(convention over configuration)
对于http://localhost:8080/petclinic/findOwners.htm这个URL的请求将会对应findOwners这个逻辑视图名。这个视图名正是由DefaultRequestToViewNameTranslator解析出来的。然后,这个bean会被进一步解析