我想结合Spring指南中的两个Spring(spring-boot)应用程序:
不幸的是,这些示例不能一起使用。 servlet调度程序存在问题。添加 dispatcherServlet bean后 - MVC servlet无法正常工作(错误404 )。
@Bean
public ServletRegistrationBean dispatcherServlet(ApplicationContext applicationContext) {
MessageDispatcherServlet servlet = new MessageDispatcherServlet();
servlet.setApplicationContext(applicationContext);
servlet.setTransformWsdlLocations(true);
return new ServletRegistrationBean(servlet, "/ws/*");
}
如何配置servlet调度程序才能正常工作?
我想:
localhost:8080/ws/*
- webservice localhost:8080/web/*
- MVC组件提前致谢!
答案 0 :(得分:9)
问题在于MessageDispatcherServlet
由于名称dispatcherServlet
的注册而覆盖了Spring Boot注册的DispatcherServlet
。后者是您网站的MVC部分所必需的。
要解决此问题,只需将您的方法重命名为dispatcherServlet
说messageDispatcherServlet
即可。
@Bean
public ServletRegistrationBean messageDispatcherServlet(ApplicationContext applicationContext) {
MessageDispatcherServlet servlet = new MessageDispatcherServlet();
servlet.setApplicationContext(applicationContext);
servlet.setTransformWsdlLocations(true);
return new ServletRegistrationBean(servlet, "/ws/*");
}