创建第一个springboot项目、用springboot实现页面跳转、@Controller和@RestController的区别
SpringBoot项目 实现 区别 创建 页面 跳转 第一个
2023-09-27 14:26:41 时间
文章目录
一、第一个spring boot项目
这个一定要勾选上。spring boot使用的是内置服务器
目录结构
package com.zheng.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class HelloSpringBoot {
@RequestMapping("/hello")
public String hello(){
return "hello springboot";
}
}
测试结果:
二、spring boot跳转到指定页面
在创建springboot项目的时候,勾选这个选项、模板渲染器。里边有定义好的指定页面路径的配置
如果在创建项目的时候没有勾选这个选项、也可以后来通过添加maven依赖的形式
这个很重要、关系到页面能否跳转成功。(我当时就是不知道有这个玩意,页面老是出错、烦死个人)
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
未添加thyme leaf 依赖
添加了thyme leaf依赖
目录结构就是这个样子的、一样的
HelloSpringBoot.java
package com.zheng.Controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
public class HelloSpringBoot {
@RequestMapping("/hello")
public String hello(){
return "index";
}
}
简单的前端页面 index.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>首页</title>
</head>
<body>
这边是跳转后的地址
</body>
</html>
测试结果
三、怎样将后台的信息传递到前台
package com.zheng.Controller;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
public class HelloSpringBoot {
@RequestMapping("/hello")
public String hello(Model model){
model.addAttribute("info","hello springboot");
return "index";
}
}
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="UTF-8">
<title>首页</title>
</head>
<body>
这边是跳转后的地址<br>
接受的信息:<p th:text="${info}"></p>
</body>
</html>
四、 @Controller和@RestController的区别?
知识点:@RestController注解相当于@ResponseBody + @Controller合在一起的作用。
-
如果只是使用@RestController注解Controller,则Controller中的方法无法返回jsp页面,或者html,配置的视图解析器 InternalResourceViewResolver不起作用,返回的内容就是Return 里的内容。
-
如果需要返回到指定页面,则需要用 @Controller配合视图解析器InternalResourceViewResolver才行。
如果需要返回JSON,XML或自定义mediaType内容到页面,则需要在对应的方法上加上@ResponseBody注解。
5、重点提示(如果创建的项目没有pom文件)
在创建项目的时候、type要选择Maven选项、默认是Gradle
相关文章
- SpringBoot_项目打包部署
- SpringBoot_整合Thymeleaff模板引擎
- springboot---->springboot中的类型转换(一)
- SpringBoot项目war包部署
- Springboot项目中自定义的实现WebMvcConfigurerAdapter 的类中的重写方法addViewControllers 无法映射,映射后报错:Whitelabel Error Page (springboot关于addViewController无法映射页面问题)
- springboot的项目部署:jar包和war包
- springboot 访问静态资源二 (创建web项目)
- Java:SpringBoot统一异常处理和404异常
- ******可用 SpringBoot 项目打包分开lib,配置和资源文件
- React+SpringBoot项目部署
- SpringBoot项目从Git拉取代码并完成编译打包启动的sh自动脚本
- SpringBoot整合SpringKafka实现生产者史上最简代码实现
- springboot+mysql+mybatis+Mybatis-Generator+druid 项目demo
- 【idea】用IDEA把自己的工具类打jar包,并引入到springboot项目中
- springboot 使用freemarker自定义标签
- 【Springboot项目中pom文件parent报错的解决方法】~ ~ 详细教程
- 【项目精选】SpringBoot+jsp实现水果商城系统(含源码+数据库+文档)
- SpringBoot+Tess4j实现牛逼的OCR识别工具
- SpringBoot 整合SpringSecurity示例实现前后分离权限注解+JWT登录认证
- 使用idea创建springboot的maven项目
- 【SpringBoot项目实战】瑞吉外卖优化篇
- Springboot项目修改html后不需要重启---springboot项目的热部署
- springboot项目中获取配置文件(获取根目录及资源路径下文件)
- SpringBoot项目通过@ControllerAdvice实现上传文件大小限制,全局异常无法捕获的问题以及nginx请求报文过大
- springboot全局异常处理中文乱码
- SpringBoot 使用Logback日志框架
- IDEA中SpringBoot项目快速创建单元测试
- linux服务器上部署springboot项目,并让他持续运行到后台
- springboot前端向后端传递复杂对象如list set的接收问题