Spring boot: JSP nicht gefunden (404)

Ich versuche, erstellen Sie ein neues Projekt mit spring boot.
Aber ich bin immer Error unten beschrieben. Ich habe meinen code.

Fehler

HTTP-FEHLER 404-Seite nicht gefunden

Hier ist der link von meinem Projekt-Struktur. Struktur Bild-link

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>

    <groupId>com.wc</groupId>
    <artifactId>wc</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>jar</packaging>

    <name>wc</name>
    <description>Work configurator project</description>

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>1.5.9.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </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-data-jpa</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-security</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework.security</groupId>
            <artifactId>spring-security-test</artifactId>
            <scope>test</scope>
        </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>

    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>


</project>`

login.jsp enthält nur hello

LoginController.class

@Controller
public class LoginController {
@RequestMapping(value = {"/","/login"},method = RequestMethod.GET)
public ModelAndView getLoginPage(){
    ModelAndView modelAndView = new ModelAndView();
    modelAndView.setViewName("login");
    return modelAndView;
    }
}

WcApplication.class

@SpringBootApplication
public class WcApplication {

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

Warum bin ich immer diese und wie dieses problem zu lösen? Dank

  • Haben Sie Hinzugefügt jede ViewResolver?
  • habe thit zur Anwendung.Eigenschaften : „spring.mvc.Blick.prefix= “ /WEB-INF/jsp/ spring.mvc.Blick.suffix=.jsp‘ sry, vergessen das in Frage
  • versuchen Sie sich zu öffnen sich die logs mit debug-Schwelle, weil ich denke, dass müssen Sie möglicherweise eine andere Abhängigkeit , denn es gibt ein problem mit dem embedded-tomcat jar, und er nicht kompilieren der jsp zur Laufzeit , so müssen weitere , check mkyong
  • hast du es funktioniert? wenn ja, haben Sie etwas dagegen, zu aktualisieren, was es behoben?
InformationsquelleAutor Ivan | 2018-01-25



One Reply
  1. 0

    Ich glaube, Sie haben verpasst ViewResolver configuration-Klasse.

    @Configuration
    @EnableWebMvc
    public class MvcConfiguration extends WebMvcConfigurerAdapter
    {
        @Override
        public void configureViewResolvers(ViewResolverRegistry registry) {
            InternalResourceViewResolver resolver = new InternalResourceViewResolver();
            resolver.setPrefix("/WEB-INF/jsp/");
            resolver.setSuffix(".jsp");
            registry.viewResolver(resolver);
        }
    }

    Versuchen über die Konfiguration und sollte es login.jsp Seite.


    Update

    Als ordnungsgemäß Hinzugefügt resolver in application.properties. Ich dachte, dass das problem mit dem Ordner WEB-INF. Dieser Ordner wird gesichert, aus äußeren Zugang und die .jsp sollten die Dateien nicht in diesem Ordner. Es ist für Dateien wie web.xml die nicht ausgesetzt werden sollte-client.

    Nur benennen Sie es um view (oder etwas anderes), und ändern Sie application.properties als –

    spring.mvc.view.prefix=/view/jsp/
    spring.mvc.view.suffix=.jsp

    Diese sollte auf jeden Fall funktionieren.

    • ich habe thit zur Anwendung.Eigenschaften : „spring.mvc.Blick.prefix= “ /WEB-INF/jsp/ spring.mvc.Blick.suffix=.jsp‘
    • Ich habe aktualisiert die Antwort. Probieren Sie es aus 🙂

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.