2016-08-17 9 views
0

스프링 부트 웹 애플리케이션을 만들고 싶습니다.스프링 부트 매핑 정적 HTML

나는 정적 HTML 파일 인 one.html, two.html을 가지고 있습니다. 템플릿 엔진 (Thymeleaf)를 사용하지 않고

localhost:8080/one 
localhost:8080/two 

을 다음과 같이

나는 그것들을 매핑 할.

어떻게 수행하나요? 나는 여러 가지 방법으로 시도했지만 404 오류 또는 500 오류가 있습니다 (순환 뷰 경로 [one.html] : 현재 처리기 URL로 다시 디스패치합니다).

OneController.java은 다음과 같습니다

@Controller 
public class OneController { 
    @RequestMapping("/one") 
    public String one() { 
     return "redirect:/static/one.html"; 
    } 
} 

답변

4

: 추가 브라우저에 관심이 사용할 수 리디렉션하지 않는 경우

@Controller 
public class OneController { 
    @RequestMapping("/one") 
    public String one() { 
     return "static/one.html"; 
    } 
} 

프로젝트 구조가

enter image description here

+0

와우, 넌 정말 멋지다. 고맙습니다! – megasoch

+0

이 문제를 해결하는 가장 좋은 방법입니다. –

1

입니다 WebMvcConfig를 업데이트하고 UrlBasedViewResol을 포함하십시오. ver 및/정적 리소스 처리기. 다음과 같이 내 WebConfig 클래스는 보이는 : 나는 그것을 확인하고 작업 보인다

@Configuration 
@EnableWebMvc 
public class WebConfig extends WebMvcConfigurerAdapter { 

    @Override 
    public void addResourceHandlers(ResourceHandlerRegistry registry) { 
     registry.addResourceHandler("/static/**").addResourceLocations("classpath:/static/"); 
     super.addResourceHandlers(registry); 
    } 

    @Bean 
    public ViewResolver viewResolver() { 
     UrlBasedViewResolver viewResolver = new UrlBasedViewResolver(); 
     viewResolver.setViewClass(InternalResourceView.class); 
     return viewResolver; 
    } 

} 

.

Maciej의 답변은 브라우저의 리디렉션을 기반으로합니다. 내 솔루션 브라우저 간섭없이 정적 반환합니다.

+0

감사합니다. – megasoch