У меня есть следующий код Spring MVC:
файлы конфигурации :
public class MainWebAppInitializer implements WebApplicationInitializer {
@Override
public void onStartup(final ServletContext sc) throws ServletException {
AnnotationConfigWebApplicationContext root =
new AnnotationConfigWebApplicationContext();
root.register(WebConfig.class);
root.setServletContext(sc);
root.scan("testspring");
sc.addListener(new ContextLoaderListener(root));
ServletRegistration.Dynamic appServlet =
sc.addServlet("dispatcher", new DispatcherServlet(new GenericWebApplicationContext()));
appServlet.setLoadOnStartup(1);
appServlet.addMapping("/");
}
}
@EnableWebMvc
@Configuration
@ComponentScan("testspring")
public class WebConfig extends WebMvcConfigurerAdapter {
/*
@Override
public void addViewControllers(ViewControllerRegistry registry) {
registry.addViewController("/").setViewName("index");
}*/
@Bean
public ViewResolver viewResolver() {
InternalResourceViewResolver bean = new InternalResourceViewResolver();
bean.setViewClass(JstlView.class);
bean.setPrefix("/WEB-INF/view/");
bean.setSuffix(".html");
return bean;
}
}
контроллеры :
@Controller
public class HomeController {
@RequestMapping(value = "/")
public String home() {
System.out.println("HHomeController: Passing through...");
return "home.html";
}
}
@RestController
public class TestRestController {
@RequestMapping(value = "/api")
public String home() {
System.out.println("Rest: Passing through...");
return "some json";
}
}
При развертывании я получаю следующие ошибки:
Доступ к странице /api
, однако, работает просто отлично.
РЕДАКТИРОВАТЬ :
После замены home.html
на home
ошибка все еще присутствует - и в IDE, и в браузере 404:
Также возможно это уместно - я получаю это всплывающее окно в одном из классов конфигурации :