简介:

@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. log4j2设置日志文件读写权限(filePermissions)

    spring-boot使用log4j2作为日志插件的时候需要设置日志文件的读写权限,可以File 上增加filePermissions,如: <File name="File" ...

  2. [移动云计算开发 01] 解决 windows 7 安装设置 nginx 出现端口占用的问题

    一开始 到nginx官网 http://nginx.org/en/download.html 下载 1.4.2版本,解压安装到自己希望设置的文件夹即可, 但是打开localhost却出现了 “NOT ...

  3. 加载CDN加速服务地址

    Jquery是个非常流行的JS前端框架,在很多网站都能看到它的身影.很多网站都喜欢采用一些Jquery CDN加速服务,这样网站加载jquery会更快.之前火端网络的一些网站都是使用Google的jq ...

  4. centos7 安装kafka Manager

    1.安装sbt编译环境 curl https://bintray.com/sbt/rpm/rpm |tee /etc/yum.repos.d/bintray-sbt-rpm.repo yum inst ...

  5. vscode中设置自动保存

  6. ubuntu下安装myeclipse+破解

    1.给myeclipseInstaller.run权限 chmod myeclipseInstaller.run 2.安装(结束时不启动,去掉√) ./myeclipseInstaller.run 3 ...

  7. Golang学习-第一篇 Golang的简单介绍及Windows环境下安装、部署

    序言 这是本人博客园第一篇文章,写的不到位之处,希望各位看客们谅解. 本人一直从事.NET的开发工作,最近在学习Golang,所以想着之前学习的过程中都没怎么好好的将学习过程记录下来.深感惋惜! 现在 ...

  8. 2017-2018-2 20165330 实验三《敏捷开发与XP实现》实验报告

    实验内容 P基础 XP核心实践 相关工具 实验步骤 (一)敏捷开发与XP 软件开发:即将软件需求分析.软件设计.软件构建.软件测试和软件维护这些相关技术和过程统一到一个体系中 敏捷开发:是一种以人为核 ...

  9. Oracle分配内存的基本单位:Granule(粒度)

    在9i后,SGA的内部组件大小可以动态调整,也可以由数据库自动管理,在设置内存大小的时候,分配的基本单位是粒度(granule) granule是一段连续的虚拟内存,大小区域决SGA_MAX_SIZE ...

  10. mysql 字符集研究

    一.创建一个测试数据库 及一个测试用的表.均使用默认的编码方式. show variables like 'char%': mysql> show variables like 'char%'; ...