HTTP状态404 - 找不到AbstractAnnotationConfigDispatcherServletInitializer

时间:2017-10-19 12:15:07

标签: spring spring-mvc http-status-code-404

我正在尝试使用AbstractAnnotationConfigDispatcherServletInitializer而不是web.xml文件初始化我的Web应用程序。我已经在我自己的MySocialNetworkWebAppInitializer课程中扩展了这门课程:

public class MySocialNetworkWebAppInitializer
    extends AbstractAnnotationConfigDispatcherServletInitializer
{
    @Override
    protected String[] getServletMappings() {
        return new String[] { "/" };
    }

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

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

我已经实现了一个控制器HomeController来侦听“/”处的请求。当我运行应用程序时,我得到以下内容:

  

HTTP状态404 - 未找到...原始服务器未找到目标资源的当前表示,或者不愿意透露该目标资源是否存在。

当我创建项目时,默认情况下有一个web.xml文件,我已将其删除,因为我想使用MySocialNetworkWebAppInitializer。为了使用这个新的初始化程序运行应用程序,我缺少什么?

我的项目设置如下所示:

enter image description here

我的HomeController.java

package com.petehallw.mysocialnetwork.web;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;

@Controller
public class HomeController {
    @RequestMapping(value = "/", method = RequestMethod.GET)
    public String home() {
        return "home";
    }
}

我的WebConfig.java

@Configuration
@EnableWebMvc
@ComponentScan("com.petehallw.mysocialnetwork.web")
public class WebConfig extends WebMvcConfigurerAdapter {
    @Bean
    public ViewResolver viewResolver() {
        InternalResourceViewResolver resolver = new InternalResourceViewResolver();
        resolver.setPrefix("/WEB-INF/views/");
        resolver.setSuffix(".jsp");
        resolver.setExposeContextBeansAsAttributes(true);
        return resolver;
    }

    @Override
    public void configureDefaultServletHandling(DefaultServletHandlerConfigurer configurer) {
        configurer.enable();
    }
}

我的项目结构有问题吗?如何让它了解我的初始化程序?

我注意到我服务器中对'web.xml'的引用。我如何将其指向我的初始化器?

enter image description here

0 个答案:

没有答案