一.Spring MVC视图解析器
Spring MVC 的视图解析器作用是定位视图,也就是当我们开发的控制器只是返回一个逻辑名称的时候,是没有办法找到对应的视图的,这就需要视图解析器进行解析器进行视图解析了。在实际的开发中,运用的最多的视图之一就是JSP。
其实采用JSP已经算是很繁琐的了,直接用模板引擎或者Vue更好,后期将会做主要介绍。
二.新增JSP和JSTL的maven依赖配置
<dependency> <groupId>org.apache.tomcat.embed</groupId> <artifactId>tomcat-embed-jasper</artifactId> <scope>provided</scope> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>jstl</artifactId> <scope>provided</scope> </dependency>
导入成功即可。
三.配置视图前后缀
视图前后缀由我们的Springboot约定的,它会通过找到文件夹/WEB-INF/webapp/jsp/
下的.jsp文件,我们的文件名可以自定义,通过一个控制器进行自定义和跳转。
我们可以自定义端口号,jsp文件存放位置。
server.port=8080 spring.mvc.view.prefix=/WEB-INF/webapp/jsp/ spring.mvc.view.suffix=.jsp
PS:
我们的jsp
和webapp
文件目录结构存放是有讲究的,我一开始弄错了,所以找了半天bug。
目录结构如图3-1:
我们的webapp
文件夹和resources
文件同级目录的,其中创建webapp
的过程如下:
在这里命名好我们的weapp
名称:
四.开发控制器
我们开发控制器的目的是返回一个逻辑名称index,与之前配置的前后缀结合起来找到我们对应的index.jsp文件。而访问这个控制器是通过映射/index
的路径进行访问的。
package com.example.demo; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; @Controller //开发控制器 public class IndexController { @RequestMapping("/index") public String index(){ return "index"; } }
五.开发视图
写进我们的index.jsp文件中:
<%-- Created by IntelliJ IDEA. User: linghu Date: 2020/5/23 Time: 15:02 To change this template use File | Settings | File Templates. --%> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>SpringBoot 视图解析器</title> </head> <body> <h1>测试视图解析器</h1> </body> </html>
这样我们就完成了一个简单的控制器,并且让视图解析器找到视图的功能。
六.效果