RequestMapping注解的使用

  1. 开发Controller控制器类,使用@Controller注解标注,并在配置文件中用<context:component-scan/>扫描相应的包路径,就可以使用Controller类处理Http请求的控制器,可以创建数量不等的控制器,分别处理不同的业务逻辑请求。DispatcherServlet截获请求后,就可以通过控制器上的@RequestMapping提供的映射信息确定请求所对应的处理方法
  2. 在Controller控制器类的类定义和方法定义处都可以标注@RequestMapping注解。类定义处的RequestMapping提供初步的请求映射信息;方法处的RequestMapping,提供进一步的细分映射信息。RequestMapping注解类的属性,分别有value、method、consumes、produces、params、headers
    • value:代表具体的请求路径,比如login,/user都是value的值,如果不带其它的属性,value则可以省略;
    • method:指定请求的method类型,RequestMethod.get、post、put、delete等,默认可以不带这个属性,表示任意请求类型都可以接收。method属性可以是一个数组({ RequestMethod.GET, RequestMethod.POST});
    • consumes:指定请求的提交内容类型(content-type),属性值application/json,text/html,text/plain。属性值可以是数组;
    • produces:指定返回的内容类型,属性值与consumes一致。text/plain表示文本类型;
    • params:指定请求中必须包含某些参数值,才会触发这个处理方法。例如params=“myParam=myValue”表示请求中包含了myParam=myValue才会触发。参数中除了使用=号以外,还可以使用!=号,表示在参数的值不等于的情况下触发这个方法;也可以不指定具体的值,直接使用paramName的格式,代表请求中必须包含参数名为paramName的参数;直接使用!paramName格式表示请求不能包含名为paramName的请求参数
    • headers:请求头Header中必须包含某些指定的参数值,才能让该方法处理请求。例如headers=“content-type=text/*”

定义Ant风格和带占位符的URL

@RequestMapping不仅支持标准的URL,还支持Ant风格和带{xxx}占位符的URL,如下的URL都是合法的:

/user/*/login:匹配/user/任意字符(字符串)/login;

/user/**/login:匹配/user/login、/user/aaa/bbb/login、/user/任意字符(字符串)/login;

/user/login??:匹配/user/loginAA

占位符/user/{userId}:其中userId可以替换任意字符

最新文章

  1. 上传文件fileupload
  2. oleDB 导入excel遇到的问题
  3. 如何避免javascript中的冲突
  4. 查看特定View的默认属性值
  5. Linux commands frequently used
  6. JAVA - ATM机程序
  7. PythonDay01
  8. html5的改进与沿革
  9. Matlab 计算大数的阶乘
  10. 打包静默安装参数(nsis,msi,InstallShield,InnoSetup)[转]
  11. Jmeter接口测试-badboy录制脚本(二)
  12. 经过一年时间的沉淀 再次回首 TCP Socket服务器编程--转
  13. Markdown+Pandoc 最佳写作拍档 (mailp.in)
  14. 分享一小坑(与swagger有关),以后碰到了可以快速规避
  15. sqlserver数据库备份时出现3241问题
  16. Linux下Oracle数据库的安装
  17. opencv图像融合(给人脸添加一个眼镜)
  18. Android夜间模式的几种实现
  19. shell_exec
  20. pycharm最新版新建工程没导入本地包问题:module &#39;selenium.webdriver&#39; has no attribute &#39;Firefox&#39;

热门文章

  1. 阻塞IO, 非阻塞IO, 同步IO,异步IO
  2. MongoDB详解
  3. 利用jQuery做登录界面的验证码
  4. Python基础学习之序列(1)
  5. thinkphp的find()方法获取结果
  6. Linux终端(terminal)清屏命令
  7. 动态控制C4C UI元素的显示和隐藏
  8. 2017.11.2 JavaWeb----第六章 Servlet技术
  9. 将TIF格式批量转换成jpg或png格式(C#自制软件)
  10. computed--实时计算属性