Spring

SpringBoot White 페이지

기록만이살길 2021. 3. 10. 05:04
반응형

SpringBoot White 페이지

1. 질문(문제점):

방금 SpringBoot를 배우기 시작했습니다.

나는 스프링 부트 빌트인 tomcat을 사용하여 스프링 부트 프로그램을 실행합니다. 그러나 페이지를 방문하려고하면 Whitelabel 오류 페이지가 표시 됩니다.

이 프로그램을 시작하면 다음과 같이 표시됩니다.

여기에 이미지 설명 입력

내 프로그램과 바람둥이가 성공적으로 시작한다고 생각합니다.

이것은 내 시작 코드입니다 : DemoApplication.java

@SpringBootApplication
public class DemoApplication extends SpringBootServletInitializer {
    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
        return application.sources(DemoApplication.class);
    }

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


}

이것은 내 컨트롤러 코드입니다.

BookController.java

@Controller
public class BookController {
    private IBookService bookService;

    public BookController(IBookService bookService) {
        this.bookService = bookService;
    }

    @RequestMapping(value = "/book_list", method = RequestMethod.GET)
    public String getAllBook(Model model, HttpSession httpSession, HttpRequest httpRequest) throws Exception {
        List<Book> list = bookService.getAllBook();
        model.addAttribute("bookList", list);
        return "book";
    }
}

따라서 ' localhost : 8080 / bookstore / book_list '를 방문 하면 컨트롤러를 찾을 수 있으며이 컨트롤러는 WebMvcConfig가 다음과 같기 때문에 /WEB-INF/jsp/book.jsp로 이동하는 데 도움이됩니다.

WebMvcConfig.java

@Configuration
public class WebMvcConfig {
    @Bean
    public InternalResourceViewResolver viewResolver() {
        InternalResourceViewResolver resolver = new InternalResourceViewResolver();
        resolver.setPrefix("/WEB-INF/jsp/");
        resolver.setSuffix(".jsp");
        return resolver;
    }
}

그러나 이것이 왜 하얀 페이지입니까?

이것은 내 프로그램 구조입니다.

여기에 이미지 설명 입력

2. 해결방안:

DemoApplicationA의입니다 demo서브 패키지. 기본값은로 어노테이션이 달린 클래스의 하위 패키지 만 스캔 @SpringBootApplication하므로 구성 요소를 찾지 못하는 것입니다.

수정하는 두 가지 방법 :

  1. demo패키지 에서 클래스를 이동합니다 .

    이것이 Spring Boot 데모 애플리케이션이 일반적으로 수행하는 작업입니다.

  2. 스캔 할 패키지를 지정하십시오.

    @SpringBootApplication(scanBasePackages = "com.zx")
    

    또는, @ComponentScan동일한 것을 사용하십시오.

    @SpringBootApplication
    @ComponentScan("com.zx")
    
65729598
반응형