Java 正在从处理程序[null]解析异常:org.springframework.web.servlet.NoHandlerFoundException:找不到GET的处理程序
我正在使用Spring4Maven项目,SpringJavaCofigation。模型和视图不工作。我在两天内就遇到了这个问题,对此我非常疲惫Java 正在从处理程序[null]解析异常:org.springframework.web.servlet.NoHandlerFoundException:找不到GET的处理程序,java,spring,spring-mvc,Java,Spring,Spring Mvc,我正在使用Spring4Maven项目,SpringJavaCofigation。模型和视图不工作。我在两天内就遇到了这个问题,对此我非常疲惫 2017-05-03 17:11:55 DEBUG DispatcherServlet:861 - DispatcherServlet with name 'dispatcher' processing GET request for [/iservefds/hello] 2017-05-03 17:11:55 DEBUG RequestMappingH
2017-05-03 17:11:55 DEBUG DispatcherServlet:861 - DispatcherServlet with name 'dispatcher' processing GET request for [/iservefds/hello]
2017-05-03 17:11:55 DEBUG RequestMappingHandlerMapping:320 - Looking up handler method for path /hello
2017-05-03 17:11:55 DEBUG RequestMappingHandlerMapping:327 - Returning handler method [public org.springframework.web.servlet.ModelAndView com.iserve.fds.controller.HomeController.showMessage(java.lang.String)]
2017-05-03 17:11:55 DEBUG DefaultListableBeanFactory:250 - Returning cached instance of singleton bean 'homeController'
2017-05-03 17:11:55 DEBUG DispatcherServlet:947 - Last-Modified value for [/iservefds/hello] is: -1
in controller
2017-05-03 17:11:55 DEBUG DefaultListableBeanFactory:1620 - Invoking afterPropertiesSet() on bean with name 'home'
2017-05-03 17:11:55 DEBUG DefaultListableBeanFactory:250 - Returning cached instance of singleton bean 'org.springframework.transaction.config.internalTransactionAdvisor'
2017-05-03 17:11:55 DEBUG DispatcherServlet:1241 - Rendering view [org.springframework.web.servlet.view.JstlView: name 'home'; URL [/WEB-INF/views/home.jsp]] in DispatcherServlet with name 'dispatcher'
2017-05-03 17:11:55 DEBUG JstlView:432 - Added model object 'message' of type [java.lang.String] to request in view with name 'home'
2017-05-03 17:11:55 DEBUG JstlView:432 - Added model object 'name' of type [java.lang.String] to request in view with name 'home'
2017-05-03 17:11:55 DEBUG JstlView:166 - Forwarding to resource [/WEB-INF/views/home.jsp] in InternalResourceView 'home'
2017-05-03 17:11:55 DEBUG DispatcherServlet:861 - DispatcherServlet with name 'dispatcher' processing GET request for [/iservefds/WEB-INF/views/home.jsp]
2017-05-03 17:11:55 DEBUG RequestMappingHandlerMapping:320 - Looking up handler method for path /WEB-INF/views/home.jsp
2017-05-03 17:11:55 DEBUG RequestMappingHandlerMapping:330 - Did not find handler method for [/WEB-INF/views/home.jsp]
2017-05-03 17:11:55 WARN PageNotFound:1136 - No mapping found for HTTP request with URI [/iservefds/WEB-INF/views/home.jsp] in DispatcherServlet with name 'dispatcher'
2017-05-03 17:11:55 DEBUG ExceptionHandlerExceptionResolver:131 - Resolving exception from handler [null]: org.springframework.web.servlet.NoHandlerFoundException: No handler found for GET /iservefds/WEB-INF/views/home.jsp
2017-05-03 17:11:55 DEBUG ResponseStatusExceptionResolver:131 - Resolving exception from handler [null]: org.springframework.web.servlet.NoHandlerFoundException: No handler found for GET /iservefds/WEB-INF/views/home.jsp
2017-05-03 17:11:55 DEBUG DefaultHandlerExceptionResolver:131 - Resolving exception from handler [null]: org.springframework.web.servlet.NoHandlerFoundException: No handler found for GET /iservefds/WEB-INF/views/home.jsp
2017-05-03 17:11:55 WARN DefaultHandlerExceptionResolver:186 - Handler execution resulted in exception: No handler found for GET /iservefds/WEB-INF/views/home.jsp
2017-05-03 17:11:55 DEBUG DispatcherServlet:1034 - Null ModelAndView returned to DispatcherServlet with name 'dispatcher': assuming HandlerAdapter completed request handling
2017-05-03 17:11:55 DEBUG DispatcherServlet:1000 - Successfully completed request
2017-05-03 17:11:55 DEBUG DispatcherServlet:1000 - Successfully completed request
ApplicationConfig.java
@Configuration
@EnableWebMvc
@ComponentScan(useDefaultFilters=true, basePackages={ ConfigConstants.BASE_PACKAGE }
, includeFilters=@ComponentScan.Filter(type=FilterType.REGEX, pattern={ ConfigConstants.BASE_PACKAGE_REPO + ".*",ConfigConstants.BASE_PACKAGE_SERVICE + ".*"}))
public class ApplicationConfig extends WebMvcConfigurerAdapter{
private static final Logger LOGGER = Logger.getLogger(ApplicationConfig.class);
@Override
@Description("HTTP Message Converters")
public void configureMessageConverters(final List<HttpMessageConverter<?>> converters) {
super.configureMessageConverters(converters);
converters.add(new MappingJackson2HttpMessageConverter());
}
@Bean public Mapper dozerMapper() { return new DozerBeanMapper(); }
@Bean public ObjectMapper objectMapper() { return new ObjectMapper(); }
@Bean
public MultipartResolver multipartResolver() {
org.springframework.web.multipart.commons.CommonsMultipartResolver multipartResolver = new org.springframework.web.multipart.commons.CommonsMultipartResolver();
multipartResolver.setMaxUploadSize(1000000);
return multipartResolver;
}
@Bean
public ViewResolver viewResolver(){
InternalResourceViewResolver viewResolver = new InternalResourceViewResolver();
viewResolver.setViewClass(JstlView.class);
viewResolver.setPrefix("/WEB-INF/views/");
viewResolver.setSuffix(".jsp");
return viewResolver;
}
您的主要错误如下:
@Override
protected String[] getServletMappings() {
return new String[] { "/*" };
}
应该是:
@Override
protected String[] getServletMappings() {
return new String[] { "/" };
}
在应用程序配置中添加以下内容:
@Override
public void configureDefaultServletHandling(DefaultServletHandlerConfigurer configurer) {
configurer.enable();
}
并更改此ViewResolver:
@Bean
public ViewResolver viewResolver(){
InternalResourceViewResolver viewResolver = new InternalResourceViewResolver();
viewResolver.setViewClass(JstlView.class);
viewResolver.setPrefix("/WEB-INF/views/");
viewResolver.setSuffix(".jsp");
return viewResolver;
}
通过InternalResourceViewResolver:
@Bean
public InternalResourceViewResolver getInternalResourceViewResolver() {
InternalResourceViewResolver resolver = new InternalResourceViewResolver();
resolver.setPrefix("/WEB-INF/views/");
resolver.setSuffix(".jsp");
return resolver;
}
非常感谢你的帮助。问题已经解决了
@Bean
public ViewResolver viewResolver(){
InternalResourceViewResolver viewResolver = new InternalResourceViewResolver();
viewResolver.setViewClass(JstlView.class);
viewResolver.setPrefix("/WEB-INF/views/");
viewResolver.setSuffix(".jsp");
return viewResolver;
}
@Bean
public InternalResourceViewResolver getInternalResourceViewResolver() {
InternalResourceViewResolver resolver = new InternalResourceViewResolver();
resolver.setPrefix("/WEB-INF/views/");
resolver.setSuffix(".jsp");
return resolver;
}