当前位置: 首页 > news >正文

天津制作网站首页电影网站如何做seo排名

天津制作网站首页,电影网站如何做seo排名,知乎 做网站的公司 中企动力,优化网站多少钱在 Spring MVC 中,注解可以说是开发者的“魔法棒”,通过简单的注解配置,开发者能够实现请求处理、参数绑定、响应返回等复杂功能,真正做到“少写代码多干活”。 我们接下来就来一起看看 Spring MVC 中常用的注解,它们的…

在 Spring MVC 中,注解可以说是开发者的“魔法棒”,通过简单的注解配置,开发者能够实现请求处理、参数绑定、响应返回等复杂功能,真正做到“少写代码多干活”


我们接下来就来一起看看 Spring MVC 中常用的注解,它们的功能是什么,又该如何使用。如果你对这些注解已经有所了解,那不妨通过本文再来巩固一下,说不定还能学到一些新玩法!


1. @Controller:声明控制器的身份

@Controller 是 Spring MVC 中的核心注解,用于标识一个类为控制器组件。控制器是 MVC 中的“C”,负责接收请求、调用业务逻辑并返回视图(可以是一个页面,可以是JSON数据)

示例

@Controller
public class UserController {@RequestMapping("/hello")public String sayHello() {return "helloView"; // 返回视图名}
}

工作原理

  • @Controller 标注的类会被 Spring 容器扫描并注册为一个 Bean。

  • 配合其他注解处理请求映射和参数绑定。

小提示@Controller@Component 的派生注解,因此它也会被自动扫描到 Spring 容器中。


2. @RequestMapping:请求路径的导航标志

@RequestMapping 用于定义请求路径与控制器方法的映射关系,是 Spring MVC 中最常见的注解之一。

功能特点

  • 可以作用在类上,指定控制器的基础路径

  • 可以作用在方法上,进一步指定具体路径

示例

@Controller
@RequestMapping("/user")
public class UserController {
​@RequestMapping("/profile")public String getUserProfile() {return "profileView"; // 返回视图名}
}

请求路径 /user/profile 会被映射到 getUserProfile 方法。

扩展功能

  • 可以指定请求方法(如 GET、POST):

    @RequestMapping(value = "/update", method = RequestMethod.POST)
    public String updateUser() {return "updateSuccess";
    }
  • 还可以用简化注解,如 @GetMapping@PostMapping 等。


3. @RequestParam:请求参数绑定到方法参数

@RequestParam 用于将请求中的参数映射到方法参数。适用于 URL 查询参数(如 ?name=John)或表单提交的数据。

示例

@Controller
@RequestMapping("/user")
public class UserController {
​@RequestMapping("/greet")public String greetUser(@RequestParam("name") String userName, Model model) {model.addAttribute("greeting", "Hello, " + userName + "!");return "greetView";}
}

请求路径 /user/greet?name=John 会将参数 name 的值映射到 userName

可选参数

  • 设置默认值:

    @RequestParam(value = "age", defaultValue = "18") int userAge
  • 标记为可选:

    @RequestParam(value = "nickname", required = false) String nickname

4. @PathVariable:URL 中的路径变量映射

@PathVariable 用于将 URL 中的动态路径部分绑定到方法参数。它非常适合 REST 风格的接口

示例

@Controller
@RequestMapping("/user")
public class UserController {
​@RequestMapping("/{id}")public String getUserById(@PathVariable("id") int userId, Model model) {model.addAttribute("userId", userId);return "userDetailView";}
}

请求路径 /user/123 会将 123 绑定到 userId 参数。

注意:路径变量名称和方法参数名称一致时,@PathVariablevalue 属性可以省略。


5. @ModelAttribute:对象绑定与预处理神器

@ModelAttribute 用于将请求参数自动绑定到 Java 对象,同时也可以用于在请求处理之前预填充数据

自动绑定

@Controller
@RequestMapping("/user")
public class UserController {
​@RequestMapping("/register")public String registerUser(@ModelAttribute User user) {// User 对象会自动绑定请求参数return "registerSuccess";}
}

假设请求参数为 name=John&age=25,Spring MVC 会将这些参数填充到 User 对象中。

预填充数据: 当作用在方法上时,可以在 Controller 方法执行前为模型添加数据:

@ModelAttribute
public void addDefaultAttributes(Model model) {model.addAttribute("appName", "Spring MVC Demo");
}

6. @RequestBody:绑定请求体数据到方法参数

@RequestBody 用于将 HTTP 请求体的数据直接绑定到方法参数上,特别适用于处理 JSON 格式的请求体

功能:

  • 将请求体数据反序列化为 Java 对象。

  • 适用于 JSON、XML 等多种数据格式。

  • 常用于 RESTful API,简化请求体数据的处理。

示例:

假设用户通过 POST 请求提交以下 JSON 数据:

{"name": "Alice","age": 25
}

控制器代码:

@RestController
@RequestMapping("/user")
public class UserController {
​@PostMapping("/register")public String registerUser(@RequestBody User user) {return "User registered: " + user.getName();}
}

说明

  • JSON 数据中的 nameage 会自动绑定到 User 对象的对应字段。

  • 返回结果将是字符串:User registered: Alice


注意事项

  • 请求头必须包含 Content-Type: application/json

  • 如果请求体为空或格式不正确,会抛出异常(如 HttpMessageNotReadableException),建议配合全局异常处理器使用。


7. @ResponseBody:直接返回数据

@ResponseBody 是一个强大的注解,用于将方法的返回值直接作为 HTTP 响应体,而不是视图名。它非常适合用来返回 JSON 或纯文本数据

示例

@Controller
@RequestMapping("/api")
public class ApiController {
​@RequestMapping("/hello")@ResponseBodypublic String sayHello() {return "Hello, JSON!";}
}

请求 /api/hello 会直接返回字符串 Hello, JSON!

扩展:在现代项目中,@ResponseBody 更常与 @RestController 一起使用。


8. @RestController:简化你的 REST API

@RestController@Controller@ResponseBody 的组合注解,专门用于构建 REST API。标记为 @RestController 的类中的所有方法默认返回 JSON,而不是视图。

示例

@RestController
@RequestMapping("/api")
public class ApiController {
​@GetMapping("/user/{id}")public User getUser(@PathVariable int id) {return new User(id, "John");}
}

请求 /api/user/123 会返回一个 JSON 对象

{"id": 123,"name": "John"
}

总结:注解让开发更简单

Spring MVC 提供了丰富的注解,极大简化了 Web 开发的复杂度:

  1. @Controller@RestController:定义控制器。

  2. @RequestMapping:映射请求路径。

  3. @RequestParam@PathVariable:处理请求参数和路径变量。

  4. @ModelAttribute:对象绑定和数据预填充。

  5. @RequestBody:请求体为JSON对象的获取

  6. @ResponseBody:直接返回数据。

这些注解让开发者能够专注于业务逻辑,而不用担心底层的实现细节。如果你在项目中用到这些注解,有什么有趣的用法或者疑问,欢迎留言讨论! 😊

http://www.yayakq.cn/news/162344/

相关文章:

  • 加油站网站大全建设银行网址
  • 营口工程建设信息网站优化什么意思
  • 举报网站建设情况总结上海大规模网站建设平台
  • 做网站的软件wd的叫啥常州模板网站建设企业
  • 天门市网站建设seo网站哪个好用
  • 大学校园门户网站建设方案团队拓展训练
  • 一个专门做预告片的网站专业的移动网站建设公
  • 佛山做网站优化海淀最新消息今天
  • 重庆企业网站建设哪家专业英文网站源码下载
  • 做韦恩图的网站wordpress菜单项目边距和填充
  • wix网站做图片能折叠吗如何创建一个自己的网页
  • 网站开发竞争性谈判免费ai设计logo网站
  • 苏州出名的网站公司网络服务公司注册官网
  • 自己建设网站容易吗wordpress建立数据库失败
  • 事务所网站制作方案网页效果图设计流程
  • 长沙 网站建设什么秀网站做效果图
  • 专业做网站的公司有多用户商城网站方案
  • 国内跨境电商网站文创产品推广方案
  • 郑州做网站的公司有哪些优秀网站建设网页
  • 白云地网站建设wordpress 在线阅读pdf
  • 做网站申请个体户网站备案号规则
  • 百度指数查询网站seo是什么意
  • 为什么网站有不同的扩展名分类信息网站 建议 建设
  • 做报名网站软件园
  • 淮南专业网站建设网龙沧州网站制作
  • 男女做暖暖的试看网站建设部门网站
  • 怎样自己做网站赚钱吗wordpress文章审核发邮件
  • 有了自己的网站怎样做后台wordpress 点击 排名
  • 营销型网站建设是什么意思网站建设的解决方案
  • 思行做网站线上销售水果营销方案