2017-03-01 1 views
0

현재이 스프링 부트 응용 프로그램을 작성 중입니다. 응용 프로그램은 Eclipse를 사용하여 Tomcat 서버에 배포되었으며 index.html의 내용에만 액세스 할 수 있습니다. index.html에서 folder_A의 index.html으로 이동하면 화이트리스트 오류 페이지가 표시됩니다./src/main/webapp/<folder_name>에 html이 배치되었을 때

브라우저 콘솔에서 folder_A의 index.html로 이동할 때 folder_A을 찾을 수 없다는 오류가 발생합니다.

내 프로젝트의 현재 구조는 다음과 같습니다

 
    Project 
    +-- src 
    | +--main 
    | | +--java (Contains source code) 
    | | +--resources 
    | | | +--application.properties 
    | | +--webapp 
    | | | +--folder_A 
    | | | | +--index.html 
    | | | +--WEB_INF 
    | | | | +--web.xml 
    | | | +--index.html 
    ```` 

web.xml을 이전 프로젝트의 모든 서블릿 매핑을 포함하고 application.properties는 현재 비어 있습니다.

왜 그런가? 구성해야하는 설정이 있습니까? 당신이 SpringBoot를 사용하는 경우, 다음의 web.xml을해야하고, 정적 파일을 배치하지 않는

<groupId>com.sampleproject</groupId> 
<artifactId>TestProject</artifactId> 
<version>0.0.1-SNAPSHOT</version> 

<name>SpringProject</name> 
<description>SpringProject</description> 

<parent> 
    <groupId>org.springframework.boot</groupId> 
    <artifactId>spring-boot-starter-parent</artifactId> 
    <version>1.5.1.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> 
    <tomcat.version>7.0.75</tomcat.version> 
</properties> 

<dependencies> 
    <dependency> 
     <groupId>org.apache.maven.plugins</groupId> 
     <artifactId>maven-compiler-plugin</artifactId> 
     <version>3.6.1</version> 
    </dependency> 
    <dependency> 
     <groupId>org.apache.tomcat</groupId> 
     <artifactId>tomcat-juli</artifactId> 
     <version>${tomcat.version}</version> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework.boot</groupId> 
     <artifactId>spring-boot-starter-web</artifactId> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework.boot</groupId> 
     <artifactId>spring-boot-starter-tomcat</artifactId> 
     <scope>provided</scope> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework.boot</groupId> 
     <artifactId>spring-boot-starter-test</artifactId> 
     <scope>test</scope> 
    </dependency> 
</dependencies> 

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

2017-03-02 08:57:55.467 INFO 8400 --- [ost-startStop-1] o.s.web.context.ContextLoader   : Root WebApplicationContext: initialization completed in 2016 ms 
2017-03-02 08:57:55.701 INFO 8400 --- [ost-startStop-1] o.s.b.w.servlet.ServletRegistrationBean : Mapping servlet: 'dispatcherServlet' to [/] 
2017-03-02 08:57:55.713 INFO 8400 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean : Mapping filter: 'characterEncodingFilter' to: [/*] 
2017-03-02 08:57:55.713 INFO 8400 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean : Mapping filter: 'hiddenHttpMethodFilter' to: [/*] 
2017-03-02 08:57:55.713 INFO 8400 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean : Mapping filter: 'httpPutFormContentFilter' to: [/*] 
2017-03-02 08:57:55.713 INFO 8400 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean : Mapping filter: 'requestContextFilter' to: [/*] 
2017-03-02 08:57:56.135 INFO 8400 --- [   main] s.w.s.m.m.a.RequestMappingHandlerAdapter : Looking for @ControllerAdvice: org.springframework.boot[email protected]3901d134: startup date [Thu Mar 02 08:57:53 SGT 2017]; root of context hierarchy 
2017-03-02 08:57:56.228 INFO 8400 --- [   main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/error]}" onto public org.springframework.http.ResponseEntity<java.util.Map<java.lang.String, java.lang.Object>> org.springframework.boot.autoconfigure.web.BasicErrorController.error(javax.servlet.http.HttpServletRequest) 
2017-03-02 08:57:56.228 INFO 8400 --- [   main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/error],produces=[text/html]}" onto public org.springframework.web.servlet.ModelAndView org.springframework.boot.autoconfigure.web.BasicErrorController.errorHtml(javax.servlet.http.HttpServletRequest,javax.servlet.http.HttpServletResponse) 
2017-03-02 08:57:56.275 INFO 8400 --- [   main] o.s.w.s.handler.SimpleUrlHandlerMapping : Mapped URL path [/webjars/**] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler] 
2017-03-02 08:57:56.275 INFO 8400 --- [   main] o.s.w.s.handler.SimpleUrlHandlerMapping : Mapped URL path [/**] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler] 
2017-03-02 08:57:56.353 INFO 8400 --- [   main] o.s.w.s.handler.SimpleUrlHandlerMapping : Mapped URL path [/**/favicon.ico] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler] 
2017-03-02 08:57:56.385 INFO 8400 --- [   main] oConfiguration$WelcomePageHandlerMapping : Adding welcome page: ServletContext resource [/index.html] 
2017-03-02 08:57:56.572 INFO 8400 --- [   main] o.s.j.e.a.AnnotationMBeanExporter  : Registering beans for JMX exposure on startup 
2017-03-02 08:57:56.697 INFO 8400 --- [   main] s.b.c.e.t.TomcatEmbeddedServletContainer : Tomcat started on port(s): 8080 (http) 
2017-03-02 08:57:56.853 INFO 8400 --- [   main] c.s.SpringProjectApplication  : Started SpringProjectApplication in 3.883 seconds (JVM running for 4.904) 
2017-03-02 08:57:59.355 INFO 8400 --- [nio-8080-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/ProjectName] : Initializing Spring FrameworkServlet 'dispatcherServlet' 
2017-03-02 08:57:59.355 INFO 8400 --- [nio-8080-exec-1] o.s.web.servlet.DispatcherServlet  : FrameworkServlet 'dispatcherServlet': initialization started 
2017-03-02 08:57:59.368 INFO 8400 --- [nio-8080-exec-1] o.s.web.servlet.DispatcherServlet  : FrameworkServlet 'dispatcherServlet': initialization completed in 13 ms 
+0

자세한 내용을 알려주시겠습니까? MV 출력? Ppm.xml? – Adonis

+0

나는 게시물에 추가했습니다. 이것을 봐주세요. 감사! @asettouf – JustStarted

+0

대답은 아마 web.xml이나 컨트롤러에 있습니다. – shinjw

답변

0

pom.xml 파일에서

편집

추가 src/main/webapp 대신 src/main/resources/static에 복사하십시오.

mvn spring-boot:run 명령을 사용하여 시작하십시오. Tomcat에 배포 할 필요가 없습니다.

이것은 sample입니다.

+0

src.html과 folder_A의 내용을 모두 src/main/resources/static에 넣으려고했는데 같은 일이 벌어졌습니다. 단지 궁금해서 web.xml이 필요하지 않다면 어디에서 모든 서블릿 매핑을해야합니까? – JustStarted

+0

@Servlet annotation 또는 ServletRegistrationBean을 사용하십시오. 기존 web.xml을 계속 사용하려면이 [sample] (https://github.com/spring-projects/spring-boot/tree/master/spring)을 참조하십시오. -boot-samples/spring-boot-sample-traditional). – Intopass

관련 문제