找不到 JSP 文件可能是 spring 中的一个错误吗

2023-12-10

我在我的应用程序中遵循了 Spring Boot 的官方文件和包结构。但我仍然收到白标签页面错误。大多数答案和建议都不能解决这个问题。

这可能是 Spring Boot 中的一个错误吗?

Whitelabel Error Page

下面是我放置代码的方式以及文件和文件夹的排列结构。

应用程序.java

@SpringBootApplication
 public class Application {

  public static void main(String[] args) {
    SpringApplication.run(Application.class, args);
    }

 }

控制器

 @Controller
 public class UserController  { 
       @RequestMapping("/")
       public String index(HttpServletRequest request){
       request.setAttribute("mode", "MODE_HOME");
       return  "homepage";
 }}

主页.jsp

 <body>
 <c:choose>
 <c:when test="${mode=='MODE_HOME'}">
 <h1>Mambo, This is home page </h1>
 </c:when> </c:choose>
 </body>

应用程序属性

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

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.4.1</version>
  <relativePath/> <!-- lookup parent from repository -->
  </parent>
  <groupId>com.samaritan</groupId>
  <artifactId>samaritanweb</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>war</packaging>
  <name>samaritanweb</name>
  <description>Demo project for Spring Boot</description>

  <properties>
    <java.version>11</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.projectlombok</groupId>
  <artifactId>lombok</artifactId>
  <optional>true</optional>
  </dependency>
  <dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-tomcat</artifactId>
  <scope>provided</scope>
  </dependency>
  <dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-test</artifactId>
  <scope>test</scope>
  </dependency>

  <dependency>
  <groupId>org.apache.tomcat.embed</groupId>
  <artifactId>tomcat-embed-jasper</artifactId>  
  <scope>provided</scope>     
  </dependency>

  <dependency>
  <groupId>jstl</groupId>
  <artifactId>jstl</artifactId>
  <version>1.2</version>
  </dependency>
  </dependencies>

  <build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
            <configuration>
                <excludes>
                    <exclude>
                        <groupId>org.projectlombok</groupId>
                        <artifactId>lombok</artifactId>
                    </exclude>
                </excludes>
            </configuration>
        </plugin>
    </plugins>
    </build>

   </project>

Structure Layout

NB:使用 Visual Studio 代码版本 1.52.1


尝试像这样改变你的主类

@SpringBootApplication
public class Application extends SpringBootServletInitializer {

    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
        return builder.sources(Application.class);
    }

    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }

}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

找不到 JSP 文件可能是 spring 中的一个错误吗 的相关文章

随机推荐