- @Controller:用于标识控制器类,处理HTTP请求并返回视图或数据。
@Controller
public class UserController {
// 控制器方法
}
- @RequestMapping:用于映射URL路径和控制器方法,指定请求的URL和HTTP方法。
@Controller
@RequestMapping("/user")
public class UserController {
@RequestMapping(value = "/info", method = RequestMethod.GET)
public String getUserInfo(Model model) {
// 处理GET请求,返回用户信息视图
return "user_info";
}
}
- @PathVariable:用于将URL路径中的变量绑定到方法参数上。
@Controller
@RequestMapping("/user")
public class UserController {
@RequestMapping(value = "/info/{id}", method = RequestMethod.GET)
public String getUserInfo(@PathVariable("id") int userId, Model model) {
// 使用userId查询用户信息
// 将用户信息添加到Model中
return "user_info";
}
}
- @RequestParam:用于将请求参数绑定到方法参数上。
@Controller
@RequestMapping("/user")
public class UserController {
@RequestMapping(value = "/info", method = RequestMethod.GET)
public String getUserInfo(@RequestParam("id") int userId, Model model) {
// 使用userId查询用户信息
// 将用户信息添加到Model中
return "user_info";
}
}
- @RequestBody:用于将请求体中的数据绑定到方法参数上,常用于处理JSON格式的请求数据。
@Controller
@RequestMapping("/user")
public class UserController {
@RequestMapping(value = "/create", method = RequestMethod.POST)
public String createUser(@RequestBody User user, Model model) {
// 创建新用户
// 将用户信息添加到Model中
return "user_info";
}
}
- @ResponseBody:用于将方法的返回值直接作为响应体返回,常用于返回JSON格式的数据。
@Controller
@RequestMapping("/user")
public class UserController {
@RequestMapping(value = "/info", method = RequestMethod.GET)
@ResponseBody
public User getUserInfo(@RequestParam("id") int userId) {
// 使用userId查询用户信息
return user;
}
}
- @SessionAttributes:用于指定模型属性存储到会话中,以便多个请求之间共享数据。
@Controller
@RequestMapping("/user")
@SessionAttributes("currentUser")
public class UserController {
@RequestMapping(value = "/login", method = RequestMethod.POST)
public String login(@RequestParam("username") String username,
@RequestParam("password") String password,
Model model) {
// 用户登录验证
User user = userService.login(username, password);
model.addAttribute("currentUser", user);
return "redirect:/user/info";
}
@RequestMapping(value = "/info", method = RequestMethod.GET)
public String getUserInfo(Model model) {
User user = (User) model.getAttribute("currentUser");
// 使用user查询用户信息
return "user_info";
}
}
以上是Spring MVC中常用的注解及其示例代码。这些注解可以帮助开发者定义控制器类、映射URL路径和HTTP方法、绑定请求参数和请求体、处理会话数据等,提供了便捷的开发方式和灵活的配置选项。通过合理使用这些注解,可以编写出结构清晰、可维护、易于测试的Spring MVC应用程序。
本文介绍了SpringMVC框架中常用的控制器注解如@Controller、@RequestMapping、@PathVariable、@RequestParam、@RequestBody、@ResponseBody和@SessionAttributes,展示了如何通过这些注解处理HTTP请求、URL映射、参数绑定和会话数据管理,以构建高效、灵活的Web应用。
1233

被折叠的 条评论
为什么被折叠?



