简介:

@RequestMapping

RequestMapping是一个用来处理请求地址映射的注解,可用于类或方法上。用于类上,表示类中的所有响应请求的方法都是以该地址作为父路径。

RequestMapping注解有六个属性,下面我们把她分成三类进行说明。

1、 value, method;

value:     指定请求的实际地址,指定的地址可以是URI Template 模式(后面将会说明);

method:  指定请求的method类型, GET、POST、PUT、DELETE等;

2、 consumes,produces;

consumes: 指定处理请求的提交内容类型(Content-Type),例如application/json, text/html;

produces:    指定返回的内容类型,仅当request请求头中的(Accept)类型中包含该指定类型才返回;

3、 params,headers;

params: 指定request中必须包含某些参数值是,才让该方法处理。

headers: 指定request中必须包含某些指定的header值,才能让该方法处理请求。

小结:

1.采用注解的方式,SpringMVC全程基于注解的,支持REST风格的URL请求。

2.采用了松散耦合可插播组件结构,比其他MVC框架更具扩展性和灵活性。


3.a.使用@RequestMapping注解来映射请求url  为控制器指定哪些可以处理的url请求
  b.使用method方式来指定请求方式,@RequestMapping(value="/login_toLogin" method=RequestMethod.POST),此时要配合表单

已  post方式提交
  c.@RequestMapping注解支持通配符的情况 ?--匹配文件名中的一个字符   *--匹配文件中的任意字符  **--匹配多层路径
  d.@PathVariable 可以映射URL中的占位符到目标方法的参数中
  e. Rest风格的URL 以 CRUD为例:
  现在方式:                      以前方式
  新增:  /order POST
  修改:  /order/1 PUT           update?id=1
  获取:  /order/1 GET           get?id=1
  删除:  /order/1 DELETE        delete?id=1

4.@RequestParam映射请求参数 在方法中写 格式
  value值即为请求参数的参数名  
  required 该参数是否必须,默认为true
  defaultValue 请求参数的默认值
e.g  @RequestMapping(value="/testRequestParam")
     public String testRequestParam(@RequestParam(value="参数名username") String un,
                                      @RequestParam(value="参数名 age" ,required=false,defaultValue="0") Integer age){

System.out.println("传递的参数:"+un+",age="+age);
    return SUCCESS;

}

5.@RequestHeader映射请求头信息 用法和@RequestParam类似

6.Spring MVC 会按请求的参数名和POJO(简单java对象)属性名进行自动匹配,自动为该对象填充属性值,支持级联属性。(课时12)

7.目标方法的返回值可以是ModelAndView 类型。 其中可以包含视图和模型信息。 Spring MVC会把ModelAndView的model中数据放入到request域对象中(课时13)

8.目标方法可以添加Map类型参数(课时15)

9.@SessionAttributes 除了可以通过属性名指定需要放到会话中的属性外(实际上使用的是 value属性值),
还可以通过模型属性的对象类型指定哪些迷行属性需要放到会话中(实际上使用的是type属性值)。
注意:@SessionAttributes该注解只能放在类的上面,而不能放在方法的上面。(课时16)

10.有@ModelAttribute 标记的方法,会在每个目标方法执行之前被Spring MVC调用!(课时18)。

@RequestMapping @SessionAttributes @ModelAttribute注解用法的更多相关文章

  1. Spring MVC SessionAttributes ModelAttribute注解

    说明 本文主要针对 @SessionAttributes注解 和 @ModelAttribute注解的基础用法进行解析.至于为什么会将这两个注解放在一起,是因为它们之间还是有点影响的. @Sessio ...

  2. 全面解析Spring中@ModelAttribute注解的用法

    本文不再更新,可能存在内容过时的情况,实时更新请移步我的新博客:全面解析Spring中@ModelAttribute注解的用法: @ModelAttribute注解用于将方法的参数或方法的返回值绑定到 ...

  3. Spring @SessionAttributes注解 @ModelAttribute注解

    一.@SessionAttribute详解 如果多个请求之间需要共享数据,就可以使用@SessionAttribute. 配置的方法: 在控制器类上标注@SessionAttribute. 配置需要共 ...

  4. @RequestMapping 和@ResponseBody 和 @RequestBody和@PathVariable 注解 注解用法

    接下来讲解一下 @RequestMapping  和@ResponseBody 和 @RequestBody和@PathVariable 注解 注解用法 @RequestMapping 为url映射路 ...

  5. 7、SpringMVC源码分析(2):分析HandlerAdapter.handle方法,了解handler方法的调用细节以及@ModelAttribute注解

    从上一篇 SpringMVC源码分析(1) 中我们了解到在DispatcherServlet.doDispatch方法中会通过 mv = ha.handle(processedRequest, res ...

  6. springmvc的ModelAttribute注解

    先看一个没有使用@ModelAttribute的Controller方法. @RequestMapping("/save") public String save(User use ...

  7. SpringMVC中 -- @RequestMapping的作用及用法

    一.@RequestMapping 简介 在Spring MVC 中使用 @RequestMapping 来映射请求,也就是通过它来指定控制器可以处理哪些URL请求,相当于Servlet中在web.x ...

  8. Spring的@ModelAttribute注解

    1. 一.绑定请求参数到指定对象 public String test1(@ModelAttribute("user") UserModel user) 只是此处多了一个注解@Mo ...

  9. Spring常用注解用法总结

    转自http://www.cnblogs.com/leskang/p/5445698.html 1.@Controller 在SpringMVC 中,控制器Controller 负责处理由Dispat ...

随机推荐

  1. UE4插件

    源代码中包含一些插件例子 C:\Program Files\Epic Games\UE_4.15\Engine\Plugins\Developer 一下截图来自官网https://docs.unrea ...

  2. phpcms替换类列表页,内容页,主页

    phpcms替换类列表页,内容页,主页   利用phpcms制作企业站,首先要将静态的企业主页替换成后台可编辑的动态主页. 在phpcms/install_package/phpcms/templat ...

  3. 【BZOJ3622】已经没有什么好害怕的了 容斥+DP

    [BZOJ3622]已经没有什么好害怕的了 Description Input Output Sample Input 4 2 5 35 15 45 40 20 10 30 Sample Output ...

  4. android签名,制作key

    签名具体步骤: Apk签名首先要有一个keystore的签名用的文件. keystore是由jdk自带的工具keytool生成的.具体生成方式参考一下: 开始->运行->cmd->c ...

  5. 深入理解ByteBuffer

    ByteBuffer类是在Java NIO中常常使用的一个缓冲区类,使用它可以进行高效的IO操作,但是,如果对常用方法的理解有错误,那么就会出现意想不到的bug. ByteBuffer类的常用方法 先 ...

  6. PHP 开发环境的搭建和使用02--整合让apache处理php

    PHP5.3.5直接下载解压即可.但是怎样才能让apache处理php呢? 1/  在apache 的conf目录下 的 httpd.conf(用于指定apache的设置)加入如下代码:   Load ...

  7. docker-compose安装elasticsearch集群

    文件目录: 1.编写docker-compose文件 version: '3' services: es-master: image: elasticsearch:6.4.3 container_na ...

  8. Oracle Schema Objects(Schema Object Storage And Type)

    One characteristic of an RDBMS is the independence of physical data storage from logical data struct ...

  9. 粘性会话 session affinity sticky session requests from the same client to be passed to the same server in a group of servers

    Module ngx_http_upstream_module http://nginx.org/en/docs/http/ngx_http_upstream_module.html#sticky S ...

  10. 更新openssl

    在安装nodejs或者nginx什么的时候,有时候会报如下错误 npm: relocation error: npm: symbol SSL_set_cert_cb, version libssl.s ...