Spring mvc (五) [ControllerClassNameHandlerMapping根据Controller类名匹配,解决了bean的递增配置问题]

通过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

    原文作者:Spring MVC
    原文地址: https://blog.csdn.net/zhang6622056/article/details/7621538
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞