SpringMVC:学习笔记(2)——RequestMapping及请求映射

SpringMVC——RequestMapping及请求映射

@RequestMapping

说明

   Spring MVC 使用 @RequestMapping 注解为控制器指定可以处理哪些 URL 请求
   在控制器的类定义及方法定义处都可标注@RequestMapping

说明:

    – 类定义处:提供初步的请求映射信息。相对于 WEB 应用的根目录
    – 方法处:提供进一步的细分映射信息。相对于类定义处的 URL。  

  1.在方法定义处标注@RequestMapping

    

  2.在类定义处标准@RequestMapping     
    类定义处未标注 @RequestMapping,则方法处标记的 URL 相对于WEB 应用的根目录
    

限制请求

  1.指定请求方式

    

  2.限制请求头和请求参数

    

URL路径映射

说明

  现在我们已经可以利用@RequestMapping处理URL请求了,但是一个控制器可能要处理多个URL路径的请求,这时候就需要用到URL路径映射了。

1.普通URL路径映射

  @RequestMapping(value={"/test1", "/user/create"}):多个URL路径可以映射到同一个处理器的功能处理方法。

2.ANT风格路径

  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

3.URL模板模式映射

说明:
  1.带占位符的 URL 是 Spring3.0 新增的功能,该功能在SpringMVC 向 REST 目标挺进发展过程中具有里程碑的意义。
  2.通过 @PathVariable 可以将 URL 中占位符参数绑定到控制器处理方法的入参中:URL 中的 {xxx} 占位符可以通过@PathVariable("xxx") 绑定到操作方法的入参中。
演示:

  
了解:
  为了去执行@PathVariable注解,SpringMVC需要通过名字去找到相匹配的URI模板变量.你也可以表明它通过使用另一个注解:
  

说明:

  Spring4.3中引进了{@GetMapping、@PostMapping、@PutMapping、@DeleteMapping、@PatchMapping},来帮助简化常用的HTTP方 法的映射,并更好地表达被注解方法的语义。

 

映射请求信息

  标准的HTTP请求报头

  

映射请求参数

1.编写POST请求表单

  

2.在控制器中使用注解@RequestParam,将请求信息入参
  

映射请求头

  

映射Cookie值

  

使用POJO对象绑定请求参数值

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

  1.创建表单:
    
  2.编写POJO类
    
  3.编写控制器方法

    

使用Servlet API作为入参

  说明
    我们也可以使用原声的ServletAPI作为参数,MVC的Handle方法可以接受的ServletAPI参数:
    • HttpServletRequest
    • HttpServletResponse
    • HttpSession
    • java.security.Principal
    • Locale
    • InputStream
    • OutputStream
    • Reader 
    • Writer
  实例:
    

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值