您的位置:首页 > 编程语言 > Java开发

SpringMVC框架前端控制器、处理适配器和处理器映射器、视图解析器的配置

2017-01-08 21:45 344 查看
在web项目开发中使用SpringMVC框架

前面讲了SpringMVC的核心组件,下面介绍一下在实际的开发过程中这些核心组件的配置。 

1、前端控制器的配置

  我们使用SpringMVC框架,首先要在web项目的web.xml中配置前端控制器,其前端控制器实际为一个Servlet,

其配置方法为:


2、处理器适配器和处理器映射器的配置

    在SpringMVC中根据使用注解和不使用注解将处理器适配器和处理器映射器分成了两类:

    非注解的处理器适配器和处理器映射器(推荐使用)

    注解的处理器适配器和处理器映射器(作为了解)

   在实际的项目中配置适配器和映射器的时候,其多种适配器和处理器可以同时配置,但在使用注解的处理器映射器和适配器的时候,其必须配对出现。

   2.1非注解的处理器适配器和处理器映射器的配置:

   处理器适配器和处理器映射器需配置在springmvc.xml中,即在web.xml中前端控制器中配置加载的属性文件。

       非注解的处理器映射器的配置 

    在springmvc的框架中,其提供了两类非注解的处理器映射器,分别为:

            org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping

    另一个映射器:

              org.springframework.web.servlet.handler.SimpleUrlHandlerMapping

    它们的配置形式一致,如:



   多个映射器可以并存,前端控制器判断url能让哪些映射器映射,就让正确的映射器处理。

    

      非注解的处理器适配器的配置:

  同样在SpringMVC的框架中也提供了两类非注解的处理器适配器,分别为:

    org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter

          该配置要求在编写Handler时实现 Controller接口。

    org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter

            该配置要求编写Handler时实现 HttpRequestHandler接口。

   配置形式如下:

   

        

 因为在使用非注解的处理器适配器和非注解的处理器映射器,需要在编写handler时要实现特定的接口,这导致编写的handler中只能有一种方法,即只能实现一种功能,这就导致在开发过程中需要创建很多的controller类,但在使用注解的处理器映射器和处理器适配器时,编写的controller不需要实现特定接口,故可在其中写多个方法,实现多个功能,故在开发过程中大多使用注解开发,并且其配置方式也较为简单。下面介绍注解的处理器适配器和处理器映射器:

     注解的处理器适配器和处理器映射器在配置过程中需要配对出现:(同样需配置在springmvc.xml中)

在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默认加载很多的参数绑定方法,
比如json转换解析器就默认加载了,如果使用mvc:annotation-driven不用配置上边的           RequestMappingHandlerMapping和RequestMappingHandlerAdapter
实际开发时一般使用mvc:annotation-driven
 配置方法为在springmvc.xml中加入下面一句:
 <mvc:annotation-driven></mvc:annotation-driven> 

在编写handler时要使用@Controller标识 它是一个控制器

如下:

@Controller

public class ItemsController3 {

}

使用组件扫描器省去在spring容器配置每个controller类的繁琐。使用<context:component-scan自动扫描标记@controller的控制器类,配置如下:

<!--
扫描controller注解,多个包中间使用半角逗号分隔 -->
    <context:component-scan
base-package="cn.itcast.springmvc.controller.first"/>
3.然后需要在springmvc.xml中配置视图解析器:

<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">      

 <property name="prefix" value="/WEB-INF/jsp/" />       

 <property name="suffix" value=".jsp" />      

</bean> 
  

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐