controller层
时间: 2023-08-15 22:27:25 浏览: 44
在 MVC 模式中,控制器(Controller)是处理用户请求的组件。在 Java Web 应用程序中,通常使用 Spring MVC 框架来实现控制器。Controller 层主要完成以下工作:
1. 接收用户请求:控制器负责接收用户的请求,通过 RequestMapping 等注解来映射请求 URL。
2. 处理请求参数:控制器可以通过注解来获取请求参数,包括路径参数、查询参数、请求体参数等。
3. 调用业务逻辑层:控制器将请求参数传递给业务逻辑层进行处理,获取处理结果。
4. 返回响应数据:根据业务逻辑层的处理结果,控制器可以返回不同的响应数据,包括 HTML 页面、JSON 数据、文件等。
以下是一个简单的 Spring MVC 控制器示例:
```java
@Controller
@RequestMapping("/user")
public class UserController {
@Autowired
private UserService userService;
@GetMapping("/{id}")
@ResponseBody
public User getUserById(@PathVariable("id") Long id) {
return userService.getUserById(id);
}
@PostMapping
@ResponseBody
public User addUser(@RequestBody User user) {
return userService.addUser(user);
}
@PutMapping("/{id}")
@ResponseBody
public User updateUser(@PathVariable("id") Long id, @RequestBody User user) {
user.setId(id);
return userService.updateUser(user);
}
@DeleteMapping("/{id}")
@ResponseBody
public void deleteUser(@PathVariable("id") Long id) {
userService.deleteUser(id);
}
}
```
在上面的示例中,控制器通过 @Controller 和 @RequestMapping 注解来定义请求映射,通过 @Autowired 注解来注入业务逻辑层的 UserService 对象。控制器中的方法根据不同的请求方法(GET、POST、PUT、DELETE)和请求路径来处理请求,并通过 @ResponseBody 注解来将方法返回值转换为响应数据。