spring не может просматривать файлы jsp

#java #spring #spring-boot #jsp

#java #весна #spring-boot #jsp

Вопрос:

У меня есть два контроллера, один из которых ведет к файлам jsp, а другой — к обычному методу. Я могу получить доступ к методу с другим контроллером, но не к методу для контроллера jsp. Я следую правильному расположению файлов и папок, как это было предложено официальным документом Spring . Я использую Visual Studio Code для разработки.

всякий раз, когда я пытаюсь просмотреть файлы jsp в своем браузере, я получаю приведенную ниже ошибку.

Ошибка

Ниже приведена конфигурация моего файла application.properties

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

Я добавил нижеприведенную зависимость, как было предложено

 <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>
 <dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.5</version>
<scope>provided</scope>
</dependency>
 

Ниже приведено изображение макета файлов и папок.

планировка

JspController.java

  package com.jairini.demojairini.controllers;
 import org.springframework.stereotype.Controller;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.RequestMapping;

@Controller
public class JspController {
  
  @RequestMapping(value ="/home")
  public String toHomepageJsp(){
    return "homepage";
}

  @GetMapping("/view")
  public String toIndexJsp() {
    return "index";
}
}
 

HomeController.java

  package com.jairini.demojairini.controllers;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.RestController;

 @RestController
 public class HomeController {

 @GetMapping("/")
  public String home(){
    return "mambo vipi";
}

}
 

index.jsp

 <!DOCTYPE html>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<html>
<body>
<div>
    <div>
        <h1>Habari gani from JSP</h1>
        
    </div>
</div>
</body>
</html>
 

homepage.jsp

 <!DOCTYPE html>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<html>
 <body>
<div>
    <div>
        <h1>Nzuri sana from JSP</h1>
        
    </div>
</div>
</body>
</html>
 

Обновления

Application.java

   package com.jairini.demojairini;
  import org.springframework.boot.SpringApplication;
  import org.springframework.boot.autoconfigure.SpringBootApplication;

  @SpringBootApplication
  public class Application {

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

 }
 

Я потратил часы на множество руководств и безуспешно сообщал о вышеупомянутой ошибке. Я новичок в веб-приложении.

Комментарии:

1. Вы также следили за документом, касающимся создания war, а не jar, и имели надлежащие SpringBootServletInitializer расширения для начальной загрузки. Если вы не будете вести войну, это ничего не даст.

2. @M.Deinum честно говоря, я этого не делал, не могли бы вы дать мне техническую подсказку по этому поводу. Также спасибо за быстрый ответ.

3. @M.Deinum спасибо. Я просмотрел документ о создании war и jar в spring, как вы предложили, и я обнаружил, что поступаю совершенно неправильно. Я провел почти день, не замечая этого . Еще раз спасибо.