SpringMVC的各组件
-
url处理映射器的三种方式
-
1. BeanNameUrlHandlerMapping 通过url名字,找到对应的bean的名字进行映射
<bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"/>
<!-- 3.配置控制器-相当于配置了访问路径-->
<bean name="/user.do" class="com.example.controller.UserController"/>
-
2. SimpleUrlHandlerMapping {简单的Url映射} 通过key找到bean的id控制器
<bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<property name="mappings">
<props>
<prop key="/user1.do">userController</prop>
<prop key="/user2.do">userController</prop>
<prop key="/user3.do">userController</prop>
</props>
</property>
</bean>
<bean id="userController" class="com.example.controller.UserController"></bean>
-
3. ControllerClassNameHandlerMapping控制器的类名处理映射
不用配置访问路径 默认的访问路径就是类名.do来访问 访问时类名首字母小写
<bean class="org.springframework.web.servlet.mvc.support.ControllerClassNameHandlerMapping"/>
<bean class="com.example.controller.UserController"></bean>
-
处理器适配器的两种方式
-
SimpleControllerHandlerAdapter 执行Controller,调用Controller里面的handleRequest方法,返回到modelAndView
<bean class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter"/>
<bean name="/user.do" class="com.example.controller.UserController"/>
-
HttpRequestHandlerAdapter
<bean class="org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter"/>
<bean name="/http.do" class="com.example.controller.HttpController"></bean>
区别SimpleControllerHandlerAdapter实现了接口
-
命令控制器AbstractCommandController
更详情的请参考AbstractCommandController这篇:https://blog.csdn.net/tototuzuoquan/article/details/8199564