第3.81课 上课 SpringMVC注解介绍, @RequestMapping…

3_81

SpringMVC常用注解介绍

 控制器

  @Controller:注解控制器类

在SpringMVC 中,控制器Controller 负责处理由DispatcherServlet 分发的请求,它把用户请求的数据经过业务处理层处理之后封装成一个Model ,然后再把该Model 返回给对应的View 进行展示。

 

在SpringMVC 中提供了一个非常简便的定义Controller 的方法,你无需继承特定的类或实现特定的接口,只需使用@Controller 标记一个类是Controller ,然后使用@RequestMapping 和@RequestParam 等一些注解用以定义URL 请求和Controller 方法之间的映射,这样的Controller 就能被外界访问到。

 

此外Controller 不会直接依赖于HttpServletRequest 和HttpServletResponse 等HttpServlet 对象,它们可以通过Controller 的方法参数灵活的获取到。

 

 

 

@Controller 用于标记在一个类上,使用它标记的类就是一个SpringMVC Controller 对象。

 

分发处理器将会扫描使用该注解的类的方法,并检测该方法是否使用了@RequestMapping 注解。

 

@Controller 只是定义了一个控制器类,而使用@RequestMapping 注解的方法才是真正处理请求的处理处理方法。

   方式1

   方式2

   方式3

   方式4

 请求URL映射

  @RequestMapping:请求URL映射

可以使用@RequestMapping 来映射URL 到控制器类,或者是到Controller 控制器的处理方法上。

 

当@RequestMapping 标记在Controller 类上的时候,里面使用@RequestMapping 标记的方法的请求地址都是相对于类上的@RequestMapping 而言的;

当Controller 类上没有标记@RequestMapping 注解时,方法上的@RequestMapping 都是绝对路径。

 

这种绝对路径和相对路径所组合成的最终路径都是相对于根路径“/ ”而言的。

 

 

 

 

使用 @RequestMapping 来完成 Request 请求到处理器或处理器方法的映射。

 

@RequestMapping 参数介绍

 

value

定义处理方法的请求的 URL 地址,如果只有一个url参数,那么是可以不用写value。

 

method

定义处理方法的 http method 类型,如 GET、POST 等。

 

params

定义请求的 URL 中必须包含的参数。

 

headers

定义请求中 Request Headers 必须包含的参数。

   @RequestMapping(value)基本用法

 

或者使用value,如果是只有一个参数是可以省略value的

 

   @RequestMapping(value)默认方法

   @RequestMapping(method)

非常方便为多个方法配置相同的 URL,不同的 http method 类型,

Springmvc 将根据请求的http method 类型来区分方法的调用。

 

 

如果请求的方法不支持将抛如下异常

 

如果没有写method,表示可以处理任何方式的 http method 类型的请求。

 

SpringMVC注解配置

 

 

在xml配置了这个标签后,spring可以自动去扫描base-pack下面或者子包下面的java文件,如果扫描到有@Component @Controller @Service等这些注解的类,则把这些类注册为bean。

 

注意:如果配置了<context:component-scan>那么<context:annotation-config/>标签就可以不用再xml中配置了,

因为前者包含了后者。另外<context:annotation-config/>还提供了两个子标签

 

包含

<context:include-filter>

排除

<context:exclude-filter>

 

 

 

 

 

 启动SpringMVC注解功能

 自动扫描组件

SpringMVC注解介绍

继 Spring 2.0 对 Spring MVC 进行重大升级后,Spring 2.5 又为 Spring MVC 引入了注解驱动功能。现在你无须让 Controller 继承任何接口,无需在 XML 配置文件中定义请求和 Controller 的映射关系,仅仅使用注解就可以让一个 POJO 具有 Controller 的绝大部分功能 —— Spring MVC 框架的易用性得到了进一步的增强。

posted on 2018-01-31 23:23  東風★破  阅读(167)  评论(0)    收藏  举报

导航