[Spring] Spring Web MVC基础理论
Spring Web MVC是Spring框架的一部分,提供了一个简易的方式来创建RESTful Web服务和Web应用程序。以下是Spring Web MVC的基础概念和一个简单的例子。
- 控制器(Controllers): 使用
@Controller
或@RestController
注解的类,处理HTTP请求。 - 映射(Request Mapping): 使用
@RequestMapping
或其特定版本例如@GetMapping
和@PostMapping
,映射URL到控制器方法。 - 模型(Models): 使用
Model
对象传递数据到视图。 - 视图解析器(View Resolvers): 用于将逻辑视图名称解析为实际视图。
- 数据绑定(Data Binding): 使用
@RequestParam
,@RequestBody
,@PathVariable
等注解,将请求数据绑定到方法参数。 - 异常处理(Exception Handling): 使用
@ControllerAdvice
和@ExceptionHandler
注解,处理控制器中抛出的异常。
示例代码:
@Controller
@RequestMapping("/users")
public class UserController {
@GetMapping("/{id}")
public String getUser(@PathVariable Long id, Model model) {
// 假设这里有逻辑来获取用户信息
User user = userService.findById(id);
model.addAttribute("user", user);
return "userView"; // 返回视图名称,交由视图解析器处理
}
@PostMapping
public String createUser(@RequestBody User user) {
// 假设这里有逻辑来创建用户
userService.create(user);
return "redirect:/users/" + user.getId(); // 重定向到用户视图
}
@ExceptionHandler(UserNotFoundException.class)
public ResponseEntity<String> handleUserNotFoundException(UserNotFoundException ex) {
// 返回404响应
return ResponseEntity.notFound().build();
}
}
在这个例子中,UserController
处理对/users
路径下用户信息的请求。getUser
方法通过ID获取用户并将其添加到模型中,然后返回一个视图名称。createUser
方法接收POST请求的用户数据,并创建用户。最后,handleUserNotFoundException
方法处理用户未找到异常,返回404响应。
评论已关闭