- 浏览: 7957871 次
- 性别:
- 来自: 广州
-
文章分类
- 全部博客 (2425)
- 软件工程 (75)
- JAVA相关 (662)
- ajax/web相关 (351)
- 数据库相关/oracle (218)
- PHP (147)
- UNIX/LINUX/FREEBSD/solaris (118)
- 音乐探讨 (1)
- 闲话 (11)
- 网络安全等 (21)
- .NET (153)
- ROR和GOG (10)
- [网站分类]4.其他技术区 (181)
- 算法等 (7)
- [随笔分类]SOA (8)
- 收藏区 (71)
- 金融证券 (4)
- [网站分类]5.企业信息化 (3)
- c&c++学习 (1)
- 读书区 (11)
- 其它 (10)
- 收藏夹 (1)
- 设计模式 (1)
- FLEX (14)
- Android (98)
- 软件工程心理学系列 (4)
- HTML5 (6)
- C/C++ (0)
- 数据结构 (0)
- 书评 (3)
- python (17)
- NOSQL (10)
- MYSQL (85)
- java之各类测试 (18)
- nodejs (1)
- JAVA (1)
- neo4j (3)
- VUE (4)
- docker相关 (1)
最新评论
-
xiaobadi:
jacky~~~~~~~~~
推荐两个不错的mybatis GUI生成工具 -
masuweng:
(转)JAVA获得机器码的实现 -
albert0707:
有些扩展名为null
java 7中可以判断文件的contenttype了 -
albert0707:
非常感谢!!!!!!!!!
java 7中可以判断文件的contenttype了 -
zhangle:
https://zhuban.me竹板共享 - 高效便捷的文档 ...
一个不错的网络白板工具
这次继续复习spring mvc中的@requestmapping;
1) 普通path路径
然后尝试用curl请求下
curl -i http://localhost:8080/spring-mvc/foos
2) 指定RequestMethod.POST
curl i -X POST http://localhost:8080/spring-mvc/foos
3) 指定http请求头
其中在headers可以跟多个了,如:
注意curl的请求为:
curl -i -H "key:val" http://localhost:8080/spring-mvc/foos
4)@RequestMapping中的新的product和consume.
在spring 3.0中,可以指定请求头的media格式,如:
curl测试:
curl -H "Accept:application/json,text/html" http://localhost:8080/spring-mvc/foos
如果在3.1中,则有新的 produces和consume的属性了,如:
如果用3.1,但依然用旧的方式,则旧的方式的请求都会自动变成produces和consume了;
@RequestMapping(value="/testMsgConverter",consumes="text/plain",produces="application/json")
表示handlermethod接受的请求的header中的 Content-Type为text/plain;
Accept为application/json
5) @PathVariable
1 单一的
测试:curl http://localhost:8080/spring-mvc/foos/1
2 多个
curl http://localhost:8080/spring-mvc/foos/1/bar/2
3 也支持正则表达式
则参数只接受数字了
6) requestparam
7) RequestMapping支持多个映射路径映射到同一个controller,如:
curl -i http://localhost:8080/spring-mvc/advanced/foos
curl -i http://localhost:8080/spring-mvc/advanced/bars
甚至还支持put,post同时请求,如:
curl -i -X POST http://localhost:8080/spring-mvc/foos/multiple
curl -i -X PUT http://localhost:8080/spring-mvc/foos/multiple
1) 普通path路径
@RequestMapping(value = "/foos") @ResponseBody public String getFoosBySimplePath() { return "Get some Foos"; }
然后尝试用curl请求下
curl -i http://localhost:8080/spring-mvc/foos
2) 指定RequestMethod.POST
@RequestMapping(value = "/foos", method = RequestMethod.POST) @ResponseBody public String postFoos() { return "Post some Foos"; }
curl i -X POST http://localhost:8080/spring-mvc/foos
3) 指定http请求头
@RequestMapping(value = "/foos", headers = "key=val") @ResponseBody public String getFoosWithHeader() { return "Get some Foos with Header"; }
其中在headers可以跟多个了,如:
@RequestMapping(value = "/foos", headers = { "key1=val1", "key2=val2" }) @ResponseBody public String getFoosWithHeaders() { return "Get some Foos with Header"; }
注意curl的请求为:
curl -i -H "key:val" http://localhost:8080/spring-mvc/foos
4)@RequestMapping中的新的product和consume.
在spring 3.0中,可以指定请求头的media格式,如:
@RequestMapping(value = "/foos", method = RequestMethod.GET, headers = "Accept=application/json") @ResponseBody public String getFoosAsJsonFromBrowser() { return "Get some Foos with Header Old"; }
curl测试:
curl -H "Accept:application/json,text/html" http://localhost:8080/spring-mvc/foos
如果在3.1中,则有新的 produces和consume的属性了,如:
@RequestMapping(value = "/foos", method = RequestMethod.GET, produces = "application/json") @ResponseBody public String getFoosAsJsonFromREST() { return "Get some Foos with Header New"; }
如果用3.1,但依然用旧的方式,则旧的方式的请求都会自动变成produces和consume了;
@RequestMapping(value="/testMsgConverter",consumes="text/plain",produces="application/json")
表示handlermethod接受的请求的header中的 Content-Type为text/plain;
Accept为application/json
5) @PathVariable
1 单一的
@RequestMapping(value = "/foos/{id}") @ResponseBody public String getFoosBySimplePathWithPathVariable(@PathVariable("id") long id) { return "Get a specific Foo with id=" + id; }
测试:curl http://localhost:8080/spring-mvc/foos/1
2 多个
@RequestMapping(value = "/foos/{fooid}/bar/{barid}") @ResponseBody public String getFoosBySimplePathWithPathVariables(@PathVariable long fooid, @PathVariable long barid) { return "Get a specific Bar with id=" + barid + " from a Foo with id=" + fooid; }
curl http://localhost:8080/spring-mvc/foos/1/bar/2
3 也支持正则表达式
@RequestMapping(value = "/bars/{numericId:[\\d]+}") @ResponseBody public String getBarsBySimplePathWithPathVariable(@PathVariable final long numericId) { return "Get a specific Bar with id=" + numericId; }
则参数只接受数字了
6) requestparam
http://localhost:8080/spring-mvc/bars?id=100 @RequestMapping(value = "/bars") @ResponseBody public String getBarBySimplePathWithRequestParam(@RequestParam("id") long id) { return "Get a specific Bar with id=" + id; }
@RequestMapping(value = "/bars", params = "id") @ResponseBody public String getBarBySimplePathWithExplicitRequestParam(@RequestParam("id") long id) { return "Get a specific Bar with id=" + id; }
7) RequestMapping支持多个映射路径映射到同一个controller,如:
@RequestMapping(value = { "/advanced/bars", "/advanced/foos" }) @ResponseBody public String getFoosOrBarsByPath() { return "Advanced - Get some Foos or Bars"; }
curl -i http://localhost:8080/spring-mvc/advanced/foos
curl -i http://localhost:8080/spring-mvc/advanced/bars
甚至还支持put,post同时请求,如:
@RequestMapping(value = "/foos/multiple", method = { RequestMethod.PUT, RequestMethod.POST }) @ResponseBody public String putAndPostFoos() { return "Advanced - PUT and POST within single method"; }
curl -i -X POST http://localhost:8080/spring-mvc/foos/multiple
curl -i -X PUT http://localhost:8080/spring-mvc/foos/multiple
发表评论
-
复习:强迫线程顺序执行方式
2019-01-03 23:42 1596方法1: 三个线程,t1,t2,t3,如果一定要按顺序执行, ... -
(转)不错的前后端处理异常的方法
2019-01-02 23:16 2026前言 在 Web 开发中, 我们经常会需要处理各种异常, 这是 ... -
info q的极客时间大咖说等资料下载
2018-08-15 08:40 3480info q的极客时间大咖说等资料下载,还有不少思维导图 链 ... -
CXF 客户端超时时间设置(非Spring配置方式)
2018-07-03 22:38 2244import org.apache.cxf.endpoint. ... -
(转)synchronized关键字画像:正确打开方式
2018-06-14 09:25 500https://mp.weixin.qq.com/s/b3Sx ... -
CountDownLatch的例子
2018-06-13 14:10 697public class StatsDemo { ... -
两道面试题,带你解析Java类加载机制
2018-06-12 16:29 625https://mp.weixin.qq.com/s/YTa0 ... -
Spring中获取request的几种方法,及其线程安全性分析
2018-06-11 09:03 677https://mp.weixin.qq.com/s/KeFJ ... -
内部类小结
2018-06-06 10:25 445https://mp.weixin.qq.com/s/hErv ... -
JVM虚拟机小结1
2018-06-04 20:43 5551 jps -l //列出详细的类名和进程ID 2)jps ... -
windows下自带命令行工具查看CPU资源情况等
2018-06-04 12:53 3113微软提供了不少命令行 ... -
(收藏)深入分析Java的序列化与反序列化
2018-05-30 15:21 626https://mp.weixin.qq.com/s/T2Bn ... -
apache common包中的序列化工具
2018-05-30 09:10 1850什么是序列化 我们的 ... -
JAVA8 JVM的变化: 元空间(Metaspace)
2018-05-24 22:30 974本文将会分享至今为至我收集的关于永久代(Permanent G ... -
(转)服务器性能指标(一)——负载(Load)分析及问题排查
2018-05-21 21:03 1381原创: Hollis Hollis 负载 ... -
(转)对象复用
2018-05-20 15:27 870public class Student { priv ... -
mapreduce中入门中要注意的几点
2018-05-06 08:59 679在 mapreduce中,比如有如下的词: I love b ... -
HDFS的基本操作
2018-05-02 21:47 946-mkdir 在HDFS创建目录 ... -
一个不错的开源工具类,专门用来解析日志头部的,好用
2018-05-02 20:00 777一个不错的开源工具类,专门用来解析日志头部的,好用。 http ... -
介绍个不错的RESTFUL MOCK的工具wiremock
2018-04-27 21:02 1915介绍个不错的RESTFUL MOCK的工具wiremock,地 ...
相关推荐
《Spring MVC之@RequestMapping详解》 在Java Web开发中,Spring MVC框架因其强大的功能和灵活性而备受青睐。在处理HTTP请求时,@RequestMapping注解扮演着至关重要的角色,它负责将客户端的请求映射到控制器中的...
在Spring MVC框架中,`@RequestMapping`注解是核心组件之一,它用于处理HTTP请求映射,使得控制器类(Controller)中的方法能够与特定的URL路径关联起来。本篇文章将深入探讨`@RequestMapping`的使用、功能以及相关...
在Spring MVC框架中,`@RequestMapping`注解是核心组件之一,它用于处理HTTP请求映射,使得控制器类或方法能够与特定的URL路径关联。本文将深入解析`@RequestMapping`的工作原理,并介绍一个简化版的自定义实现,...
Spring MVC的@RequestMapping注解是核心的控制器层注解,它用于映射HTTP请求到特定的处理方法。在本文中,我们将深入探讨这个注解的各个方面,包括它的使用场景、属性以及如何结合其他注解实现更复杂的请求处理。 ...
在Spring MVC框架中,`@RequestMapping`、`@RequestParam`和`@PathVariable`是三个非常重要的注解,它们用于处理HTTP请求并绑定请求参数到控制器方法的参数上。接下来,我们将详细探讨这三个注解的工作原理以及如何...
在Spring MVC框架中,`@RequestMapping` 和 `@RequestParam` 是两个非常重要的注解,它们在处理HTTP请求和参数绑定方面起着核心作用。本文将深入探讨这两个注解的使用和功能。 `@RequestMapping` 是Spring MVC用于...
Spring MVC 中的 RequestMapping 6个基本用法小结 Spring MVC 是一个基于 Java 的 Web 应用程序框架,提供了强大的 RequestMapping 机制来处理 HTTP 请求。在 Spring MVC 中,RequestMapping 是一个核心组件,负责...
在Spring MVC框架中,`@RequestMapping`注解是核心组件之一,用于处理HTTP请求映射。这个注解允许我们将特定的HTTP请求与Controller类的方法关联起来,实现模型视图的映射。本教程将通过一个简单的`springmvc_hello...
在SpringMybatis项目中,利用`@RequestMapping`和`RequestAttribute`实现登录注册功能是Web开发中的常见实践。`@RequestMapping`是Spring MVC框架中用于处理HTTP请求映射的注解,而`RequestAttribute`则用于在请求...
总结起来,`@RequestMapping`是Spring MVC中实现请求映射的关键工具,它允许开发者灵活地根据URL、请求方法、参数和头信息来映射处理逻辑。而`HiddenHttpMethodFilter`则解决了在非RESTful环境中模拟其他HTTP方法的...
2.Spring MVC @RequestMapping 注解案例 3.Spring MVC 请求参数的获取案例 4.Spring MVC 域对象共享数据案例 5.Spring MVC @ModelAttribute 注解案例 6.Spring MVC 国际化案例 7.Spring MVC 请求转发与请求重定向...
在Spring MVC框架中,`@RequestMapping`注解是核心组件之一,它负责将HTTP请求映射到控制器类的处理方法。这个注解可以应用于类级别和方法级别,以定义请求的URL路径、HTTP方法以及其他的匹配条件。接下来,我们将...
"详解获取Spring MVC中所有RequestMapping以及对应方法和参数" Spring MVC是一个基于模型-视图-控制器(MVC)模式的Web应用程序框架, RequestMapping是一个重要的注解,它可以将HTTP请求映射到控制器的方法上。在...
在Spring MVC 4.0版本中,它引入了许多改进和新特性,以提升开发效率和应用程序的性能。 1. **依赖注入**:Spring MVC 4.0继续支持Spring框架的核心功能,依赖注入(DI),允许开发者通过配置来管理对象及其依赖...
配置Spring MVC通常涉及web.xml文件中的DispatcherServlet配置,以及Spring配置文件中定义的Controller、ViewResolver和其他组件。Spring Boot简化了这一过程,通过自动配置和@SpringBootApplication注解可以快速...
在2015年的版本中,Spring MVC 4已经相当成熟,提供了许多特性来简化开发流程并提高开发效率。在这个"Mastering Spring MVC 4(2015.09)源码"中,我们可以深入理解这个框架的核心概念和实际应用。 首先,Spring MVC ...
在本源码分析中,我们将探讨Spring MVC的工作原理、主要组件及其交互方式。 1. **DispatcherServlet**: 作为Spring MVC的前端控制器,DispatcherServlet是所有请求的入口点。它负责拦截请求,根据请求信息(如URL、...
- **DAO层**:Spring MVC中的Service层通常调用DAO层完成数据访问,DAO层使用Hibernate进行具体操作。 在`hibernate3.6.8.chm`文件中,可能包含了Hibernate 3.6.8的官方文档,对于深入理解Hibernate的工作原理和...
11. **RESTful 支持**:Spring MVC 通过 @RequestMapping 注解支持 RESTful 风格的 Web 服务,可以方便地创建资源操作接口。 12. **国际化与本地化**:Spring MVC 提供了支持多语言的功能,可以根据用户的 locale ...