Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在spring中找不到JSP文件是错误吗_Java_Spring_Spring Boot_Spring Mvc_Jsp - Fatal编程技术网

Java 在spring中找不到JSP文件是错误吗

Java 在spring中找不到JSP文件是错误吗,java,spring,spring-boot,spring-mvc,jsp,Java,Spring,Spring Boot,Spring Mvc,Jsp,在我的应用程序中,我遵循了SpringBoot的官方文件和包结构。但我仍然得到一个白标签页面错误。大多数答案和建议都不能解决这个问题 这可能是spring boot中的错误吗 下面是我如何放置代码以及如何排列文件和文件夹的结构 Application.java @SpringBootApplication public class Application { public static void main(String[] args) { SpringApplication.r

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

这可能是spring boot中的错误吗

下面是我如何放置代码以及如何排列文件和文件夹的结构

Application.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";
 }}
homepage.jsp

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

 spring.mvc.view.prefix=/WEB-INF/view/
 spring.mvc.view.suffix=.jsp
  <?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>

4.0.0
org.springframework.boot


NB:使用Visual Studio代码版本1.52.1

您需要指定控制器要接收的请求(GET、POST等)


您需要指定控制器要接收的请求(GET、POST等)


试着像这样改变你的主课

@springboot应用程序
公共类应用程序扩展了SpringBootServletInitializer{
@凌驾
受保护的SpringApplicationBuilder配置(SpringApplicationBuilder){
返回生成器.sources(Application.class);
}
公共静态void main(字符串[]args){
SpringApplication.run(Application.class,args);
}
}

尝试像这样更改主类

@springboot应用程序
公共类应用程序扩展了SpringBootServletInitializer{
@凌驾
受保护的SpringApplicationBuilder配置(SpringApplicationBuilder){
返回生成器.sources(Application.class);
}
公共静态void main(字符串[]args){
SpringApplication.run(Application.class,args);
}
}


任何事情都是可能的,但除非你有明确的证据证明它是Spring bug,否则最好假设它不是Spring bug。Sir@StephenC你是wright,只是我在不同的帖子中尝试用几乎所有的答案和建议来解决它,但都没有成功。有点stuck@StephenC想象一下,你可能有一个项目工作正常,但在重新启动系统并再次使用应用程序后,你会看到白色标签错误页面。任何事情都是可能的,但明智的做法是假设它不是Spring bug,除非你有明确的证据证明它是。Sir@StephenC you's wright,只是我尝试解决了这个问题,在不同的帖子里,几乎所有的答案和建议都没有成功。有点stuck@StephenC想象一下,您可能有一个项目工作正常,但在重新启动系统并再次使用应用程序后,您会看到白色标签错误页面尝试了上述两个选项,但相同的错误尝试了上述两个选项,但相同的错误我已尝试按照您的建议更改主类,但仍然是相同的错误复制你的例子,它的工作。但是您的pom.xml中也有一个错误:将最后一个标记替换为我这边的类似标记,它过去工作正常,但在我重新启动PC并使用午餐后,应用程序会弹出错误窗口。抱歉,输入错误。已更改。这很奇怪。您是否检查处理请求的流程(使用jps或ps aux)?也许还有另一个tomcat实例,它的旧版本应用程序是从你的电脑开始的?尝试在application.properties中添加server.port=9999(例如),并检查localhost:9999。此外,您还可以清理maven本地存储库如何使用VSCode清理maven本地存储库?我已尝试按照您的建议更改main类,但仍然存在相同的错误。我复制了您的示例,它可以正常工作。但是您的pom.xml中也有一个错误:将最后一个标记替换为我这边的类似标记,它过去工作正常,但在我重新启动PC并使用午餐后,应用程序会弹出错误窗口。抱歉,输入错误。已更改。这很奇怪。您是否检查处理请求的流程(使用jps或ps aux)?也许还有另一个tomcat实例,它的旧版本应用程序是从你的电脑开始的?尝试在application.properties中添加server.port=9999(例如),并检查localhost:9999。您还可以清理maven本地存储库如何使用VSCode清理maven本地存储库?
@Controller
 public class UserController  { 
       @RequestMapping("/", method = RequestMethod.GET)
       public String index(HttpServletRequest request){
       request.setAttribute("mode", "MODE_HOME");
       return  "homepage";
 }}
 @Controller
 public class UserController  { 
       @GetMapping("/")
       public String index(HttpServletRequest request){
       request.setAttribute("mode", "MODE_HOME");
       return  "homepage";
 }}