为什么找不到包含的JSP?

时间:2011-08-27 17:17:08

标签: java jsp servlets jspinclude

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 

为什么找不到这个?我检查了位置,它出现在它所说的位置。

3 个答案:

答案 0 :(得分:5)

像这样更改你的jsp包含标签

<jsp:include page="../includes/mainInclude.jsp" />

那应该有用。检查日食是否进入foo目录,否则再加上 ../

答案 1 :(得分:2)

一切都很好看。如果你得到那个错误,那么它只是意味着你在路径中输入错误(区分大小写!),或者文件实际上没有被发布/部署到服务器中,或者实际上需要重新启动服务器。

如果您正在使用例如Eclipse / Tomcat开发并且刚刚在Tomcat运行时添加了该文件,那么您需要确保Tomcat配置为在运行时发布更改。要实现这一点,请在 Servers 视图中双击Tomcat的条目,前往右上角的 Publishing 部分,并确保其设置如下:

enter image description here


默认设置为从不自动发布

答案 2 :(得分:-1)

This should work <jsp:include page="/WEB-INF/jsps/foo/includes/mainInclude.jsp"/>
  • 如果问题仍然存在,请正确清理项目。

  • 检查是否在eclipse的服务器设置中启用了自动发布。

  • 项目的WAR文件可用于在服务器中部署以检查Eclipse中是否存在任何问题。

    Get the WEB-INF folder path