简介:

@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. M451 PWM对照数据手册分析

    PWM_T Struct Reference Control Register » Pulse Width Modulation Controller(PWM)   typedef struct { ...

  2. 【BZOJ4518】[Sdoi2016]征途 斜率优化

    [BZOJ4518][Sdoi2016]征途 Description Pine开始了从S地到T地的征途. 从S地到T地的路可以划分成n段,相邻两段路的分界点设有休息站. Pine计划用m天到达T地.除 ...

  3. 记录初次使用tesseract的过程

    目录 简介 安装tesseract 安装成功 python应用识别图片 简介 这个谷歌的识别项目早就听说了,使用之后发现,真的很厉害.写下初次简单使用的过程吧. 安装tesseract 谷歌的开源识别 ...

  4. Spring---Bean的继承与依赖

    Spring 允许继承 bean 的配置(通过Bean的parent属性来指定,例如parent=”teacher“), 被继承的 bean 称为父 bean.   继承这个父 Bean 的 Bean ...

  5. JavaWeb配置错误页面

    我们在实际开发过程中经常会遇到程序出错的各种情况,比如最常见的404错误,500错误等等相关错误,服务器默认会将错误的信息直接显示在浏览器的页面上,如下图所示: 不管是谁如果看到这种情况的话,顿时就会 ...

  6. NSUserDefault 保存自定义对象

    由于NSUserDefaults 不支持保存自定类,保存的对象需要实现NSCoding协议,不过自定的类型就算实现了NSCoding也不可以保存,可以通过以下方法实现: //h文件 #import & ...

  7. 在django中实现支付宝支付(支付宝接口调用)

    支付宝支付 正式环境:用营业执照,申请商户号,appid 测试环境:沙箱环境:https://openhome.alipay.com/platform/appDaily.htm?tab=info 支付 ...

  8. 安装python3 centos

    1.在新centos中安装python3的步骤https://www.cnblogs.com/lclq/archive/2016/06/27/5620196.html 2.安装python3过程中报错 ...

  9. django cookie 提供的功能 参数

    # 用户发来数据带来所有COOKIES 这个cookie是字典 request.COOKIES # 获取字典 获取cookierequest.COOKIES["username111&quo ...

  10. neutron ml2

    版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/zhoumingbo532/article/details/27964675 在介绍ml2之前,先介绍 ...