Tomcat没有jsp呈现,没有任何错误或异常

时间:2019-03-04 14:39:07

标签: jsp tomcat firewall

症状:

  • 可运行的Web应用程序(可在其他服务器上运行)
  • 具有jsp /视图。
  • 响应为空(长度:0)
  • 日志中没有异常。
  • 服务器响应可能需要一段时间。
  • 日志与工作服务器的日志没有区别

1 个答案:

答案 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希望获取视图定义文件,但不能,防火墙规则将其阻止。 解决方案:

A。

打开tile.apache.org的防火墙(警告,它可能会滚动IP!),

B。

或在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对所有视图执行此操作。 这是一个很好的长期解决方案。