Spring MVC 注解驱动
Spring MVC 支持基于注解的控制器配置,使得控制器类和方法的配置更加简洁和清晰。常用的注解有:
@Controller:标记类为控制器,Spring 会自动扫描并注册该类为 Bean。
@RequestMapping:映射 HTTP 请求到控制器方法。
@GetMapping、@PostMapping 等:这些是 @RequestMapping 的简化注解,用于处理特定类型的 HTTP 请求。
@PathVariable:绑定 URL 模板中的变量到方法参数。
@RequestParam:绑定请求参数到方法参数。
@ModelAttribute:用于预填充模型数据。
@ResponseBody:表示方法的返回值应该直接写入 HTTP 响应体,常用于返回 JSON 数据。
控制器类示例:
@Controller
public class MyController {@RequestMapping("/hello")public String hello(Model model) {model.addAttribute("message", "Hello, Spring MVC!");return "hello"; // 返回视图名,视图解析器会根据该视图名渲染视图}@RequestMapping("/greet/{name}")public String greet(@PathVariable String name, Model model) {model.addAttribute("name", name);return "greet";}
}
视图(JSP 示例):
<!-- /WEB-INF/views/hello.jsp -->
<h1>${message}</h1><!-- /WEB-INF/views/greet.jsp -->
<h1>Welcome, ${name}!</h1>