Spring MVC的视图解析器的作用主要就是定位视图的,也就是当控制器只是返回一个逻辑名称的时候,是没有办法直接找到对应视图的,这就需要视图解析器来解析了
在Maven的pom.xml中加入JSP和JSTL的依赖包
<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>
GroupId和ArtifactId被统称为“坐标”是为了保证项目唯一性而提出的
GroupID是项目组织唯一的知标识符,实际对应JAVA的包的结构
ArtifactID就是项目中唯一的标识符,实际对应项目的名称,就属是项目根目录的名称
Maven中的scope标签:
定义视图前后缀
server.port=8090
spring.mvc.view.prefix=/WEB-INF/jsp/
spring.mvc.view.suffix=.jsp
前缀和后缀之间缺少了文件名称,在SpringMVC机制中,这个名称是由控制器给出的
控制器
@Controller
public class IndexController {
@RequestMapping("/index")
public String index() {
return "index";
}
}
``
这里定义了一个映射为/index的路径,然后方法返回了"index",这样它就与之前的前后缀结合起来找对应的jsp文件
```html
index.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<title>Spring Boot 视图解析器</title>
</head>
<body>
<h1>测试视图解析器</h1>
</body>
</html>
启动类
@SpringBootApplication
public class Chapter2Application {
public static void main(String[] args) {
SpringApplication.run(Chapter2Application.class, args);
}
}
@SpringBootApplication标志着这是一个启动类
出现的问题:
一、引入依赖失败
问题解决,在maven那刷新一下就好了
疑惑:
配置的视图解析器的前缀是从哪里开始算的
webapp是引入WEB场景后直接创建的,应该就是从webapp下开始算起