【发布时间】:2017-12-17 15:53:23
【问题描述】:
我有一个 index.jsp,其中包含 header.jsp 和 frontpage.jsp 如下:
<body>
...
<%@ include file="include/header.jsp"%>
...
<table>...<td> <%@ include file="include/frontpage.jsp"%></td>....
在 header.jsp 中:
...
String __jspName = this.getClass().getSimpleName().replaceAll("_", ".");
System.out.println("[header.jsp] used user quota = "+usedNum);
...
在frontpage.jsp中:
...
String __jspName = this.getClass().getSimpleName().replaceAll("_", ".");
System.out.println("[frontpage.jsp] "front_url = " + fp_front_url);
...
其实这是一个意外,我忘记删除其中的一个声明。但是当我在 Tomcat 6 下运行 index.jsp 时,它在 catalina.out 中运行正常(注意:出于安全原因,我省略了 front_url 的值)
...
[header.jsp] used user quota = 0
[frontpage.jsp] front_url = ...
...
我的困惑是:“为什么 JVM 不报告‘变量重定义’异常?”
【问题讨论】:
标签: java jsp include redefinition redefine