博客
关于我
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/

你可能感兴趣的文章
UML- 组件图(构件图)
查看>>
oracle 用户与锁
查看>>
oracle 由32位迁移到64位的问题
查看>>
oracle 监听器的工作原理
查看>>
oracle 行列转换
查看>>
oracle 行转列
查看>>
Oracle 表
查看>>
oracle 课堂笔记
查看>>
Oracle 返回结果集的 存储过程
查看>>
Oracle 递归
查看>>
Oracle 递归函数与拼接
查看>>
oracle 逻辑优化,提升高度,综合SQL上下文进行逻辑优化
查看>>
oracle 闪回关闭,关闭闪回即disable flashback的操作步骤
查看>>
oracle 限制用户并行,insert /*parallel */ 到不同用户,并行起不来的问题
查看>>
oracle--用户,权限,角色的管理
查看>>
Oracle-定时任务-JOB
查看>>
oracle.dataaccess 连接池,asp.net使用Oracle.DataAccess.dll连接Oracle
查看>>
oracle00205报错,Oracle控制文件损坏报错场景
查看>>
Oracle10g EM乱码之快速解决
查看>>
Oracle10g下载地址--多平台下的32位和64位
查看>>