前端控制器(dispatchServlet)
在web.xml中配置前端控制器,在服务器启动时就被创建,用来对请求和响应进行接收 和 分发处理,其在配置时可以设置一个初始化参数,用来定位SpringMVC.xml的地址
display null dispatcherServlet org.springframework.web.servlet.DispatcherServlet contextConfigLocation classpath:spring-mvc.xml dispatcherServlet *.action index.jsp
处理器映射器(handlerMapping)
处理器映射器主要有如下几种:
1、BeanNameUrlHandlerMapping 根据对象的名字来进行处理器映射,此时该对象要继承AbstractController 实现handlerRequestInternal方法;对请求的处理主要在该方法中完成
注意:使用 对象名映射 时,对象配置时的name属性必须为 "/xxx.action" 的形式,即 对象名 即为访问的 URL名
2、SimpleUrlHandlerMapping
SimpleUrlHandlerMapping的配置
indexController indexController indexController
Controller对象的配置
此时当请求的url 为xxx/a.action 或 xxx/b.action 或 xxx/c.action 时,映射器都会映射为id是 indexController 的controller对象这
3、ControllerClassNameHandlerMapping 控制器类名映射
控制器类名处理器映射对象配置
注意:在用 控制器类名处理器映射 时,类名必须为xxxController ,访问地址为输入 /xxxController 或 /xxxcontroller 或 /xxx;
不过工业上一班用注解方式实现 控制器映射器对 控制器的 映射 如:@controller ; @requestMapping(value="/xxx.action",method=RequestMethod.POST) 等;
在spring3.1之前使用org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping注解映射器。
在spring3.1之后使用org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping注解映射器。
在spring3.1之前使用org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter注解适配器。
在spring3.1之后使用org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter注解适配器。
对于适配器和解析器的配置,我们可以使用<mvc:annotation-driven></mvc:annotation-driven>代替
@Controller public class FirstHandler{ @RequestMapping("/handler.action") public ModelAndView handler(){ ModelAndView mav = new ModelAndView(); mav.addObject("name", "zhangsan"); mav.setViewName("index"); return mav; }}