一、第一个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注解。
浙公网安备 33010602011771号