内容大纲

SpringMVC的基本使用方法介绍

SpringMVC 概述

  • Spring 为展现层提供的基于 MVC 设计理念的优秀的Web 框架,是目前最主流的 MVC 框架之一
  • Spring3.0 后全面超越 Struts2,成为最优秀的 MVC 框架
  • Spring MVC 通过一套 MVC 注解,让 POJO 成为处理请
  • 求的控制器,而无须实现任何接口。
  • 支持 REST 风格的 URL 请求
  • 采用了松散耦合可插拔组件结构,比其他 MVC 框架更具扩展性和灵活性 

需要的jar包

  •  – commons-logging-1.1.3.jar
  • – spring-aop-4.0.0.RELEASE.jar
  • – spring-beans-4.0.0.RELEASE.jar
  • – spring-context-4.0.0.RELEASE.jar
  • – spring-core-4.0.0.RELEASE.jar
  • – spring-expression-4.0.0.RELEASE.jar
  • – spring-web-4.0.0.RELEASE.jar
  • – spring-webmvc-4.0.0.RELEASE.jar

配置 web.xml (SSM时代是要这样的)

配置 DispatcherServlet :DispatcherServlet 默认加载 /WEB-INF/<servletName-servlet>.xml 的 Spring 配置文件, 启动 WEB 层
的 Spring 容器(表明可以有多个Spring容器,但是我的问题是这些Spring容器之间如何交互呢)
。可以通过 contextConfigLocation 初始化参数自定义配置文件的位置和名称 

SpringMVC的基本使用方法介绍 创建 Spring MVC 配置文件

配置自动扫描的包

SpringMVC的基本使用方法介绍 使用 @RequestMapping 映射请求

在控制器的类定义及方法定义处都可标注 

@RequestMapping
– 类定义处:提供初步的请求映射信息。相对于 WEB 应用的根目录
– 方法处:提供进一步的细分映射信息。相对于类定义处的 URL。若类定义处未标注 @RequestMapping,则方法处标记的 URL 相对于WEB 应用的根目录

 DispatcherServlet 截获请求后,就通过控制器上@RequestMapping 提供的映射信息确定请求所对应的处理方法。

@RequestMapping 除了可以使用请求 URL 映射请求外,还可以使用请求方法、请求参数及请求头映射请求 

 @RequestMapping 的 value、method、params 及 heads(这几个是RequestMapping注解的属性)分别表示请求 URL、请求方法、请求参数及请求头的映射条件,他们之间是与的关系,联合使用多个条件可让请求映射更加精确化。

 例子:

SpringMVC的基本使用方法介绍

Ant 风格资源地址支持 3 种匹配符:
   ?:匹配文件名中的一个字符
   *:匹配文件名中的任意字符
   **:** 匹配多层路径

@RequestMapping 还支持 Ant 风格的 URL:
    /user/*/createUser: 匹配/user/aaa/createUser、/user/bbb/createUser 等 URL
    /user/**/createUser: 匹配/user/createUser、/user/aaa/bbb/createUser 等 URL
    /user/createUser??: 匹配/user/createUseraa、/user/createUserbb 等 URL 

@PathVariable 绑定 URL 占位符到入参 

带占位符的 URL 是 Spring3.0 新增的功能,该功能在SpringMVC 向 REST 目标挺进发展过程中具有里程碑的意义 

通过 @PathVariable 可以将 URL 中占位符参数绑定到控制器处理方法的入参中:URL 中的 {xxx} 占位符可以通过
@PathVariable("xxx") 绑定到操作方法的入参中。

SpringMVC的基本使用方法介绍

映射请求参数 & 请求参数 

 请求处理方法签名:

Spring MVC 通过分析处理方法的签名,将 HTTP 请求信息绑定到处理方法的相应入参中。

Spring MVC 对控制器处理方法签名的限制是很宽松的,几乎可以按喜欢的任何方式对方法进行签名。 

必要时可以对方法及方法入参标注相应的注解(@PathVariable、@RequestParam、@RequestHeader 等),SpringMVC 框架会将 HTTP 请求的信息绑定到相应的方法入参中,并根据方法的返回值类型做出相应的后续处理。 

使用 @RequestParam 绑定请求参数值:

在处理方法入参处使用 @RequestParam 可以把请求参数传递给请求方法
– value:参数名
– required:是否必须。默认为 true, 表示请求参数中必须包含对应的参数,若不存在,将抛出异常 

使用 @RequestHeader 绑定请求报头的属性值:

请求头包含了若干个属性,服务器可据此获知客户端的信息,通过 @RequestHeader 即可将请求头中的属性值绑定到处理方法的入参中。

SpringMVC的基本使用方法介绍

使用 @CookieValue 绑定请求中的 Cookie 值:

@CookieValue 可让处理方法入参绑定某个 Cookie 值

SpringMVC的基本使用方法介绍 使用 POJO 对象绑定请求参数值:

Spring MVC 会按请求参数名和 POJO 属性名进行自动匹配,自动为该对象填充属性值。支持级联属性。如:dept.deptId、dept.address.tel 等

SpringMVC的基本使用方法介绍

使用 Servlet 原生API 作为入参 :

SpringMVC只支持HttpServletRequest、HttpServletResponse和HttpSession这三个原生Servlet类型。

未完待续。。。

 

 

相关文章: