Файл войны, размещенный со стартовым котом, не инициализирует правильный сервлет - PullRequest
0 голосов
/ 09 мая 2020

Я пытаюсь создать военный файл из веб-приложения, которое я создал с помощью spring, gradle и разместил его с помощью tomcat. Когда я запускаю военный файл с помощью <java -jar <path-to-war>, он не выдает мне никаких ошибок, однако он инициализирует неправильные Spring DispatcherServlet 'dispatcherServlet' и Servlet 'dispatcherServlet' вместо сервлета, который я установил с именем FantasyAnalysis

Когда я попробуйте получить к нему доступ в моем веб-браузере, он выдает ошибку 404 not found со страницей с белой меткой.

Web Intializer:

public class WebInitializer implements WebApplicationInitializer {
public void onStartup(ServletContext container) throws ServletException {
    AnnotationConfigWebApplicationContext ctx
      = new AnnotationConfigWebApplicationContext();
    ctx.register(WebConfig.class);
    ctx.setServletContext(container);

    ServletRegistration.Dynamic servlet = container.addServlet(
      "FantasyAnalysis", new DispatcherServlet(ctx));
    servlet.setLoadOnStartup(1);
    servlet.addMapping("/FantasyAnalysis");
 }
 }

WebConfig:

@Configuration
public class WebConfig implements WebMvcConfigurer {
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
    registry.addResourceHandler("/resources/**").addResourceLocations("/resources/");
}
@Override
public void configureDefaultServletHandling(DefaultServletHandlerConfigurer configurer) {
    configurer.enable();
}   
@Bean
public InternalResourceViewResolver jspResolver() {
    InternalResourceViewResolver viewResolver = new InternalResourceViewResolver();
    viewResolver.setViewClass(JstlView.class);
    viewResolver.setPrefix("/WEB-INF/jsp/");
    viewResolver.setSuffix(".jsp");
    return viewResolver;
}
}

Главный:

@SpringBootApplication 
(scanBasePackages = {"project.controller","project.dao", "project.model", "project.service", "project.app"})
@ImportResource("user-beans.xml")
public class Application extends SpringBootServletInitializer {
public static void main(String[] args) {
    SpringApplication.run(Application.class, args);
  }
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(Application.class);
}
}
...