При разработке приложения Spring MVC с чистой конфигурацией на основе Java мы можем установить домашнюю страницу, сделав наш класс конфигурации приложения расширением 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
представление, которое может служить домашней страницей. Нет необходимости создавать настраиваемую логику контроллера для возврата к просмотру домашней страницы.
JavaDoc для метод addViewControllers говорит -
Сконфигурируйте простые автоматизированные контроллеры, предварительно настроенные с кодом состояния ответа и / или представлением для отображения тела ответа. Это полезно в тех случаях, когда нет необходимости в настраиваемой логике контроллера - например, отображать домашнюю страницу, выполнять простые перенаправления URL-адресов сайтов, возвращать статус 404 с содержимым HTML, статус 204 без содержимого и многое другое.
Второй способ. Для домашней страницы статического HTML-файла мы можем использовать приведенный ниже код в нашем классе конфигурации. Он вернет index.html
в качестве домашней страницы -
@Override
public void addViewControllers(ViewControllerRegistry registry) {
registry.addViewController("/").setViewName("forward:/index.html");
}
3-й способ. Отображение запроса "/" ниже также вернет home
представление, которое можно использовать в качестве домашней страницы для приложения. Но все вышеперечисленные способы рекомендуются.
@Controller
public class UserController {
@RequestMapping(value = { "/" })
public String homePage() {
return "home";
}
}
person
Omkar Puttagunta
schedule
30.11.2015