其他分享
首页 > 其他分享> > spring boot2.1.1整合jsp 打成jar包以及404问题解决

spring boot2.1.1整合jsp 打成jar包以及404问题解决

作者:互联网

1 导入依赖

 <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.1.1.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>com.wn.demo</groupId>
    <artifactId>spring-boot-jsp2</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>spring-boot-jsp2</name>
    <description>Demo project for Spring Boot</description>

    <properties>
        <java.version>1.8</java.version>
    </properties>

    <dependencies>
    	<!-- web启动器 -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <!-- spring boot 内置tomcat jsp支持 -->
        <dependency>
            <groupId>org.apache.tomcat.embed</groupId>
            <artifactId>tomcat-embed-jasper</artifactId>
        </dependency>
        <!--jsp页面使用jstl标签-->
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>jstl</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

2 创建webapp目录

在src/main/目录下创建webapp/WEB-INF/jsp目录,jsp目录下存放jsp文件,如图:
项目目录结构

3 编写application.properties/yml文件

spring.mvc.view.prefix=/WEB-INF/jsp/
spring.mvc.view.suffix=.jsp

4 创建测试Controller和jsp文件

创建Controller类:

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;

import java.util.HashMap;
import java.util.Map;

@Controller
public class StudentController {

    @GetMapping("/student")
    public String studentDemo(Model model) {
        // 构造数据
        Map<String, Object> studnet = new HashMap<>();
        studnet.put("id", 1001);
        studnet.put("name", "曹操");
        studnet.put("sex", true);
        // 将数据加入Model中
        model.addAttribute("student", studnet);
        // 返回视图路径 prefix:/WEB-INF/jsp/  suffix:.jsp
        return "demo";
    }
}

在webapp/WEB-INF/jsp目录下创建demo.jsp文件:

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<table class="">
    <tr>
        <td>学号</td>
        <td>姓名</td>
        <td>性别</td>
    </tr>
    <tr class="text-info">
        <td>${student.id}</td>
        <td>${student.name}</td>
        <td>${student.sex = true ? '男' : '女'}</td>
    </tr>
</table>
</body>
</html>

5 404问题

如果你创建的是Module而不是项目,在使用spring boot核心类右键run启动后,访问回出现404,提示找不到对应的jsp资源(项目不会出现这个情况),如图:

右键核心类启动

提示404错误:

404

解决方式:使用maven >>spring-boot:run启动:

maven启动

标签:boot2.1,spring,boot,springframework,jar,studnet,jsp,org
来源: https://blog.csdn.net/qq_43352519/article/details/100602640