#java #spring #spring-boot #servlets #jersey
#java #весна #spring-boot #сервлеты #джерси
Вопрос:
Мы пытаемся обновить приложение Spring boot с версии 1.5.9 до версии 2.2.7. Мы используем следующие регистрации сервлетов в приложении:
@Bean
public ServletRegistrationBean dispatcherServletRegistration() {
ServletRegistrationBean registration = new ServletRegistrationBean(new DispatcherServlet());
Map<String, String> params = new HashMap<String, String>();
params.put("org.atmosphere.servlet", "org.springframework.web.servlet.DispatcherServlet");
params.put("contextClass", "org.springframework.web.context.support.AnnotationConfigWebApplicationContext");
registration.setInitParameters(params);
return registration;
}
@Bean
public ServletRegistrationBean configureJerseyForRESTfulWebService() {
ServletRegistrationBean registration = new ServletRegistrationBean(new ServletContainer(), "/service/*");
registration.addInitParameter(ServletProperties.JAXRS_APPLICATION_CLASS, JerseyConfig.class.getName());
registration.addInitParameter("com.sun.jersey.api.json.POJOMappingFeature", "true");
return registration;
}
@Bean
public FilterRegistrationBean securityFilterRegistration() {
FilterRegistrationBean registration = new FilterRegistrationBean();
registration.setFilter(new SecurityFilter());
registration.addUrlPatterns("/*");
registration.setName("SecurityFilter");
registration.setOrder(1);
return registration;
}
После обновления мы получаем следующие ошибки во время запуска, и служба не может быть запущена:
Parameter 0 of method errorPageCustomizer in org.springframework.boot.autoconfigure.web.servlet.error.ErrorMvcAutoConfiguration required a bean of type 'org.springframework.boot.autoconfigure.web.servlet.DispatcherServletPath' that could not be found.
The following candidates were found but could not be injected:
- Bean method 'dispatcherServletRegistration' in 'DispatcherServletAutoConfiguration.DispatcherServletRegistrationConfiguration' not loaded because DispatcherServlet Registration found servlet registration bean dispatcherServletRegistration
Action:
Consider revisiting the entries above or defining a bean of type 'org.springframework.boot.autoconfigure.web.servlet.DispatcherServletPath' in your configuration.
Любой намек на то, как устранить эти ошибки / проблемы. Если возможно, пожалуйста, поделитесь любым примером кода, спасибо
Комментарии:
1. Просто предположение, но попробуйте добавить шаблон URL-адреса для DispatcherServlet
2. Я добавил шаблон URL-адреса, не работает