springmvc.xml配置文件中
<!--视图解析器-->
<bean id="internalResourceViewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="WEB-INF/pages/"/>
<property name="suffix" value=".jsp"/>
</bean>
Items实体列对应的controller
/**
* items的controller层
*/
@Controller
@RequestMapping("/items")
public class ItemsController {
@Autowired
private ItemsService itemsService;
@RequestMapping("/findDetail")
public String findDetail(Model model){
//仅当时为了排查错误
System.out.println("++++++++++++++++++++++++++++++++++++++++++++");
Items items = itemsService.findById(1);
System.out.println(items); //仅当时为了排查错误
model.addAttribute("item", items);
return "itemDetail";
}
}
前端页面报错:localhost:8080/maven_super/items/findDetail
转发的路径 /items/WEB-INF/pages/itemsDetail.jsp
经检查发现,居然是手误,视图解析器中的 prefix 对应的 value 前面少写了 /
视图解析器按照前缀无法匹配到响应路径,导致404
当时居然检查了差不多一晚上,各种方法都试过,手动狗头。。。睡了一觉第二天早上,突然就注意到了。
越小的错误和手误越难检查出来,大家一定要细心。实在检查不出来就放一会儿,调整一下心态,说不定会有意外的惊喜。