Spring提供了DispatcherServlet,这个类不仅负责实现请求转发,还负责启动一个WebApplicationContext容器。按照Spring一贯的IoC哲学,所有的Controller都是JavaBean,并由IoC容器统一管理。
总的来讲,使用SpringMVC框架,需要以下步骤: 1.在web.xml中配置DispatcherServlet及URL映射
2. 编写IoC容器需要的XML配置文件,命名为
和普通的Spring应用程序稍有些不同,对于Web应用程序,Spring的ApplicationContext是由DispatcherServlet加载的,它会在/WEB-INF/下查找一个名称为
编写dispatcher-servlet.xml配置文件,首先定义URL的映射方式(HandlerMapping)。Spring提供了集中常用的HandlerMapping。 <1>使用SimpleUrlHandleMapping
它提供了最简单的URL映射,通过Properties将URL和Controller对应起来。当用户请求一个URL时,Sprign就在SimpleUrlHandlerMapping注入的Properties中查找对应的Controller。 <2>使用BeanNameUrlHandlerMapping
BeanNameUrlHandlerMapping的实现更为简单,每个Controller的URL与其name属性对应,因此,只需要对每个Controller以URL作为name,就可以实现URL映射。
<3>ControllerClassNameHandlerMapping,他和BeanNameUrlHandlerMapping类似,不过是将Controller的ClassName和对应的URL关联起来,由于这种方式灵活性欠佳,实际使用较少。 <4>也可以混合使用多种UrlHandlerMapping,但是必须为每个UrlHandlerMapping指定order属性来表示优先级,order 值越小优先级越高,Spring会先查找优先级高的UrlHandlerMapping,若找到了对应的Controller,就不再继续查询,否则,按照优先级一次查询,知道找到为止。若所有的UrlHandlerMapping都无法回回一个黑武士的Controller,并且没有设置默认的 Controller时,就会返回给客户端一个“404 Not Found”错误,表示不存在这URL。
PS:如果我们没有指定UrlHandlerMapping,Spring会自动使用默认的BeanNameUrlHandlerMapping.
class=\ssor\ class=\g\ 3.在XML配置文件中定义URL映射方式和使用哪种View技术。 需要为Spring MVC指定一个ViewResolver(试图解析器),指示使用何种试图技术,以及如何解析ModelAndView返回的逻辑视图名称。 class=\ p:prefix=\ 在编写好了Controller的实现和配置文件后,最后就要编写JSP文件作为视图了,由于采用了MVC架构,视图的任务只有一个,就是将 Controller返回的Model渲染出来,Spring MVC会将Model中的所有数据全部绑定到HttpServletRequest中,然后将其转发给JSP,JSP就介意将数据显示出来。

