Spring java configuration problem: bean name 'requestMappingHandlerMapping' rejected: URL paths not defined

I am using spring java configs to build a web application.

When I start tomcat, it says that the resource / myapp / myapp was not found

At the console output, I noticed the following. I am not sure if this is causing any problem.

I only show log lines that look weird. because the magazine is so big

INFO: validateJarFile(C:\libraries\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\myapp\WEB-INF\lib\javax.servlet-api-3.0.1.jar) - jar not loaded. See Servlet Spec 2.3, section 9.7.2. Offending class: javax/servlet/Servlet.class Creating instance of bean 'beanNameHandlerMapping' Returning cached instance of singleton bean 'delegatingWebMvcConfiguration' Eagerly caching bean 'beanNameHandlerMapping' to allow for resolving potential circular references Looking for URL mappings in application context: Root WebApplicationContext: startup date [Mon J un 04 13:28:33 EDT 2012]; root of context hierarchy Rejected bean name 'org.springframework.context.annotation.internalConfigurationAnnotationProcessor': no URL paths identified Rejected bean name 'org.springframework.context.annotation.internalAutowiredAnnotationProcessor': no URL paths identified Rejected bean name 'org.springframework.context.annotation.internalRequiredAnnotationProcessor': no URL paths identified Rejected bean name 'org.springframework.context.annotation.internalCommonAnnotationProcessor': no URL paths identified Rejected bean name 'webAppContextConfig': no URL paths identified Rejected bean name 'org.springframework.context.annotation.ConfigurationClassPostProcessor$ImportAwareBeanPostProcessor#0': no URL paths identified Rejected bean name 'delegatingWebMvcConfiguration': no URL paths identified Rejected bean name 'requestMappingHandlerMapping': no URL paths identified Rejected bean name 'viewControllerHandlerMapping': no URL paths identified Rejected bean name 'beanNameHandlerMapping': no URL paths identified Rejected bean name 'resourceHandlerMapping': no URL paths identified Rejected bean name 'defaultServletHandlerMapping': no URL paths identified Rejected bean name 'requestMappingHandlerAdapter': no URL paths identified Rejected bean name 'mvcConversionService': no URL paths identified Rejected bean name 'mvcValidator': no URL paths identified Rejected bean name 'httpRequestHandlerAdapter': no URL paths identified Rejected bean name 'simpleControllerHandlerAdapter': no URL paths identified Rejected bean name 'handlerExceptionResolver': no URL paths identified Rejected bean name 'configureInternalResourceViewResolver': no URL paths identified Rejected bean name 'environment': no URL paths identified Rejected bean name 'systemProperties': no URL paths identified Rejected bean name 'systemEnvironment': no URL paths identified Rejected bean name 'servletContext': no URL paths identified Rejected bean name 'contextParameters': no URL paths identified Rejected bean name 'contextAttributes': no URL paths identified Rejected bean name 'importRegistry': no URL paths identified Rejected bean name 'messageSource': no URL paths identified Rejected bean name 'applicationEventMulticaster': no URL paths identified Finished creating instance of bean 'beanNameHandlerMapping' Creating shared instance of singleton bean 'resourceHandlerMapping' Creating instance of bean 'resourceHandlerMapping' Returning cached instance of singleton bean 'delegatingWebMvcConfiguration' Eagerly caching bean 'resourceHandlerMapping' to allow for resolving potential circular references Mapped URL path [/css/**] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler] Mapped URL path [/scripts/**] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler] Mapped URL path [/images/**] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler] Finished creating instance of bean 'resourceHandlerMapping' 

Here is WebAppContextConfig.java

 package com.example; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet.config.annotation.EnableWebMvc; import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry; import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter; import org.springframework.web.servlet.view.InternalResourceViewResolver; @Configuration @EnableWebMvc @ComponentScan(basePackages = "com.example") public class WebAppContextConfig extends WebMvcConfigurerAdapter{ //Resolve logical view names to .jsp resources in /WEB-INF/views directory @Bean public InternalResourceViewResolver configureInternalResourceViewResolver() { InternalResourceViewResolver resolver = new InternalResourceViewResolver(); resolver.setPrefix("WEB-INF/jsp/"); resolver.setSuffix(".jsp"); return resolver; } @Override public void addResourceHandlers(ResourceHandlerRegistry registry) { registry.addResourceHandler("/scripts/**").addResourceLocations("/scripts/"); registry.addResourceHandler("/css/**").addResourceLocations("/css/"); registry.addResourceHandler("/images/**").addResourceLocations("/images/"); } } 

Here is WebAppInitializer.java

  package com.example; import javax.servlet.ServletContext; import javax.servlet.ServletException; import javax.servlet.ServletRegistration; import org.springframework.context.annotation.ComponentScan; import org.springframework.web.WebApplicationInitializer; import org.springframework.web.context.ContextLoaderListener; import org.springframework.web.context.support.AnnotationConfigWebApplicationContext; import org.springframework.web.servlet.DispatcherServlet; import org.springframework.web.servlet.config.annotation.DefaultServletHandlerConfigurer; public class WebAppInitializer implements WebApplicationInitializer { /* (non-Javadoc) * @see org.springframework.web.WebApplicationInitializer#onStartup(javax.servlet.ServletContext) */ @Override public void onStartup(ServletContext servletContext) throws ServletException { AnnotationConfigWebApplicationContext rootContext = new AnnotationConfigWebApplicationContext(); rootContext.register(WebAppContextConfig.class); servletContext.addListener(new ContextLoaderListener(rootContext)); AnnotationConfigWebApplicationContext dispatcherContext = new AnnotationConfigWebApplicationContext(); dispatcherContext.register(WebAppContextConfig.class); ServletRegistration.Dynamic dispatcher = servletContext.addServlet("dispatcher", new DispatcherServlet(rootContext)); dispatcher.setLoadOnStartup(1); dispatcher.addMapping("/"); DefaultServletHandlerConfigurer defaultConfig = new DefaultServletHandlerConfigurer(servletContext); defaultConfig.enable(); } } 

Also, is there a good place to look for spring mvc java configuration?

thanks

+4
source share
1 answer

This is not the main reason for @ravi, but I see a few issues that I would like to highlight in order to start with:

a. It seems that you download the Java Spring configuration file twice, through the ContextLoaderListener and the Dispatcher servlet, do it only through the ContextLoaderListener, you can define your DispatcherServlet this way - just load the empty context (ideally, two java configs - one for the main application and one for the web -configuration):

 ServletRegistration.Dynamic dispatcher = servletContext.addServlet("dispatcher", new GenericWebApplicationContext()); dispatcher.setLoadOnStartup(1); dispatcher.addMapping("/"); 

b. Can you enable debug mode with log4j and see what else is logged in - if this is not enough information, log in at the trace level.

from. Interior view The resolver path looks a bit wrong - you are missing the "/" ahead:

 resolver.setPrefix("/WEB-INF/jsp/"); 

Can you try them and see what you see now.

+2
source

Source: https://habr.com/ru/post/1416015/


All Articles