峰哥说技术系列-5 Sring Boot整合视图之JSPSpring Boot整合jsp视图
![f023db27f3cc3abd458ec98d8d10db0f.png](https://i-blog.csdnimg.cn/blog_migrate/6aa714d93ca130bb74251e1fb73e717c.jpeg)
《峰哥说专栏》于2月26日正式开启,不管你是学生、还是职场人亦或者仅仅是喜欢互联网技术的人,都可以关注此专栏,大咖为您解说技术,也同样欢迎您来与我们一同探讨,用代码,改变世界,我们是认真的!
哈喽 大家好!《峰哥说技术》又来啦!
今日份主题:Sring Boot整合视图之JSPSpring Boot整合jsp视图
一般来说我们很少推荐大家在Spring boot中使用jsp作为模板,但是很多的同学可能会想了解,所以峰哥这里也给大家做一个简单的介绍,它不复杂。只是需要我们添加手动添加2个依赖,同时要编写Java配置类,自定义视图解析器。对于jsp的视图需要我们放到webapps下面,需要手工补全。给大家讲解一下。
01.创建一个Spring boot工程。手动添加2个依赖。
![02854eb531a6b2384dbf170f95b1219e.png](https://i-blog.csdnimg.cn/blog_migrate/71a26c9f6c50eabd0c081560bcdd20bb.jpeg)
![ad70adaf930bb477db55ef9c6c9da773.png](https://i-blog.csdnimg.cn/blog_migrate/7c9f70a5fc43839e2e2f45b6969b8123.jpeg)
![aab80504d863e16896f48d6920597892.png](https://i-blog.csdnimg.cn/blog_migrate/39ad1c8813752168d6c45508e340924d.jpeg)
在pom.xml文件中添加如下的2个依赖。
org.springframework.boot
spring-boot-starter-web
org.apache.tomcat.embed
tomcat-embed-jasper
jstl
jstl
1.2
02.创建 config包,编写Java配置类MvcConfig,它必须实现接口WebMvcConfigurer。同时实现一个方法。
@Configuration
public class WebMvcConfig implements WebMvcConfigurer {
@Override
public void configureViewResolvers(ViewResolverRegistry registry) {
registry.jsp("/jsp/",".jsp");
}
}
03
这里的@Configuration就是采用Java的方法做配置的注解,相等于我们原来在applicationContext.xml中进行配置一样的道理。这里的configureViewResolvers方法很显然就是配置我们的视图解析器,里面代码就是配置前缀和后缀。很显然我们必须创建一个文件夹jsp,它应该放在webapp文件夹下面。
04.补全webapp文件夹和jsp文件夹。补全的方法如下图所示:
![04d11a4ce1ca41c8a387d850d14cc70e.png](https://i-blog.csdnimg.cn/blog_migrate/821c8e78b4845b96ac7a91ec5d4574ec.jpeg)
![5d6c346d2b4f9f924359868465e78eca.png](https://i-blog.csdnimg.cn/blog_migrate/297701ae056f7a763cd007eeddbbc783.jpeg)
![a7800067f8c5b73b2ff1d1c86126daab.png](https://i-blog.csdnimg.cn/blog_migrate/52065d582addcc9c77d017bad1fbfbd0.jpeg)
![cbcf9f39b9cb5bcd0db61f0b99be8a68.png](https://i-blog.csdnimg.cn/blog_migrate/a06ac35b26214e9a631a45e7234d752e.jpeg)
在webapp下面创建jsp文件夹
![d8a47815444b1e8f714fd3a13af2cfd8.png](https://i-blog.csdnimg.cn/blog_migrate/3b305a5ca7e29d9d86e4400df8efa9b6.jpeg)
05.编写创建包,编写Book实体类:
package com.java.chapter02jsp.entity;
public class Book {
private Integer id;
private String name;
private String author;
public Book() {
}
public Book(Integer id, String name, String author) {
this.id = id;
this.name = name;
this.author = author;
}
//getter和setter省略...
}
06.编写IndexController,编写代码:
package com.java.chapter02jsp.controller;
import com.java.chapter02jsp.entity.Book;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
import java.util.ArrayList;
import java.util.List;
@Controller
public class IndexController {
@GetMapping("/index")
public String index(Model model){
List list=new ArrayList<>();
Book book1=new Book(1,"罗贯中","三国演义");
Book book2=new Book(2,"曹雪芹","红楼梦");
Book book3=new Book(3,"吴承恩","西游记");
Book book4=new Book(4,"施耐庵","水浒传");
list.add(book1);
list.add(book2);
list.add(book3);
list.add(book4);
model.addAttribute("books",list);
return "index";
}
}
07.微配图
编写index.jsp页面视图,放在jsp文件夹下面。
Title图书编号 | 图书名称 | 图书作者 |
${book.id} | ${book.name} | ${book.author} |
08.微配图
测试,在浏览器中输入http://localhost:8080/index
![310916d234dfcda94aa109528c205b3f.png](https://i-blog.csdnimg.cn/blog_migrate/50e1b40bf73fe10e96cf766065c048dd.jpeg)
需要说明的是,我们这里并没有配置web.xml文件,在Spring boot中对jsp的支持是不需要该文件的,这里特别说明一下。
截止到今天峰哥带着大家把所有的视图都整合了一遍。对于一些主流的视图该怎么整合,相信各位小伙伴已经有了清楚的认识了。希望大家多写两遍。理清一下思路。Spring Boot里面关于视图的整合就这些,真的不难。
经过峰哥耐心的解说,估计大家对这个问题一定有了全新的认识。大家在平时的学习中如果有类似的疑问,都可以提出来,在后台留言即可。峰哥看到后,觉得有价值,会以文章的形式专门说明。