Jsp-файл Spring загрузки не найден

Jsp-файл Spring загрузки не найден

Spring boot не может найти файл jsp в приложении. Я не знаю, почему он не может найти файл jsp по заданному пути. Не могли бы вы сообщить мне, как решить эту проблему?

SpringBootHelloWorldApplication.java

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
    @SpringBootApplication
    public class SpringBootHelloWorldApplication  {

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

WelcomeController.java

@Controller
public class WelcomeController {

    @RequestMapping("/hello")
    public String getHello(Model model){        
        model.addAttribute("message", "welcome to the jsp page");
        return "welcome";
    }
}

application.properties

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

welcome.jsp

<%@ taglib prefix = "c" uri = "http://java.sun.com/jsp/jstl/core"%>

<html lang = "en">

<body>Message: ${message}
</body>
</html>

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 http://maven.apache.org/maven-v4_0_0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.springboot.application</groupId>
    <artifactId>springbootmvc2</artifactId>
    <packaging>war</packaging>
    <version>0.0.1-SNAPSHOT</version>
    <name>springbootmvc2 Maven Webapp</name>
    <url>http://maven.apache.org</url>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>1.5.9.RELEASE</version>
    </parent>
    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <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-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-tomcat</artifactId>
        </dependency>
        <dependency>
            <groupId>org.apache.tomcat.embed</groupId>
            <artifactId>tomcat-embed-jasper</artifactId>
        </dependency>
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>jstl</artifactId>
        </dependency>
    </dependencies>        
</project>

где находится welcome.jsp? также приложите снимок экрана со структурой каталогов.

Alien 14.11.2018 05:29

Я прикрепил структуру каталогов

user3094331 14.11.2018 05:32

Можете ли вы изменить прицел spring-boot-starter-tomcat на provided вместо стандартного прицела compile и проверить?

N00b Pr0grammer 14.11.2018 05:38

Я изменил на предоставленный. Я получаю ошибку, указанную ниже. Страница ошибки Whitelabel В этом приложении нет явного сопоставления для / error, поэтому вы рассматриваете это как откат. Среда, 14 ноября, 10:12:15 IST 2018 Произошла непредвиденная ошибка (тип = не найдено, статус = 404). Нет доступных сообщений

user3094331 14.11.2018 05:42

@ user3094331 Вызывается ли ваш контроллер, вы проверили это, какова точная ошибка, а также какие аннотации вы добавили к классу SpringBootHelloWorldApplication, можете ли вы опубликовать этот класс полностью.

Ankur Singhal 14.11.2018 05:42

Я отправил пройденный курс

user3094331 14.11.2018 05:46

оба указывают на версию 8.5.23

user3094331 14.11.2018 06:31

У меня все работает нормально, я только что добавил аннотацию @SpringBootApplication в класс SpringBootHelloWorldApplication. По какому URL-адресу вы вызываете в браузере: http://localhost:8080/hello, верно?

Romain Warnan 14.11.2018 07:55

да, я использую только этот URL. Вы изменили объем на предоставленный?

user3094331 14.11.2018 08:19

Я пробовал с <scope>provided</scope> и без, и он работал в обоих случаях. Это действительно странно. Не могли бы вы выложить журнал ошибок?

Romain Warnan 14.11.2018 08:42
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
1
10
1 124
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вам не хватает аннотации @SpringBootApplication для основного класса.

Вот рабочий пример: Spring-Boot-Jsp-Demo

@VarunJain, вы можете увидеть время моего ответа и его ответ на редактирование ... Я опубликовал это после того, как он отредактировал вопрос.

Alien 14.11.2018 13:48

Другие вопросы по теме