博客
关于我
Spring MVC中@RequestMapping用法
阅读量:79 次
发布时间:2019-02-26

本文共 2019 字,大约阅读时间需要 6 分钟。

SpringMVC中@RequestMapping的使用详解

在SpringMVC开发中,@RequestMapping是一个非常重要的注解,它用于实现URL地址与请求资源之间的映射关系。本文将详细介绍@RequestMapping的使用方法及其在不同场景下的应用技巧。

1. 类级@RequestMapping的使用

@RequestMapping注解可以应用在类级别,这种情况下,所有方法所处理的请求都会以该映射路径作为父路径。以下是一个典型的示例:

@RequestMapping("/test")public class TestController {    @RequestMapping("/mm")    public String m() {        return "mm";    }}

在上述示例中,访问http://localhost:8080/项目名/test/mm.jsp将被映射到TestController类中的m()方法。此外,类级@RequestMapping还可以用于定义应用程序的前缀,例如:

2. 方法级@RequestMapping的使用

@RequestMapping也可以应用在方法级别,这种情况下,注解中的路径将作为特定方法的请求映射地址。以下是一个与类级RequestMapping一起使用的示例:

@RequestMapping("/mmm")public String mmm(@RequestParam(required=true, value="sid", defaultValue="100") String id) {    System.out.println("id = " + id);    return "mmm";}

在上述示例中,id参数是通过@RequestParam注解自动从URL中获取的。如果不指定required属性,默认会假设该参数是必需的。此外,还可以定义参数的默认值,以应对可能的缺失情况。

3. 获取实体对象的用法

SpringMVC支持通过方法参数接收表单数据,并将其自动封装为JavaBean对象。以下是一个接收Student实体对象的示例:

@RequestMapping("/m")public String m(@RequestBody Student student) {    System.out.println(student.getId());    System.out.println(student.getSname());    return "m";}

在这个示例中,@RequestBody注解会将HTTP请求体中的数据自动封装为Student对象,从而简化了前后端的数据传递流程。

4. 回调Servlet API的用法

SpringMVC允许开发者直接使用Servlet API中的HttpServletRequest和HttpServletResponse对象。以下是一个使用这些对象的示例:

@RequestMapping("/m")public void m(HttpServletRequest request, HttpServletResponse response) throws IOException {    String id = request.getParameter("id");    String sname = request.getParameter("sname");    String t_id = request.getParameter("t_id");        PrintWriter out = response.getWriter();    out.println(id + "  " + sname + "  " + t_id);    out.flush();    out.close();}

在这个示例中,request.getParameter()方法可以用来获取URL参数,response.getWriter()方法可以用来向客户端输出响应内容。

5. REST风格参数的使用

在RESTful风格中,URL路径参数可以直接映射到方法参数。以下是一个使用@PathVariable注解的示例:

@RequestMapping("/m01/{id}")public String m05(@PathVariable String id) {    System.out.println("id = " + id);    return "m01";}

在这个示例中,{id}路径参数会被自动映射到方法中的id参数,URL如http://localhost:8080/springmvc/m01/123会自动传递id=123的值。

转载地址:http://gacz.baihongyu.com/

你可能感兴趣的文章
Objective-C实现hanning 窗(附完整源码)
查看>>
Objective-C实现hanoiTower汉诺塔算法(附完整源码)
查看>>
Objective-C实现hardy ramanujana定理算法(附完整源码)
查看>>
Objective-C实现harmonic series调和级数算法(附完整源码)
查看>>
Objective-C实现harris算法(附完整源码)
查看>>
Objective-C实现haversine distance斜距算法(附完整源码)
查看>>
Objective-C实现heap sort堆排序算法(附完整源码)
查看>>
Objective-C实现heap堆算法(附完整源码)
查看>>
Objective-C实现highest response ratio next高响应比优先调度算法(附完整源码)
查看>>
Objective-C实现hill climbing爬山法用来寻找函数的最大值算法(附完整源码)
查看>>
Objective-C实现Hopcroft算法(附完整源码)
查看>>
Objective-C实现hornerMethod霍纳法算法(附完整源码)
查看>>
Objective-C实现Http Post请求(附完整源码)
查看>>
Objective-C实现http下载文件 (附完整源码)
查看>>
Objective-C实现Http协议下载文件(附完整源码)
查看>>
Objective-C实现ID3贪心算法(附完整源码)
查看>>
Objective-C实现IIR 滤波器算法(附完整源码)
查看>>
Objective-C实现IIR数字滤波器(附完整源码)
查看>>
Objective-C实现insertion sort插入排序算法(附完整源码)
查看>>
Objective-C实现integer partition整数分区算法(附完整源码)
查看>>