【问题标题】:Cannot find JSP file in Spring Boot在 Spring Boot 中找不到 JSP 文件
【发布时间】:2020-07-21 20:11:49
【问题描述】:

我试图将我的 JSP 文件连接到我的 Spring Boot 但它给了我一个 Whitelabel 错误说:Whitelabel Error Page 此应用程序没有显式映射 /error,因此您将其视为后备。

2020 年 7 月 21 日星期二 21:05:45 BST 出现意外错误(类型=未找到,状态=404)。 JSP 文件 [/WEB-INF/jsp/login.jsp] 未找到

我的应用程序属性如下所示:

spring.mvc.view.prefix=/WEB-INF/jsp/
spring.mvc.view.suffix=.jsp
logging.level.org.springframework.web = DEBUG

这是我的代码编辑器和文件顺序的屏幕截图:

如果我将鼠标悬停在返回“登录”上时有帮助,它会说无法解析 MVC 视图“登录”

这是我的 pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.3.1.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>com.javaFirstSpringBoot</groupId>
    <artifactId>spring-boot-first-web-application</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>war</packaging>
    <name>spring-boot-first-web-application</name>
    <description>Demo project for Spring Boot</description>

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

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

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-devtools</artifactId>
            <scope>runtime</scope>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
            <exclusions>
                <exclusion>
                    <groupId>org.junit.vintage</groupId>
                    <artifactId>junit-vintage-engine</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.apache.tomcat.embed</groupId>
            <artifactId>tomcat-embed-jasper</artifactId>
            <scope>provided</scope>
        </dependency>
    </dependencies>

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

</project>

任何关于为什么会很棒或我接下来应该做什么的帮助,

谢谢:)

【问题讨论】:

  • 您是否尝试替换 spring.view.prefix: /WEB-INF/pages/ spring.view.suffix: .jsp 上的属性?您是否在 pom.xml 中声明了 WAR 或 JAR 应用程序?
  • 我声明了一个 JAR,并且我的属性声明正确
  • 尝试将pom.xml中的jar改为war并重新加载maven。
  • 您好,出现了同样的错误,我不知道出了什么问题
  • 你是否在 pom.xml 中声明了 tomcat-embed-jasper 作为依赖项?

标签: java spring spring-boot jsp web


【解决方案1】:

hhmmm,... 首先,这是一个非常简单的“逐步”说明。 german manual 或许有帮助。

我猜是您的应用程序有一个名称,而您在 url 中忘记了它? localhost:8080/appName/login

也许@RequestMapping Annotation 还需要RequestMapping 类型的GET?

【讨论】:

  • 嗨,感谢您的建议,我不认为它的 url 因为我正在遵循教程,他们只有 localhost:8080/login 并且它有效,我用我的应用程序名称尝试了它,但它出现了未找到仅 404 的不同错误
【解决方案2】:

这可以通过创建如下所示的“webapp”文件夹来解决。 src/main/webapp/WEB-INF/jsp

【讨论】:

    猜你喜欢
    • 2019-04-17
    • 1970-01-01
    • 1970-01-01
    • 2020-05-30
    • 2016-11-14
    • 1970-01-01
    • 2018-01-22
    • 2017-06-06
    • 2020-03-08
    相关资源
    最近更新 更多