@RequestMapping的作用:建立请求URL和处理请求方法之间的对应关系
一般用在的位置:
类上:请求URL的第一级访问目录,此处不写的话,就相当于应用的根目录
方法上:请求URL的第二级访问目录,与类上的使用@RequestMapping标注的一级目录一起组成访问虚拟路径
下面是应用实例:
应用在方法上:
效果:
应用在类上:
效果:
值得注意的是:为什么我应用在类上的时候返回值前面加了一个“/”
如果不加“/”就回报404错误,找不到资源
这是为什么呢?因为我们返回的是相对地址,我们现在访问的是quick,它现在默认去找这个下面http://localhost:8080/Spring_MVC_war_exploded/user
也就是user下面的quick,很显然是找不到的。
所以我们加一个“/”,代表的是从当前web应用下面找这个success页面
接下来我们再看看@RequestMapping里面的属性:
Value:用于指定请求的URL 。它和path的作用是一样的
method:用于指定请求的方式
params:用于指定限制请求参数的条件,它支持简单的表达式。要求请求参数的key和value必须配置的一模一样,它里面的参数是一个数组,可以限定多个参数。
下面进行详细的解析:
关于Value;
这个里面的参数就相当于是Value了,只是当只有一个参数的时候这个Value是可以省略的
原本应该是:
关于method:
原本默认是get,但是有post的方法,这里我们讲解post方法:
不要这么写:
method里面是通过枚举的方式出现的:
通过 RequestMethod来进行选取
运行测试:
这里原本我是get方法,我们用post方法就会报错,修改方法就是通过表单的方法提交
关于params:
意思就是我们访问这个页面的时候一定要有参数username,不然访问不了
没加参数的运行测试:
这个报错就是告诉我们,访问这个页面需要添加参数
添加参数的运行测试: