常见的HandlerMapping
1、BeanNameUrlHandlerMapping 根据bean标签的名称找到对应的Controller类
2、SimpleUrlHandlerMapping 根据bean的id查找对应的Controller类
3、ControllerClassNameHandlerMapping 根据controller类的名字找到对应的Controller。
代码:
<!-- 讲解HandleMapping 1.BeanNameUrlHandlerMapping :根据url找到对应的bean name名 --> <bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"></bean> <bean name="/index.do" class="com.zhiyou100.zjc.controller.BeanNameController"></bean> <!-- 2.SimpleUrlHandlerMapping: --> <bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping"> <property name="mappings"> <props> <prop key="simgle.do">a</prop> </props> </property> </bean> <bean id="a" class="com.zhiyou100.zjc.controller.SimpleUrlController"></bean> <!-- 3.ControllerClassNameHandleMapping: --> <bean class="org.springframework.web.servlet.mvc.support.ControllerClassNameHandlerMapping"></bean> <bean class="com.zhiyou100.zjc.controller.MyController1"></bean>
使用注解来替代配置信息。
1、导入额外的aop.jar包如图
2、在springmvc配置文件中加入如下代码
<!-- 包扫描:扫描注解所在的包controller类所在的包--> <context:component-scan base-package="com.zhiyou100.zjc.annotation"></context:component-scan> <!--开启注解驱动AnnotationHandlerMapping --> <mvc:annotation-driven/>
3、创建Controller类
@Controller //等价于<bean class="com.zhiyou100.zjc.controller.MyController1"></bean> public class UserAnnotation { @RequestMapping("index")//requestMapping表示的就是你访问的地址 public String index() { return "index"; } }