IT袋

当前位置:主页 > 对比评测 >

Spring中@Controller和@RestController区别

Spring中@Controller和@RestController区别

时间:2024-01-19 13:41:03 来源:IT袋 作者:马勇
导读:Spring中@Controller和@RestController区别,小编为网友们解答Spring中@Controller和@RestController区别IT技巧方面的经验,很不错的方法小知识,建议收藏哦! 在介绍@Controller和@RestController区别之前,要先介绍网站开发模

Spring中@Controller和@RestController区别

小编为网友们解答Spring中@Controller和@RestController区别IT技巧方面的经验,很不错的方法小知识,建议收藏哦!

在介绍@Controller和@RestController区别之前,要先介绍网站开发模式

网站的开发模式,主要有2种:前端台分离和混合开发前后台分离:(目前企业开发的主流)这种开发模式的特点如下

  • 前端人员开发前端程序,前端程序单独部署到前端服务器上
  • 后端人员开开发后端程序,后端程序单独部署到后端服务器上

Spring中@Controller和@RestController区别

混合开发:(早期的开发技术,目前慢慢退出市场),这种开发模式的特点是:前端人员开发的代码和后端人员开发的代码在同一个项目中,一起打包部署。

Spring中@Controller和@RestController区别

思考:@Controller和@RestController与混合开发以及前端台分离开发之间关系

1. @Controller和混合开发

在前后端混合开发节点使用@Controller注解作用:

  • 主要用于传统前后端混合开发,生成HTML页面的控制器。
  • 通过@RequestMapping配合处理请求,通常返回视图(View)。
  • 适用于以服务器渲染为主的应用,不太适合前后端分离的场景。

1.1. 代码演示

【步骤一】:创建SpringBoot项目,并在pom.xml添加依赖

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-thymeleaf</artifactId>
    </dependency>
    <dependency>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
    </dependency>
</dependencies>

【步骤二】:在resources目录下创建templates文件夹,并创建test.html页面

<html>
<head></head>
<body>
<h1>一个简单的视图</h1>
</body>
</html>

【步骤三】:创建TutorialController控制器

@Controller
@RequestMapping("tutorial")
public class TutorialController {
    @GetMapping
    public String update(){
        return "test";
    }
}

访问过程如下

Spring中@Controller和@RestController区别

测试: 使用浏览器访问http://localhost:8080/tutorial

结果如下

相关阅读