SpringMVC基础03——常用注解之@RequestMapping
1.用法
SpringMVC使用@RequestMapping注解,为控制器指定可以处理哪些URL请求,并且可以指定处理请求的类型(POST/GET),如果@RequestMapping没有指定请求的方式,那么代表这个方法可以同时处理GET/POST请求。
@RequestMapping("/helloworld")
public String helloWorld() {
return SUCCESS;
}
URL的地址:http://localhost:8082/helloworld
除此之外,@RequestMapping有两种用法,一是标在类上,二是标在方法上。
① 标记在类上:提供初步的请求映射信息。相对于 WEB 应用的根目录
② 标记在方法上:提供进一步的细分映射信息。相对于标记在类上的 URL。
@Controller
@RequestMapping("/springmvc")
public class SpringMVCTest {
private static final String SUCCESS = "success";
@RequestMapping("/helloworld")
public String helloWorld() {
return SUCCESS;
}
}
URL的地址:http://localhost:8082/springmvc/helloworld
除此之外我们还可以设置处理请求的类型,GET,HEAD,POST,PUT,PATCH,DELETE,OPTIONS,TRACE;
@Controller
@RequestMapping("/springmvc")
public class SpringMVCTest {
private static final String SUCCESS = "success";
@RequestMapping(value = "/helloworld", method = RequestMethod.GET)
public String helloWorld() {
return SUCCESS;
}
}
因为有多个属性,所以我们把方法的路由地址设置为value属性值,把请求方式设置为method,但是如果我们以POST方式去请求helloworld这个方法,就会抛出405错误。
我们打开postman,输入要访问的地址:http://localhost:8090/springmvc/helloworld 之后选择POST请求方式进行访问,我们就可以看到报出405。

2.补充用法
@RequestMapping除了能够对请求对url和请求方式进行设置之外,还可以对HTTP请求的内容(请求参数和请求头)进行设置,下面是一个标准HTTP请求的报文格式。

我们可以通过@RequestMapping的params和headers属性进行限制,我们重新来编写一个Controller方法,在@RequestMapping中我们设置了params和header属性,首先来看params属性,它表示的是,接受的请求中,必须包含username参数且age属性不能等于10,headers属性指的是方法处理的请求头中必须含有Accept-Language,且属性相同,这里一定要注意Accept-Language后面跟的是=。
@RequestMapping(value = "/testParamAndHeaders", params = {"username", "age!=10"}, headers = {"Accept-Language=zh,zh-CN;q=0.9,en;q=0.8"})
public String testParamAndHeaders() {
System.out.println("testParamAndHeaders");
return SUCCESS;
}
我们在index.jsp定义如下代码进行测试:
<a href="/springmvc/testHeadersAndParams">Test HeadersAndParams</a> <br><br>
①什么参数都不传,结果会报400

②如果只传递了username,是可以正常访问的,后台拿到的age为null所以可以正常访问
③如果传入用户名和年龄为10,也是会报400

④当传入用户名为wzy,年龄为11时,即可正常访问

并且我们通过谷歌的调试工具可以发现,确实发送了指定的请求头。

SpringMVC基础03——常用注解之@RequestMapping的更多相关文章
- springmvc学习笔记(常用注解)
springmvc学习笔记(常用注解) 1. @Controller @Controller注解用于表示一个类的实例是页面控制器(后面都将称为控制器). 使用@Controller注解定义的控制器有如 ...
- SpringMVC入门和常用注解
SpringMVC的基本概念 关于 三层架构和 和 MVC 三层架构 我们的开发架构一般都是基于两种形式,一种是 C/S 架构,也就是客户端/服务器,另一种是 B/S 架构,也就 是浏览器服务器.在 ...
- SpringMVC中的常用注解
RequestParam 作用: 用于 将请求参数区数据 映射到 功能处理方法的参数上. 属性: value 请求参数中的名称 required 请求参数中是否必须提供此参数. 默认值: ...
- SpringMVC基础配置(通过注解配置,非xml配置)
SpringMVC是什么,有多火,我这里就不再啰嗦了,SpringMVC比Struts2好用太多,我在学校的时候私下里两种都接触过,对比之后果断选择了SpringMVC,后来在做Android应用开发 ...
- springmvc基础知识及注解
SpringMVC 1.概念 Spring的MVC框架是一个基于DispatcherServlet的MVC框架,主要由DispatcherServlet.处理器映射.处理器.视图解析器.视图组成.每一 ...
- springmvc基础篇—通过注解的方式去配置项目
学习了通过xml方式去配置项目后,当然要掌握更简单更灵活的注解方式哟,这是官方推荐使用的方式. 一.修改配置文件,建议大家直接使用我的配置文件 <?xml version="1.0&q ...
- <SpringMvc>入门二 常用注解
1.@RequestMapping @Target({ElementType.METHOD, ElementType.TYPE}) @Retention(RetentionPolicy.RUNTIME ...
- 【springmvc学习】常用注解总结
@Controller 在springmvc中,我们用它来告诉前端控制器,他这个类是controller,也就是springmvc的一个对象了,我们在spring.xml配置文件中用<conte ...
- 关于springMVC的一些常用注解
①:@RequestMapping("/helloworld").@RequestMapping(value="/emp", method=RequestMet ...
随机推荐
- Get web site source code
public String getPageSource() { StringBuffer sb = new StringBuffer(); try { // 构建一URL对象 URL url = ne ...
- 详解nohup和& 区别
nohup 一.[解释] 不挂断地运行命令.no hangup的缩写,意即“不挂断”.一般理解&记住一个命令最简单的方法是记住它是什么缩写,就自然理解了这个命令.nohup运行由 Comman ...
- PHP 文件夹上传
一.我的准备情况说明. 编辑器:sublime text3(用什么编辑器看自己爱好)服务器构建:使用phpstudy2014构建服务器,服务器文件存储在我自身电脑D盘的www文件中.(安装phpstu ...
- iOS检测用户截屏, 并获取所截图片
// // ViewController.m // CheckScreenshotDemo // // Created by 思 彭 on 2017/4/25. // Copyright © 2017 ...
- vue中封装swipe组件
<template> <!-- TODO swipe --> <div id="hy-swiper"> <div class=" ...
- 5分钟学会maven入门
一.背景 1.定位:Maven是优秀的构建工具 2.意义:自动化构建,即节约了我们每天有相当一部分时间花在编 译.运行单元测试.生成文档.打包和部署等烦琐且不起眼的时间. 3.三要素:目标(Targe ...
- proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
1.nginx 配置模板 server { listen ; client_max_body_size 512M; proxy_set_header Connection ""; ...
- 最大熵马尔科夫模型(MEMM)及其标签偏置问题
定义: MEMM是这样的一个概率模型,即在给定的观察状态和前一状态的条件下,出现当前状态的概率. Ø S表示状态的有限集合 Ø O表示观察序列集合 Ø Pr(s|s’,o):观察和状态转移概 ...
- C语言 俄罗斯方块的实现1 全局变量
目录 全局变量 程序的模块化之MVC 关于俄罗斯方块的代码实现要点 使用数组表示背景和方块 方块表示及其初始化 要让游戏动起来 方块自动下落 全局变量 简而言之,定义在函数外的变量,就是全局变量. 所 ...
- 牛客小白月赛14 -B (逆元求组合数)
题目链接:https://ac.nowcoder.com/acm/contest/879/B 题意:题目意思就是求ΣC(n,i)pi(MOD+1-p)n-i (k<=i<=n),这里n,i ...