RequestMapping_请求参数&请求头

params和headers支持简单的表达式:

--param1:表示请求必须包含名为param1的请求参数。

--!param1:表示请求不能包含名为param1的请求参数。

--param1 != value1:表示请求包含名为param1的参数,但其值不能为value1.

--{“param1=value1”,“param2”}:请求必须包含名为param1和param2的两个请求参数,且param1参数的值必须为value1。

 

实践:

 

SpringMVCTest.java:

RequestMapping_请求参数&请求头

 

index.jsp:

RequestMapping_请求参数&请求头

 

运行结果:

RequestMapping_请求参数&请求头

 

点击“Test ParamsAndheaders”,则:

RequestMapping_请求参数&请求头

 

报错的详细信息为:

1 警告: No matching handler method found for servlet request: path ‘/springmvc/testParamsAndheaders‘, method ‘GET‘, parameters map[‘username‘ -> array<String>[‘xingxing‘], ‘age‘ -> array<String>[‘10‘]]

 

因为在java代码中说了age不能等于10,如果把jsp代码中age的传入参数换为11,则结果如下:

RequestMapping_请求参数&请求头

可以运行。

 

假如把传入的参数中username属性删去,也会报错。运行如图:

RequestMapping_请求参数&请求头

 

然后,我们用谷歌浏览器打开这个网址,再用开发者工具。

RequestMapping_请求参数&请求头

 

 

然后,在SpringMVCTest.java中的@RequestMapping属性中加入headers={"Accept-Language=zh-CN,zh;q=0.9"}。

RequestMapping_请求参数&请求头

 

运行一下:

RequestMapping_请求参数&请求头

可以访问。

 

总结:可以使用params和headers来更精确地映射请求,params和headers支持简单的表达式。

 

RequestMapping_请求参数&请求头

上一篇:【9.22校内测试】【可持久化并查集(主席树实现)】【DP】【点双联通分量/割点】


下一篇:asp.net mvc自定义特性之进行统一的权限检查