springMVC--4种映射处理器handlerMapping

逆水行舟用力撑,一篙松劲退千寻。这篇文章主要讲述springMVC--4种映射处理器handlerMapping相关的知识,希望能为你提供帮助。

  •   根据controller的name名称来映射寻找controller:BeanNameUrlHandlerMapping   (默认)
1.1开启该映射:默认是开启的 < bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"> < /bean> 1.2定义bean的name属性: < bean id="helloController" name="/hello1.do" class="com.controller.HelloController"> < /bean> 1.3界面访问URL:与bean的name属性值一致 http://localhost:5080/springmvc/hello1.do

  • 根据URL来映射寻找controller:推荐使用:SimpleUrlHandlerMapping
2.1开启该映射: < bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping"> < property name="mappings"> < props> < prop key="/hello2.do"> HelloController< /prop> < /props> < /property> < /bean> 2.2定义bean: < bean id="helloController" class="com.controller.HelloController"> < /bean> 2.3界面URL访问:与prop的key属性值一致 http://localhost:5080/springmvc/hello2.do 优点:将controller定义与映射分离开,耦合性低。

  • 根据controller的类名来映射寻找controller:  ControllerClassNameHandlerMapping 
3.1开启类名映射处理器: < bean class="org.springframework.web.servlet.mvc.support.ControllerClassNameHandlerMapping"> < /bean> 3.2定义bean < bean id="hello3Controller" class="com.controller.Hello2Controller"> < /bean> 3.3界面URL访问:与bean的id属性值无关。 http://localhost:5080/springmvc/hello2.do正确 http://localhost:5080/springmvc/hello2Controller.do正确 http://localhost:5080/springmvc/hello21111.do正确 http://localhost:5080/springmvc/hello3.do 错误 注意点:使用类名来访问一个Controller,

  • 使用注解来映射寻找controller:  DefaultAnnotationHandlerMapping
DefaultAnnotationHandlerMapping和RequestMappingHandlerMapping都是处理requestMapping的注解,
前者以废弃,不建议使用,后者用来代替前者
1.开启注解扫描组件: 作用:当我加载配置文件时,到我们指定的包下扫描(读取)java文件, 寻找标注注解的地方(接口,类,方法或者其他),进行完成初始化。 < beans> < !--配置扫描使用注解的包路径--> < context:component-scan base-package="com"> < /context:component-scan> < !--开启springMVC注解--> < bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter" /> < bean class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping"> < /bean> < /beans> 2.在类上标记:@Controller 声明该类是一个springMVC Controller 3.在方法上使用:@RequestMapping("/login") 声明该方法处理哪一个请求 eg: @Controller public class Login { @RequestMapping("/login") public ModelAndView login(){ ModelAndView mv = new ModelAndView(); mv.setViewName("login"); return mv; } }

【springMVC--4种映射处理器handlerMapping】 


    推荐阅读