2.4 开发自己的Spring Boot项目

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下开始算起

效果呈现:

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_48954087/article/details/121370007
今日推荐