讨厌问一个简单的配置问题,但我是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/");
}
答案 0 :(得分:0)
很久以前这是一个配置问题,只是解决了我的问题