通过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 (五) [ControllerClassNameHandlerMapping根据Controller类名匹配,解决了bean的递增配置问题]
原文作者:Spring MVC
原文地址: https://blog.csdn.net/zhang6622056/article/details/7621538
本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
原文地址: https://blog.csdn.net/zhang6622056/article/details/7621538
本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。