【发布时间】:2016-10-19 16:43:00
【问题描述】:
我很困惑为什么我会在这个新项目中遇到问题。 只要控制器返回一个定义 jsp 文件名称的字符串,只需尝试确保 Spring 在特定目录中返回具有特定名称的 jsp 文件。
@Controller
public class TestController {
@RequestMapping("/test")
public String test2(HttpServletResponse response, HttpServletRequest request) {
System.out.println("Returning test.jsp");
return "test";
}
}
还有视图解析器...
@Bean
public InternalResourceViewResolver viewResolver() {
InternalResourceViewResolver viewResolver = new InternalResourceViewResolver();
viewResolver.setViewClass(JstlView.class);
viewResolver.setPrefix("/WEB-INF/views/");
viewResolver.setSuffix(".jsp");
return viewResolver;
}
在这种情况下,我希望 domain.com/test 上的控制器显示“src/main/webapp/WEB-INF/views/test.jsp”。这似乎在我所有的旧项目上都运行良好,但是在配置这个项目时,它不会合作,我不断收到 404 错误。
任何想法为什么它找不到正确的 jsp 文件来显示?
编辑:问题已解决,解决方案发布在下方。
【问题讨论】:
-
您的视图解析器配置看起来不错。确定控制器被调用了吗?
System.out.println("Returning test.jsp");是否打印任何内容?还要确保您可能的war文件包含视图。 -
打印肯定在发生,所以它不可能是控制器被调用。不要认为war文件应该有所作为,因为我只是通过eclipse启动并且文件存在。
标签: java spring jsp spring-mvc