通過ControllerClassNameHandlerMapping實現按照controller的名稱去匹配。這里介紹
multiActionController和ControllerClassNameHandlerMapping結合使用。這樣就不用遞增bean了。
我們之前都是用urlmapping去匹配相關的controller不過那樣的話我們的bean都是遞增的。所以我們還可以用另外的一種方式去配置controller的mapping那就是
org.springframework.web.servlet.mvc.support.ControllerClassNameHandlerMapping"
用上面的這個去代替傳統的urlController
那么它的查找方式是什么呢?
比如說我們發送了一個請求url
http://localhost:8080/springmvc/abc.do
那么它會找類名為AbcController.java的文件。如果是multiActionController的話
要用路徑去疊加。比如:
http://localhost:8080/springmvc/abc/to_add.do 這就表示訪問AbcController.java下的to_add的方法。前提是AbcController.java繼承MultiActionController
當然這是和InternalPathMethodNameResolver結合的結果
下面發一段配置:
Mapping的配置
<bean class="org.springframework.web.servlet.mvc.support.ControllerClassNameHandlerMapping" />
<bean id="classname" class="cn.zhang.mvc.ClassNameController">
這個必須要有
<property name="methodNameResolver">
<bean class="org.springframework.web.servlet.mvc.multiaction.InternalPathMethodNameResolver">
</bean>
</property>
</bean>
以上兩個都成立時才可以用如下的訪問方式:
http://localhost:8080/springmvc/abc/to_add.do