项目场景:
SpringMVC项目在Windows下启动,访问正常。打成jar包后,在linux下访问报错
问题描述
Error resolving template “xxx”, template might not exist or might not be accessible by any of the configured Template Resolvers
原因分析:
看到这个问题,我开始以为是没有写@ResponseBody注解导致没返回数据,但是后来去具体的Controller一看,不对啊,这就是跳转的页面啊,具体是这样的,代码如下,压根不需要添加注解啊,而且本地启动访问都是正常的,我尝试去找这个页面,发现怎么都点不过去,然后才发现这个文件夹名字大小写不对,原来文件夹名字是QueryBusiness,试着把代码改了重新打包,访问正常。原来,linux是对文件名大小写敏感的,使用SpringMVC时,一定要保证controller返回的视图名称与实际文件名完全相同,大小写字母也不能忽略。
@RequestMapping("/queryBusiness/queryBusinessIndex")
public String queryBusinessIndex(){
return "/querybusiness/queryBusinessIndex";
}
解决方案:
保证controller返回的视图名称与实际文件名完全相同,大小写字母也不能忽略