---
# System prepended metadata

title: 控制器類別
tags: [Spring  MVC]

---

---
tags: Spring  MVC
---
# 控制器類別

在類別名稱之前加上註釋 @Controller 的 POJO 類別就是一個Spring MVC 的控制器。當 
Spring IoC 容器(前面做的WebAppConfig)對指定之套件內的類別進行掃描 (Component Scan) 時，如果發現用此註釋標示的類別，就會將其視為一個 Spring MVC 的控制器。

一個控制器類別可以定義多個控制器方法，每個方法各自擁有不同的請求路徑。
註釋 @RequestMapping() 的 value 屬性說明本方法處理何種請求路徑的請求。

@RequestMapping() 可細分下列4種:

@PostMapping // 只處理 POST 請求，@RequestMapping(method = RequestMethod.POST)
•@GetMapping // 只處理 GET 請求,@RequestMapping(method = RequestMethod.GET)
•@PutMapping // 只處理 PUT 請求,@RequestMapping(method = RequestMethod.PUT)
•@DeleteMapping // 只處理 DELETE 請求,@RequestMapping(method = RequestMethod.DELETE)

如
```
@GetMapping("/welcome")//當請求路徑為/welcome，執行此方法
	public String welcome(Model model) {
	model.addAttribute("title", "歡迎蒞臨君雅網路商城!!!");
	model.addAttribute("subtitle", "網路上獨一無二的購物天堂");
	return "welcome";//導到welcome.jsp
	}
```


