Spring MVC常用注解及示例代码

本文介绍了SpringMVC框架中常用的控制器注解如@Controller、@RequestMapping、@PathVariable、@RequestParam、@RequestBody、@ResponseBody和@SessionAttributes,展示了如何通过这些注解处理HTTP请求、URL映射、参数绑定和会话数据管理,以构建高效、灵活的Web应用。
  1. @Controller:用于标识控制器类,处理HTTP请求并返回视图或数据。
@Controller
public class UserController {
    // 控制器方法
}
  1. @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";
    }
}
  1. @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";
    }
}
  1. @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";
    }
}
  1. @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";
    }
}
  1. @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;
    }
}
  1. @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应用程序。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值