main.jsp
是此网络应用目录中的位置:
/WEB-INF/jsps/foo/section/main.jsp
main.jsp
包含以下代码行,以尝试包含mainInclude.jsp
中包含的代码,该代码位于其他目录中:
<jsp:include page="/WEB-INF/jsps/foo/includes/mainInclude.jsp" />
但是,这会产生以下错误:
javax.servlet.ServletException:
File '/WEB-INF/jsps/foo/includes/mainInclude.jsp' not found
为什么找不到这个?我检查了位置,它出现在它所说的位置。
答案 0 :(得分:5)
像这样更改你的jsp包含标签
<jsp:include page="../includes/mainInclude.jsp" />
那应该有用。检查日食是否进入foo目录,否则再加上 ../ 。
答案 1 :(得分:2)
一切都很好看。如果你得到那个错误,那么它只是意味着你在路径中输入错误(区分大小写!),或者文件实际上没有被发布/部署到服务器中,或者实际上需要重新启动服务器。
如果您正在使用例如Eclipse / Tomcat开发并且刚刚在Tomcat运行时添加了该文件,那么您需要确保Tomcat配置为在运行时发布更改。要实现这一点,请在 Servers 视图中双击Tomcat的条目,前往右上角的 Publishing 部分,并确保其设置如下:
默认设置为从不自动发布。
答案 2 :(得分:-1)
This should work <jsp:include page="/WEB-INF/jsps/foo/includes/mainInclude.jsp"/>
如果问题仍然存在,请正确清理项目。
检查是否在eclipse的服务器设置中启用了自动发布。
项目的WAR文件可用于在服务器中部署以检查Eclipse中是否存在任何问题。