中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁 > news >正文

wordpress好看的背景圖片/杭州優(yōu)化公司在線留言

wordpress好看的背景圖片,杭州優(yōu)化公司在線留言,中企動力科技股份有限公司淄博分公司,卦神嶺做網(wǎng)站目錄 基本概念 編寫 Controller 的步驟和要點 1. 定義 Controller 類 2. 映射請求 3. 處理請求參數(shù) 4. 調(diào)用業(yè)務(wù)邏輯 5. 返回響應(yīng) 場景示例 1. 簡單的 Hello World 示例 2. 處理路徑變量和請求參數(shù) 3. 處理表單提交 4. 處理 JSON 數(shù)據(jù) 5. 異常處理 基本概念 Cont…

目錄

基本概念

編寫 Controller 的步驟和要點

1. 定義 Controller 類

2. 映射請求

3. 處理請求參數(shù)

4. 調(diào)用業(yè)務(wù)邏輯

5. 返回響應(yīng)

場景示例

1. 簡單的 Hello World 示例

2. 處理路徑變量和請求參數(shù)

3. 處理表單提交

4. 處理 JSON 數(shù)據(jù)

5. 異常處理


基本概念

Controller 是 Spring MVC 架構(gòu)中的核心組件之一,它負責(zé)接收客戶端的請求,調(diào)用相應(yīng)的業(yè)務(wù)邏輯進行處理,并將處理結(jié)果返回給客戶端。通常,Controller 會根據(jù)請求的 URL 和 HTTP 方法,將請求分發(fā)到具體的處理方法上。

編寫 Controller 的步驟和要點

1. 定義 Controller 類

使用?@Controller?注解標(biāo)記一個類,表明該類是一個 Spring MVC 的控制器。也可以使用?@RestController?注解,它是?@Controller?和?@ResponseBody?的組合,適用于返回 JSON 或 XML 等數(shù)據(jù)的場景。

2. 映射請求

使用?@RequestMapping、@GetMapping@PostMapping?等注解將 HTTP 請求映射到 Controller 中的具體方法上。這些注解可以指定請求的 URL、HTTP 方法、請求參數(shù)等。

3. 處理請求參數(shù)

使用?@RequestParam、@PathVariable@RequestBody?等注解來獲取請求中的參數(shù),并將其綁定到方法的參數(shù)上。

4. 調(diào)用業(yè)務(wù)邏輯

在處理方法中調(diào)用業(yè)務(wù)邏輯層(如 Service 層)的方法,完成具體的業(yè)務(wù)處理。

5. 返回響應(yīng)

可以返回視圖名、ModelAndView?對象、ResponseEntity?對象或直接返回數(shù)據(jù)(使用?@ResponseBody?注解)。

場景示例

1. 簡單的 Hello World 示例
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.ResponseBody;@Controller
public class HelloController {@GetMapping("/hello")@ResponseBodypublic String sayHello() {return "Hello, World!";}
}

解釋

  • @Controller?注解標(biāo)記?HelloController?類為控制器。
  • @GetMapping("/hello")?注解將?/hello?的 GET 請求映射到?sayHello?方法上。
  • @ResponseBody?注解表示方法的返回值將直接作為 HTTP 響應(yīng)的主體內(nèi)容返回給客戶端。
2. 處理路徑變量和請求參數(shù)
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;@Controller
public class UserController {@GetMapping("/users/{id}")@ResponseBodypublic String getUserById(@PathVariable("id") int userId) {return "User ID: " + userId;}@GetMapping("/search")@ResponseBodypublic String searchUsers(@RequestParam("keyword") String keyword) {return "Searching for users with keyword: " + keyword;}
}

解釋

  • @GetMapping("/users/{id}")?定義了一個帶有路徑變量的請求映射,{id}?表示路徑中的變量部分。
  • @PathVariable("id")?注解將路徑變量?id?的值綁定到?userId?參數(shù)上。
  • @GetMapping("/search")?定義了一個普通的請求映射。
  • @RequestParam("keyword")?注解將請求參數(shù)?keyword?的值綁定到?keyword?參數(shù)上。
3. 處理表單提交
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestParam;@Controller
public class FormController {@GetMapping("/form")public String showForm() {return "form"; // 返回視圖名}@PostMapping("/form")public String processForm(@RequestParam("name") String name, @RequestParam("age") int age, Model model) {model.addAttribute("name", name);model.addAttribute("age", age);return "result"; // 返回視圖名}
}

解釋

  • @GetMapping("/form")?處理 GET 請求,返回?form?視圖,通常是一個表單頁面。
  • @PostMapping("/form")?處理表單提交的 POST 請求,使用?@RequestParam?獲取表單數(shù)據(jù),并將數(shù)據(jù)添加到?Model?中,最后返回?result?視圖,顯示處理結(jié)果。
4. 處理 JSON 數(shù)據(jù)
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.ResponseBody;@Controller
public class JsonController {@PostMapping("/json")@ResponseBodypublic ResponseEntity<User> processJson(@RequestBody User user) {// 處理用戶數(shù)據(jù)return new ResponseEntity<>(user, HttpStatus.OK);}
}class User {private String name;private int age;// Getters and Setterspublic String getName() {return name;}public void setName(String name) {this.name = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}
}

解釋

  • @PostMapping("/json")?處理 POST 請求。
  • @RequestBody?注解將請求體中的 JSON 數(shù)據(jù)轉(zhuǎn)換為?User?對象。
  • ResponseEntity?用于封裝響應(yīng)數(shù)據(jù)和 HTTP 狀態(tài)碼,將處理后的?User?對象以 JSON 格式返回給客戶端。
5. 異常處理
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.ResponseBody;@Controller
public class ExceptionController {@GetMapping("/error")@ResponseBodypublic String throwException() {throw new RuntimeException("Something went wrong!");}@ExceptionHandler(RuntimeException.class)@ResponseBodypublic ResponseEntity<String> handleException(RuntimeException ex) {return new ResponseEntity<>(ex.getMessage(), HttpStatus.INTERNAL_SERVER_ERROR);}
}

解釋

  • @GetMapping("/error")?方法故意拋出一個?RuntimeException。
  • @ExceptionHandler(RuntimeException.class)?注解定義了一個異常處理方法,當(dāng) Controller 中拋出?RuntimeException?時,會調(diào)用該方法進行處理,返回錯誤信息和 HTTP 狀態(tài)碼 500。

通過以上示例,可以看到 Controller 在不同場景下的編寫方式和應(yīng)用,根據(jù)具體的需求選擇合適的注解和處理方式,能夠高效地處理客戶端請求。

http://www.risenshineclean.com/news/606.html

相關(guān)文章:

  • 代加工廠找訂單的網(wǎng)站/網(wǎng)站營銷軟文
  • 網(wǎng)站建設(shè)費用還是網(wǎng)絡(luò)/好看的網(wǎng)站模板
  • 建站公司排名 中企動力/seo推廣軟件
  • 國內(nèi)優(yōu)秀網(wǎng)站網(wǎng)頁設(shè)計/百度廣告競價排名
  • 畢設(shè)做音樂網(wǎng)站/關(guān)鍵詞優(yōu)化一般收費價格
  • thinkphp做網(wǎng)站好嗎/中國seo高手排行榜
  • 網(wǎng)站熱力圖怎么做/釣魚網(wǎng)站制作教程
  • 云南旅游網(wǎng)站建設(shè)/亞馬遜關(guān)鍵詞優(yōu)化軟件
  • 肅寧做網(wǎng)站/app開發(fā)公司排名
  • 網(wǎng)站推廣方式措施/寧波網(wǎng)絡(luò)推廣優(yōu)化公司
  • asp網(wǎng)站500錯誤iis7/百度搜索風(fēng)云榜游戲
  • vs2012網(wǎng)站開發(fā)/怎么做一個自己的網(wǎng)站
  • 智誠外包網(wǎng)/臺州專業(yè)關(guān)鍵詞優(yōu)化
  • 心理咨詢網(wǎng)站php后臺一般需要哪些模塊/百度快速提交入口
  • 如何做p2p網(wǎng)站/seo怎么做優(yōu)化排名
  • 做網(wǎng)站圖片尺寸/學(xué)校教育培訓(xùn)機構(gòu)
  • 網(wǎng)站常用字體大小/深圳網(wǎng)絡(luò)推廣市場
  • 織夢淘寶客網(wǎng)站/活動營銷案例100例
  • php做網(wǎng)站最容易/b站推廣有用嗎
  • 哪些網(wǎng)站做京東的團購/seo優(yōu)化包括哪些內(nèi)容
  • 豬八戒設(shè)計網(wǎng)站如何做兼職/營銷推廣運營
  • 網(wǎng)站制作模板下載/公司宣傳軟文
  • 小型企業(yè)網(wǎng)站建設(shè)報告/北京seo排名服務(wù)
  • 網(wǎng)站服務(wù)器在那里找/優(yōu)秀軟文范例200字
  • 做兼職什么網(wǎng)站/企業(yè)網(wǎng)絡(luò)營銷策略案例
  • 如何做網(wǎng)站窗口/關(guān)鍵詞整站優(yōu)化
  • 建筑培訓(xùn)網(wǎng)站有哪些/重慶seo培訓(xùn)
  • 產(chǎn)品展示型的網(wǎng)站功能有哪些/網(wǎng)上推廣專員是什么意思
  • 豬八戒網(wǎng)站 怎么做兼職/品牌策劃公司介紹
  • 樂平市網(wǎng)站建設(shè)/網(wǎng)絡(luò)營銷ppt案例