網站首頁 編程語言 正文
目錄
1.@RequestMapping("")
2.RequestMapping用在類上? ? ? ?
3.如果有兩個控制器攔截了同一個請求,
4.RequestMapping? ?method屬性,?不匹配報405
5.RequestMapping? ?? restful風格占位符傳遞參數
6.RequestMapping? ? ?value 的通配符? 不匹配報400
7.RequestMapping? ?params? ?參數中必須有某個或沒有參數
8.requestmapping? ? headers? 請求頭中必須有某個或沒有參數
9.@requestheader
? 11.@requestparam注解
1.@RequestMapping("")
1.RequestMapping用在方法上
表示攔截什么值的請求,有點像servlet的@webservlet注解,都是攔截特定的請求
package org.hxut.zyk.com.hxut.zyk.Controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
//設置為ioc容器類
@Controller
@RequestMapping("/target")
public class Hellocontroller {
//攔截只寫了一個/的請求 http://localhost:8080/Springmvc_demo1_war_exploded/
@RequestMapping("/")
public String firstpage()
{
return "index";
}
//攔截/target請求 http://localhost:8080/Springmvc_demo1_war_exploded/target
@RequestMapping("/target")
public String Gettarget()
{
return "target";
}
}
http://localhost:8080/Springmvc_demo1_war_exploded/target? ?即可訪問target.html頁面
2.RequestMapping用在類上? ? ? ?
? ? ? 表示要加上/后的內容才可以訪問 http://localhost:8080/Springmvc_demo1_war_exploded/target/target 可以訪問target頁面
package org.hxut.zyk.com.hxut.zyk.Controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
//設置為ioc容器類
@Controller
//在類上,表示要加上/后的內容才可以訪問 http://localhost:8080/Springmvc_demo1_war_exploded/target
@RequestMapping("/target")
public class Hellocontroller {
//攔截只寫了一個/的請求 http://localhost:8080/Springmvc_demo1_war_exploded/
@RequestMapping("/")
public String firstpage()
{
return "index";
}
@RequestMapping("/target")
public String Gettarget()
{
return "target";
}
}
3.如果有兩個控制器攔截了同一個請求,
則會報錯,即添加了controller的類中,有兩個方法,他們@requestmapping注解的value值相同。
4.RequestMapping? ?method屬性,?不匹配報405
設置匹配的請求類型 ,post ,get ,delete 之類的,默認是都可以,
@RequestMapping(value = "/employee/{id}",method = RequestMethod.GET) 只接收get請求
@GetMapping(value = "/targe?3")?要求必須為get請求
5.RequestMapping? ?? restful風格占位符傳遞參數
普通風格? ? ?/delete?id=1
restful風格? /delete/1
HTML頁面
控制器
@RequestMapping(value ={ "/target5/{username}/{pwd}"})
// @PathVariable注解的作用是將username從路徑中拿出來,并賦值給變量uname
// @PathVariable注解的作用是將pwd從路徑中拿出來,并賦值給變量pwd
public String disaplayrestful(@PathVariable("username") Integer uname,@PathVariable("pwd") String pwd) {
System.out.println(uname);
System.out.println(pwd);
return "target";
}
6.RequestMapping? ? ?value 的通配符? 不匹配報400
value={"/a?a/testant"}? ?任意的單個字符
value={"/abba/testant"}錯誤
value={"/aca/testant"}正確
value={"/aaa/testant"}? ?正確??
value={"/a*a/testant"}? ?任意的多個字符
/aaaaaaaaa/testant"正確
"/aba/testant"? 正確
"/aa/testant"? ? ?錯誤
value={"test/**/tesatext"}只要a和b 能匹配上,不管** 中寫了什么,都可以訪問
?test/asfdsfasdf/sfdsfd/testant? 正確
7.RequestMapping注解的params
傳過來的參數一定要帶有,或者不帶有某個參數? ?不匹配報400
??params={"username"} 一定要帶有username 參數
??????????????????{"!username"}??一定不帶有username 參數
?????????????????{"username"=admin} 有username參數,且值必須是admin
????????????????{"username"!=admin}有username參數,且值不能是admin 或者 沒有username參數
?????????????????{"username","psw"}? 必須有username和psw?
@requestMapping(value = "/target3", params = {"username!=1234"}) 只有請求中有username這個參數,而且值不等于1234才可以訪問本界面
8.requestmapping的headers
請求頭某個信息的必須為規定值,
@GetMapping(headers = {"Host=localhost:8080"}) 必須是localhost且是8080端口
這種鍵值對的是請求頭
9.一個控制方法可以攔截多個請求
@RequestMapping(value = {"/target", "/target2"},method = {RequestMethod.GET})
public String disaplaytarget() {
return "target";
}
9.@requestheader
要求請求頭中必須有某個參數
10.cookievalue??
要求cookie中必須有某個參數
? 11.@requestparam注解
?@RequestParam(value = "s",required = true,defaultValue = "defaultvalue1")
value 用于獲取請求地址中名為s的參數
required? 該參數是否是必須的
default? 默認值 當沒有傳遞這個參數,而且 required為true時,給這個變量賦值
requestparam注解
@RequestMapping(value = {"requestparam_zhujie"})
public String get_requestparam_zhujie(
// value 指定為形參賦值的請求參數的參數名
// required 設置是否必須傳輸此請求,默認為true,若沒有設置defalut,且沒有傳輸該參數,會報400,只傳參數名,沒有參數值,不報錯
// defaultValue 當value所指定的請求參數沒有傳輸時,使用默認值
@RequestParam(value = "uunamed",required = true,defaultValue = "zyk")
String uname,
@RequestParam(value = "s",required = true,defaultValue = "default")
String upwd,
String[] hobbis2,
@RequestHeader(value="Host")
String address)
{ System.out.println("requestparam獲取注解");
System.out.println("獲取uname"+uname);
System.out.println("沒有傳這個值,應該使用注解設置的default"+upwd);
System.out.println(Arrays.toString( hobbis2));
return "test_param";
}
結果:
例子:params = {"username!=1234"}, headers = {"Host=localhost:8080"}) 請求一定是/targe?3 ?是任意格式字符 且一定要是get請求,要么有params參數,且值不是1234,要么沒有該參數,請求頭的host一定是本機
原文鏈接:https://blog.csdn.net/sharesb/article/details/124334655
相關推薦
- 2022-07-06 python數據分析之DateFrame數據排序和排名方式_python
- 2022-12-08 C++?Boost?PropertyTree示例超詳細講解_C 語言
- 2022-06-06 delete from xx_table(刪除全表數據)對應的binlog是怎么記錄的?
- 2023-05-23 pytorch中backward()方法如何自動求梯度_python
- 2024-01-16 where語句后跟case語句
- 2022-05-10 詳解CLR的內存分配和回收機制_C#教程
- 2022-11-22 ubuntu20.04中vscode使用ROS的詳細方法_C 語言
- 2022-05-01 oracle刪除超過N天數據腳本的方法_oracle
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支