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

你可能感兴趣的文章
Openlayers实战:判断共享单车是否在电子围栏内
查看>>
Openlayers实战:加载Bing地图
查看>>
Openlayers实战:绘制图形,导出geojson文件
查看>>
Openlayers实战:绘制图形,导出KML文件
查看>>
Openlayers实战:绘制多边形,导出CSV文件
查看>>
Openlayers实战:绘制带箭头的线
查看>>
Openlayers实战:自定义放大缩小,显示zoom等级
查看>>
Openlayers实战:自定义版权属性信息
查看>>
Openlayers实战:输入WKT数据,输出GML、Polyline、GeoJSON格式数据
查看>>
Openlayers实战:选择feature,列表滑动,定位到相应的列表位置
查看>>
Openlayers实战:非4326,3857的投影
查看>>
Openlayers高级交互(1/20): 控制功能综合展示(版权、坐标显示、放缩、比例尺、测量等)
查看>>
Openlayers高级交互(10/20):绘制矩形,截取对应部分的地图并保存
查看>>
Openlayers高级交互(11/20):显示带箭头的线段轨迹,箭头居中
查看>>
Openlayers高级交互(12/20):利用高德逆地理编码,点击位置,显示坐标和地址
查看>>
Openlayers高级交互(13/20):选择左右两部分的地图内容,横向卷帘
查看>>
Openlayers高级交互(14/20):汽车移动轨迹动画(开始、暂停、结束)
查看>>
Openlayers高级交互(15/20):显示海量多边形,10ms加载完成
查看>>
Openlayers高级交互(16/20):两个多边形的交集、差集、并集处理
查看>>
Openlayers高级交互(17/20):通过坐标显示多边形,计算出最大幅宽
查看>>