SpringMVC中的種對映處理器
在SpringMVC中處理請求到對應的Controller有三種:
一、BeanNameUrlHandlerMapping(預設)
該處理器根據bean的name屬性對應到請求上
<bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"/>可有可無
例如:
<bean name="/index3" class="com.controller.Controller1" > </bean>
那麼此時http://localhost:8080/spring/index3 就會對應到該Controller1上,注意name中“/”必須有。
二、SimpleUrlHandlerMapping
該處理器為簡單對映處理
例如:
<bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<property name="mappings">
<props>
<prop key="/index2">index1</prop> //index2表示請求路徑,index1表示對應Controller的id
</props>
</property>
</bean>
那麼此時http://localhost:8080/spring/index2 就會對應到該Controller1上
如果我們的請求僅僅只是跳轉到一個頁面那麼就可以通過:
1. <bean name="/index" class="org.springframework.web.servlet.mvc.UrlFilenameViewController"/>
當我們使用http://localhost:8080/spring/index 就可以直接跳轉到index.jsp,即該controller直接將請求路徑對應到與之同名的頁面。在這裡我們使用的預設的對映處理器,也可以使用SimpleUrlHandlerMapping,那麼此時頁面將跳轉到與key同名的頁面
2. <bean id="index1" class="org.springframework.web.servlet.mvc.ParameterizableViewController" >
<property name="viewName" value="index"></property>
</bean>
在這裡使用的是SimpleUrlHandlerMapping方式。