[SPRING] WebApplicationInitializer.onStartup ()에서 welcome-file-list를 지정하는 방법
SPRINGWebApplicationInitializer.onStartup ()에서 welcome-file-list를 지정하는 방법
현재 web.xml을 사용하여 응용 프로그램을 구성하는 웹 응용 프로그램이 있습니다. web.xml에는 welcome-file-list가 있습니다.
<web-app>
...
<welcome-file-list>
<welcome-file>home.html</welcome-file>
</welcome-file-list>
</web-app>
우리는 스프링 프레임 워크를 사용하고 응용 프로그램 구성을 위해 Java 클래스를 사용할 계획입니다.
class MyApplication extends WebApplicationInitializer {
public void onStartUp(ServletContext context){
...
}
}
이 Java 클래스에서 welcome-file-list를 어떻게 지정합니까?
해결법
-
==============================
1.순수 Java 기반 구성을 사용하여 Spring MVC 애플리케이션을 개발하는 동안 WebMvcConfigurerAdapter 클래스를 확장하는 애플리케이션 구성 클래스를 만들고 아래에 설명 된대로 기본 홈 페이지를 설정할 수있는 addViewControllers 메소드를 대체하여 홈 페이지를 설정할 수있다.
순수 Java 기반 구성을 사용하여 Spring MVC 애플리케이션을 개발하는 동안 WebMvcConfigurerAdapter 클래스를 확장하는 애플리케이션 구성 클래스를 만들고 아래에 설명 된대로 기본 홈 페이지를 설정할 수있는 addViewControllers 메소드를 대체하여 홈 페이지를 설정할 수있다.
@Configuration @EnableWebMvc @ComponentScan(basePackages = { "com.myapp.controllers" }) public class ApplicationConfig extends WebMvcConfigurerAdapter { @Bean public InternalResourceViewResolver getViewResolver() { InternalResourceViewResolver viewResolver = new InternalResourceViewResolver(); viewResolver.setPrefix("/WEB-INF/view/"); viewResolver.setSuffix(".jsp"); return viewResolver; } @Override public void addViewControllers(ViewControllerRegistry registry) { registry.addViewController("/").setViewName("home"); } }
홈 페이지로 제공 될 수있는 home.jsp 뷰를 반환합니다. 홈 페이지보기를 리턴하는 사용자 정의 컨트롤러 로직을 작성할 필요가 없습니다.
addViewControllers 메소드에 대한 JavaDoc은 다음과 같이 말합니다 -
두 번째 방법 - 정적 HTML 파일 홈 페이지의 경우 구성 클래스에서 아래 코드를 사용할 수 있습니다. index.html을 홈페이지로 반환합니다.
@Override public void addViewControllers(ViewControllerRegistry registry) { registry.addViewController("/").setViewName("forward:/index.html"); }
세 번째 방법 - 아래의 요청 매핑 "/"은 앱의 홈페이지로 제공 될 수있는 집보기를 반환합니다. 그러나 위의 방법이 권장됩니다.
@Controller public class UserController { @RequestMapping(value = { "/" }) public String homePage() { return "home"; } }
-
==============================
2.Java Doc로 지정된대로
Java Doc로 지정된대로
web.xml에는 최소한의 설정 만 필요합니다.
<welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list>
-
==============================
3.
@EnableWebMvc @Configuration @ComponentScan("com.springapp.mvc") public class MvcConfig extends WebMvcConfigurerAdapter { ... @Override public void addResourceHandlers(ResourceHandlerRegistry registry) { registry.addResourceHandler("/*.html").addResourceLocations("/WEB-INF/pages/"); } @Override public void addViewControllers(ViewControllerRegistry registry) { registry.addViewController("/").setViewName("forward:/index.html"); } ... }
이것은 도움이 될 수 있습니다.
from https://stackoverflow.com/questions/30972676/how-to-specify-welcome-file-list-in-webapplicationinitializer-onstartup by cc-by-sa and MIT license
'SPRING' 카테고리의 다른 글
[SPRING] Spring 부트에서 환경 변수 읽기 (0) | 2019.03.26 |
---|---|
[SPRING] 봄 + 최대 절전 모드 = 알 수없는 엔티티 (0) | 2019.03.26 |
[SPRING] 봄 JSP 페이지가 평가되지 않음 (0) | 2019.03.26 |
[SPRING] Spring RestTemplate은 "500"오류를 발생 시키지만 같은 URL, credentails는 RestClient와 Curl에서 작동합니다. (0) | 2019.03.26 |
[SPRING] Spring MVC @ResponseBody가 Map을 리턴하면 "Error 406 NOT ACCEPTABLE" (0) | 2019.03.26 |