Spring MVC配置和映射

时间:2015-09-01 14:59:35

标签: spring spring-mvc

讨厌问一个简单的配置问题,但我是spring mvc框架的新手,并且出于某种原因挣扎了一下。我正在研究这个,只是为了学习它,因为我在ruby中使用过MVC并想在java中尝试它。

我有一个示例应用程序,它与数据库进行通信,并将一个完整的表从我的控制器返回到一个JSP,它正常工作,我的表正在从DB正确显示。我仍然认为我的配置有误,因为我的应用程序只有在我的web.xml设置如此

时才有效
<servlet-mapping>
    <servlet-name>foo</servlet-name>
    <url-pattern>/RunList.jsp</url-pattern>
</servlet-mapping>

我认为我不应该在我的模式中使用JSP的全名。如果我只是使用/我得到

<servlet-mapping>
    <servlet-name>foo</servlet-name>
    <url-pattern>/</url-pattern>
</servlet-mapping>

Sep 01, 2015 10:53:02 AM org.springframework.web.servlet.PageNotFound noHandlerFound
WARNING: No mapping found for HTTP request with URI [/dyn-qa-qeb/] in DispatcherServlet with name 'foo'

这是我的控制器

@RequestMapping(value="/RunList")
public ModelAndView listRun(ModelAndView model) throws IOException{
    //@ModelAttribute
    System.out.println("**** Controller ******");

    List<QAModel> listRun = runDao.list();
    model.addObject("RunList", listRun);
    model.setViewName("RunList");

    return model;
}

我还有一个基于教程设置的MVC配置文件,但我不确定是否会覆盖web.xml

@Configuration
@ComponentScan(basePackages="com.foo")
@EnableWebMvc
public class MvcConfiguration extends WebMvcConfigurerAdapter{

     @Bean
        public ViewResolver getViewResolver(){
            InternalResourceViewResolver resolver = new InternalResourceViewResolver();
            resolver.setPrefix("/WEB-INF/jsp/");
            resolver.setSuffix(".jsp");
            return resolver;
        }

        @Override
        public void addResourceHandlers(ResourceHandlerRegistry registry) {
            registry.addResourceHandler("/resources/**").addResourceLocations("/resources/");
        }

1 个答案:

答案 0 :(得分:0)

很久以前这是一个配置问题,只是解决了我的问题