症状:
答案 0 :(得分:0)
将日志详细信息设置为最高(仅启动时就产生了约30 Mb的日志):
*TIMESTAMP* | DEBUG | http-nio-*PORT*-exec-1 | org.apache.commons.digester.Digester:resolveEntity:1732 | Trying to resolve using system ID 'http://tiles.apache.org/dtds/tiles-config_2_1.dtd'
*TIMESTAMP* | DEBUG | http-nio-*PORT*-exec-1 | org.apache.commons.digester.Digester:resolveEntity:1745 | Resolving to alternate DTD 'http://tiles.apache.org/dtds/tiles-config_2_1.dtd'
Tomcat没有给出异常,只是给出了一条有关它的调试消息,但是导致渲染视图失败。 如果防火墙没有正确拒绝连接,则加载时间可能会很长。
原因: Tomcat希望获取视图定义文件,但不能,防火墙规则将其阻止。 解决方案:
打开tile.apache.org的防火墙(警告,它可能会滚动IP!),
或在views.xml文件中使用本地.dtd:
<!DOCTYPE tiles-definitions PUBLIC "-//Apache Software Foundation//DTD Tiles Configurations 1.1//EN" "http://jakarta.apache.org/struts/dtds/tiles-config_1_1.dtd">
收件人
<!DOCTYPE tiles-definitions SYSTEM "-//Apache Software Foundation//DTD Tiles Configurations 1.1//EN" "../dtds/tiles-config_1_1.dtd">
并将dtd文件包含在webapp / WAR中。 不要忘记使用适当的本地URL对所有视图执行此操作。 这是一个很好的长期解决方案。