Не удалось зарегистрировать сервлет с именем dispatcher. Проверьте, есть ли другой сервлет, зарегистрированный под тем же именем. - PullRequest
0 голосов
/ 01 сентября 2018

Что не так в приведенном ниже Java-коде и что это значит? Может кто-нибудь, пожалуйста, помогите мне решить эту проблему:

java.lang.IllegalArgumentException: не удалось зарегистрировать сервлет с именем «dispatcher». Проверьте, есть ли другой сервлет, зарегистрированный под тем же именем.

AppConfig.java

@Configuration
@EnableWebMvc
@ComponentScan(basePackages = "com.kk.kk.config")
public class AppConfig {
//Define a bean for ViewResolver

@Bean
public ViewResolver viewResolver(){
    InternalResourceViewResolver viewResolver = new InternalResourceViewResolver();
    viewResolver.setPrefix("/WEB-INF/view/");
    viewResolver.setSuffix(".jsp");

    return viewResolver;
  }

}

DispatcherServletInitializer.java

public class DispatcherServletInitializer extends AbstractAnnotationConfigDispatcherServletInitializer {

    @Override
    protected Class<?>[] getRootConfigClasses() {
    //TODO Auto-generated method stub
        return null;
    }

    @Override
    protected Class<?>[] getServletConfigClasses(){
        return new Class[] {AppConfig.class};
    }

    @Override
    protected String[] getServletMappings(){
        return new String[] {"/"};
    }

}

AppController.java

@Controller
public class AppController {

    @GetMapping("/")
    public String showHome(){

        return "home";
    }

}

1 Ответ

0 голосов
/ 01 сентября 2018

Вы должны расширить от WebMvcConfigurerAdapter:

Попробуйте это:

@Configuration
@ComponentScan(basePackages="com.kk.kk.config")
@EnableWebMvc
public class AppConfig extends WebMvcConfigurerAdapter{
    @Override            
    public void configureViewResolvers(ViewResolverRegistry registry)
            InternalResourceViewResolver resolver = new InternalResourceViewResolver();
            resolver.setPrefix("/WEB-INF/views/");
            resolver.setSuffix(".jsp");
            registry.viewResolver(resolver);
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...