春ブーツ:404エラーコントローラーを使用してJSPを呼び出すとき

Indrajith Ekanayake:

春のツール・スイートを使用して私のプロジェクトを実行しているとき、私は、次のエラーを取得しています

ここでは、画像の説明を入力します。

しかし、場合には私の問題は、私はすでにに適切な依存関係を追加したあるpom.XMLファイル。だから何が問題だろうか?

マイpom.XMLファイルの依存関係次のように、

        <dependency>
            <groupId>org.apache.tomcat.embed</groupId>
            <artifactId>tomcat-embed-jasper</artifactId>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-tomcat</artifactId>
            <version>2.1.3.RELEASE</version>
        </dependency>

私のコントローラApplicationController.java次のように、

package com.example.demo.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

@Controller
public class ApplicationController {

    @RequestMapping("/")
    public String Welcome() {
        return "welcomepage";
    }
}

マイヴィーヴは、src/main/webapp/WEB-INF/view/welcomepage.jspあなたは下のツリービューを見ることができ、

ここでは、画像の説明を入力します。

そして、私はすでに変更されているapplication.propertiesだけでなく、ファイルを。しかし、それでもまだ、私が間違っているかを理解することはできません。

私のapplication.propertiesファイルは以下のように、

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

私はちょうど私にハローを印刷しwelcomepage.jsp

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
hello
</body>
</html>
Mikita Berazouski:

あなたのようなルックスは非常に密接なアプリケーションとなりました。あなたのコード内の主な問題はである<scope>provided</scope>あなたのジャスパーの依存関係のため。あなたが通過日食IDEからコードを実行しているようにも見えますmain方法。

長い話を短く:

あなたはを通して、あなたのアプリケーションを実行したい場合mainには方法MyApplication.javaそしてちょうどスコープを削除providedジャスパーため。

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

あなたは、コンソールから今持っているようにそれとも、その状態で正確にアプリケーションを実行することができます。

mvn clean spring-boot:run

しかし、私はあなたがIDEから、コンソールから、あなたのコードを実行することができることができるように、この範囲を削除することをお勧め。以下のようなそのルックスに加えてspring-boot-starter-tomcat、依存関係に冗長は(それは内で利用可能でなければなりませんspring-boot-starter-web)。一言で言えばポンポンファイル以下を使用してみてください。

<?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>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.1.3.RELEASE</version>
        <relativePath/>
    </parent>
    <groupId>com.example</groupId>
    <artifactId>demo</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>demo</name>
    <description>Demo project for Spring Boot</description>

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

    <dependencies>
        <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>
        </dependency>
    </dependencies>
</project>

私の答えはあなたを助けることを願っています。

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=136476&siteId=1