복붙노트

[SPRING] spring-boot 기본 JSP 404 찾을 수 없음

SPRING

spring-boot 기본 JSP 404 찾을 수 없음

스프링 부트가있는 매우 간단한 JSP 페이지를로드 할 수 없어서 404를 찾을 수 없습니다.

src / main / java / SampleWebJspApplication.java

@Configuration
@EnableAutoConfiguration
@ComponentScan
public class SampleWebJspApplication extends SpringBootServletInitializer {
    public static void main(String[] args) throws Exception {
        SpringApplication.run(SampleWebJspApplication.class, args);
    }
}

src / main / java / WebController.java

@Controller
public class WebController {
    @RequestMapping("/")
    public String welcome() {
        return "welcome";
    }
}

src / main / webapp / WEB-INF / jsp / welcome.jsp

<!DOCTYPE html>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<html lang="en">
    <body>
        <h1>Hello.</h1>      
    </body>
</html>

디버거가 컨트롤러 요청 매핑에서 "환영"을 반환하고 있음을 보여 주지만 404를 얻습니다.

해결법

  1. ==============================

    1.나는 이미 많은 해결책을 시도해 왔지만 제대로 된 해결책을 찾지 못했습니다.

    나는 이미 많은 해결책을 시도해 왔지만 제대로 된 해결책을 찾지 못했습니다.

    Intellij IDEA를 사용하고 있고 머리를 당기는 동안이 글을 읽는다면 : IDE 실행 ▶ ︎ 버튼으로 Spring 부팅 어플리케이션 (동적 .jsp 뷰 사용)을 실행하지 마십시오.

    $ cd {your_project_folder_path}
    
    $ ls //Check if you are in the same place with the pom.xml
    

    입력 한 다음

    $ mvn spring-boot:run
    

    이제 응용 프로그램은 localhost : 8080에서 제공됩니다.

  2. ==============================

    2.이 파일을 내 application.properties 파일에 추가해야했습니다.

    이 파일을 내 application.properties 파일에 추가해야했습니다.

    spring.view.prefix: /WEB-INF/jsp/
    spring.view.suffix: .jsp
    
  3. ==============================

    3.최신 스프링 버전에서 application.properties 파일에 넣을 속성은 다음과 같습니다.

    최신 스프링 버전에서 application.properties 파일에 넣을 속성은 다음과 같습니다.

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

    "mvc"는 "spring.view.prefix"에 포함됩니다.

    또한 최신 버전의 Spring에는 @Configuration, @EnableAutoConfiguration, @ComponentScan에 대한 주석 @SpringBootApplication이 있습니다.

  4. ==============================

    4.일반적으로 스프링 부트는 Thymeleaf로 작업하는 동안 종속성을 추가하는 것 외에는 어떤 구성도 필요하지 않습니다.

    일반적으로 스프링 부트는 Thymeleaf로 작업하는 동안 종속성을 추가하는 것 외에는 어떤 구성도 필요하지 않습니다.

    스프링 부트에서 JSP를 실행하려면 몇 가지 설정이 필요하다.

    필요한 종속성 :

     <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>
    

    MySQL 데이터베이스에 연결하는 경우 다음을 수행하십시오.

     <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <scope>runtime</scope>
        </dependency>
    

    Application.Properties 파일에서 :

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

    이제 네가 잘 가야 해! :디

  5. from https://stackoverflow.com/questions/28922248/spring-boot-basic-jsp-404-not-found by cc-by-sa and MIT license