JSP и Spring Boot - PullRequest
       6

JSP и Spring Boot

0 голосов
/ 23 мая 2018

Я пытаюсь создать простую страницу приветствия (в jsp) с помощью Spring Boot.

Ниже приведена структура проекта

enter image description here

Приложение

@SpringBootApplication
public class Application {

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

    public SpringApplicationBuilder configure(SpringApplicationBuilder application) {
        return application.sources(Application.class);
    }

}

APIController

@Controller
public class APIController {

    @RequestMapping("/")
    public String home() {
        System.out.println("testing");
        return "welcome";
    }
}

Когда я получаю доступ к http://localhost:8080/, я получаю ошибку ниже

Это приложение не имеет явного сопоставления для / error, поэтому вы видите это как запасной вариант.

Ср. 23 мая 15:31:51 MYT 2018 Произошла непредвиденная ошибка (тип = Не найдено, статус= 404).Нет доступных сообщений

По curl

{"timestamp":1527061233703,"status":404,"error":"Not Found","message":"No message available","path":"/"}

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/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <artifactId>spring-boot-web-jsp</artifactId>
    <packaging>war</packaging>
    <name>Spring Boot Web JSP Example</name>
    <description>Spring Boot Web JSP Example</description>

    <version>1.0</version>

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>1.4.2.RELEASE</version>
    </parent>

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

    <dependencies>

        <!-- This is a web application -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

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

        <!-- Optional, test for static content, bootstrap CSS-->
        <dependency>
            <groupId>org.webjars</groupId>
            <artifactId>bootstrap</artifactId>
            <version>3.3.7</version>
        </dependency>

    </dependencies>
    <build>
        <plugins>
            <!-- Package as an executable jar/war -->
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>
</project>

Ответы [ 4 ]

0 голосов
/ 23 мая 2018

Лучше использовать thymeleaf в вашем проекте весенней загрузки и добавить следующую зависимость
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId> </dependency>

В каталоге \ src \ main \ resources \ template , создайте простой index.html file

0 голосов
/ 23 мая 2018

В каталоге \src\main\resources\static, создайте простой index.html файл

<html>
    <head>Hello, Bich Van</head>
    <body>
        <h3>Today is a rainny day</h3>
    </body>
</html>

Затем попробуйте снова на http://localhost:8080

Если вам не нравятся статические HTML-файлы, вы можетеиспользовать JSP, но нужно немного усложнить.Вам необходимо объявить JSP View resolver в конфигурации Spring MVC.

Справочный документ: https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-developing-web-applications.html#boot-features-spring-mvc-welcome-page

0 голосов
/ 23 мая 2018

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

spring.mvc.view.prefix: /WEB-INF/jsp/
spring.mvc.view.suffix: .jsp
0 голосов
/ 23 мая 2018

Убедитесь, что в списке зависимостей есть jasper и jstl:

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

Вот рабочий стартовый проект - https://github.com/spring-projects/spring-boot/tree/master/spring-boot-samples/spring-boot-sample-web-jsp

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...