知識點:
1.RequestMapping(3)
知識點 | 核心內容 | 重點 |
@RequestMapping注解的parameters屬性 | 通過parameters指定請求參數條件 (如bookID),控制請求匹配規則(必須包含/排除特定參數或值) | 參數存在性檢查 vs 參數值限制(如parameter1!=value1) |
多參數條件組合 | 支持逗號分隔多參數條件 (如parameter1=value1,parameter2),同時校驗參數存在性及值匹配 | 值限制參數與無值限制參數的混合寫法 |
請求參數自動綁定 | 方法形參(如String bookID)自動接收請求中同名參數的值 | 形參與parameters屬性同名時的綁定機制 |
測試案例:search方法 | @RequestMapping(value="/search", method=GET, parameters="bookID") + 形參接收bookID,輸出并跳轉頁面 | 無參數請求報錯 vs 帶參數請求成功的對比 |
2.RequestMapping(4)
知識點 | 核心內容 | 重點 |
Request參數設置 | 在request.js頁面添加代碼,演示parameters的使用,要求攜帶bookID參數 | 問號后參數格式(?bookID=100)與工程路徑處理 |
參數校驗機制 | 通過parameters屬性強制校驗請求參數(如bookID必須存在且值需匹配100) | 參數名不匹配(bookID vs bookIDx)或值不匹配(200 vs 100)觸發400錯誤 |
條件表達式擴展 | 支持 = 和 != 運算符限制參數值 | 動態校驗邏輯(如bookID!=100時拒絕該值) |
工程路徑處理 | 強調斜杠對路徑的影響(如/user/search需避免重復斜杠) | 路徑拼接錯誤導致缺失工程路徑 |
3.RequestMapping(5)
知識點 | 核心內容 | 重點 |
Ant風格資源地址匹配規則 | 問號匹配單個字符,星號匹配任意字符,雙星號匹配多層路徑 | 雙星號與單星號的區別(多層路徑 vs 單層路徑) |
單星號通配符 | /user/*/createUser 匹配單層任意路徑(如aaa/bbb) | 星號必須對應一層具體路徑 |
雙星號通配符 | /user/?**?/createUser 匹配零到多層路徑(如空/aa/aa/bb/cc) | 零路徑的特殊情況 |
問號通配符 | /user/createUser?? 匹配固定長度任意字符(如AA/BB) | 嚴格限定字符數量 |
實戰配置案例 | @RequestMapping("/user/message?**?") 實現多層路徑匹配 | 需注意路徑拼接規則(類級路徑+方法級路徑) |
測試驗證方法 | 通過JSP超鏈接和Postman工具測試不同URL匹配情況 | 前端路徑斜杠處理 |
4.RequestMapping(6)
知識點 | 核心內容 | 易混淆點 |
URL路徑變量綁定 | 通過@PathVariable注解實現URL占位符與形參的自動綁定 | 占位符命名與形參命名的關系(占位符必須匹配注解值,形參名可自定義) |
RESTful風格參數傳遞 | 使用/user/reg/{username}/{id}形式替代傳統?key=value傳參方式 | 路徑變量與傳統查詢字符串參數的應用場景區分 |
注解組合使用 | @RequestMapping與@PathVariable的配合使用機制 | 注解值必須與URL模板變量嚴格一致 |
參數接收原理 | 通過反射機制實現路徑變量到方法參數的自動賦值 | 前端URL結構與后端處理方法的層級對應關系 |
實戰測試驗證 | 演示/user/reg/k/300如何映射到name="k"和id=300 | URL前綴路徑(/user/reg)必須精確匹配控制器映射 |
5.RequestMapping注意事項(1)
知識點 | 核心內容 | 重點 |
RequestMapping注解的URL映射規則 | URL路徑不可重復,同一控制器內不同方法若配置相同路徑會導致項目啟動報錯 | 語法檢查階段無法檢測重復,需通過運行時異常(如There is already...錯誤)發現 |
重復URL的典型錯誤案例 | UserHandler類中hi()與hi2()方法均配置路徑/hi,引發"already mapped"沖突 | 報錯信息明確提示重復映射的方法名(如user.hi()) |
問題復現與驗證方式 | 通過重啟項目觸發異常,觀察控制臺輸出的重復路徑沖突提示 | 需區分語法錯誤(IDE提示)與運行時錯誤(部署階段暴露) |
6.RequestMapping注意事項(2)
知識點 | 核心內容 | 重點 |
請求映射簡寫形式 | @PostMapping 是 @RequestMapping(method = RequestMethod.POST) 的簡寫,同理適用于 @GetMapping、@PutMapping、@DeleteMapping | 注解等價性:兩種寫法功能相同,但簡寫形式更簡潔 |
請求方式限制 | 使用 @PostMapping 后,僅允許 POST 請求,其他請求方式(如 GET)會報錯 | 測試驗證:通過修改請求方式觸發錯誤,證明注解生效 |
源碼解析 | @PostMapping 源碼中明確標注為 @RequestMapping(method = RequestMethod.POST) 的快捷方式 | 關鍵注釋:"Shortcut for @RequestMapping(method = RequestMethod.POST)" |
同類注解 | 除 @PostMapping 外,還有 @GetMapping、@PutMapping、@DeleteMapping 等,用法一致 | 命名規律:前綴對應 HTTP 方法名 |
7.RequestMapping注意事項(3)
知識點 | 核心內容 | 重點 |
表單/超鏈接數據提交規則 | 提交參數名需與目標方法參數名嚴格一致(如email字段需匹配形參String email) | 參數名不一致時不會報錯,但接收值為null |
GET請求參數綁定示例 | 通過@GetMapping路徑(如/hello3)和URL參數(?email=xx@xx.com)自動綁定形參 | 需確保URL參數名(email)與形參名完全一致 |
空值處理機制 | 參數名不匹配時,后端接收空值而非拋出異常 | 需主動檢查參數是否為空,避免邏輯漏洞 |
動態演示案例 | 通過瀏覽器地址欄直接測試(如/user/hello3?email=xx@xx.com),后臺成功捕獲參數值 | 未傳參時控制臺顯示email: null |
8.Postman介紹
知識點 | 核心內容 | 重點 |
Postman工具介紹 | 功能強大的HTTP請求測試工具,支持GET/POST/PUT/DELETE等請求模擬,無需開發前端頁面即可測試后端接口 | 與手動編寫測試頁面的對比:工具效率更高,但需注意請求參數配置準確性 |
學習必要性 | 后端開發人員必備工具,簡化Web層Controller測試流程,提升開發效率 | 版本選擇 |
工具核心功能 | 模擬HTTP請求、接收響應數據,支持多種請求類型 | 功能取舍:僅學習常用功能,無需掌握全部高級特性 |
資源獲取 | 官網提供下載(www.postman.com)和文檔(learning.postman.com) | 版本差異:新版功能可能增加學習成本,舊版更穩定 |
9,Postman安裝
知識點 | 核心內容 | 重點 |
Postman安裝步驟 | 1. 下載軟件(已提供資源); 2. 雙擊安裝(默認系統盤路徑); 3. 桌面生成快捷圖標 | 無需自定義安裝路徑; |
安裝注意事項 | - 需管理員身份運行; - 安裝過程禁止亂點; - 首次啟動較慢 | 自動啟動與手動雙擊的區別 |
異常處理 | 未自動啟動時:雙擊桌面圖標手動啟動 | 系統兼容性差異 |
10.Postman快速入門(1)
知識點 | 核心內容 | 重點 |
Postman基礎功能 | 發送HTTP請求(GET/POST)、管理請求集合(Collections)、查看響應數據(HTML/JSON) | 請求方式選擇(GET vs POST)、響應數據格式(Raw vs Preview) |
Postman界面設置 | 調整字體大小(File → Settings → Font Size)、界面縮放快捷鍵(Ctrl+/-) | 快捷鍵沖突(需區分系統全局快捷鍵) |
百度GET請求實戰 | 輸入www.baidu.com → 選擇GET方式 → Send → 解析返回的HTML數據 | 參數攜帶(Query Params vs Headers)、預覽模式(Preview顯示不全問題) |
賬號注冊與免登錄 | 通過郵箱注冊(Create Account)或直接使用(Skip登錄) | 工作空間同步(注冊賬號可跨設備同步請求歷史) |
請求集合管理 | 創建Collection保存請求 → 命名規范(如hsp_百度) → 分類管理 | 集合共享(團隊協作時需導出/導入) |
響應數據分析 | Status Code(如200)、耗時、數據大小 → Preview模式(網頁渲染效果) | HTML解析差異(動態內容可能缺失) |
11.Postman快速入門(2)
知識點 | 核心內容 | 重點 |
HTTP請求創建 | New HTTP Request操作步驟,包含命名、請求方式、URL設置 | 參數(parameter)與頭信息(headers)配置區別 |
Connection管理機制 | 請求以connection集合形式管理,首次保存需創建集合 | 新建請求與選擇已有集合的邏輯關系 |
請求保存流程 | Save HTTP Request觸發對話框的兩種情形(新建/選擇集合) | 集合與單個請求的從屬關系 |
響應數據解析 | Pretty(原生數據)與Preview(網頁渲染)雙模式對比 | 測試時數據正確性優先于界面展示 |
搜狐GET請求案例 | 完整演示從創建請求到解析HTML響應的全流程 | 集合中多請求的并行管理 |
Postman測試核心價值 | 重點驗證服務器返回數據而非頁面樣式 | 接口測試與UI測試的本質差異 |