【发布时间】:2011-03-09 03:21:17
【问题描述】:
谁能清楚地描述JRE如何处理包含纯JAVA代码的JSP文件?我知道 JSP 文件的字节码没有放在 WAR 文件中。它由编译后的 CLASS 文件和纯 JSP 文件组成。
它在 Tomcat 的 RUNNING.txt 中说 “Apache Tomcat 6.0 需要 Java 2 Standard Edition Runtime Environment (JRE) 5.0 或更高版本。”
请消除我的痛苦。
【问题讨论】:
谁能清楚地描述JRE如何处理包含纯JAVA代码的JSP文件?我知道 JSP 文件的字节码没有放在 WAR 文件中。它由编译后的 CLASS 文件和纯 JSP 文件组成。
它在 Tomcat 的 RUNNING.txt 中说 “Apache Tomcat 6.0 需要 Java 2 Standard Edition Runtime Environment (JRE) 5.0 或更高版本。”
请消除我的痛苦。
【问题讨论】:
Tomcat 捆绑了 Eclipse 编译器的副本,而不是使用 JDK javac 编译器。它更快(或者至少以前是这样),许可限制更少,并且消除了对完整 JDK 的依赖。
http://tomcat.apache.org/tomcat-5.5-doc/jasper-howto.html
Eclipse JDT Java 编译器现在是 用于执行JSP java源码 编译
这表明在 Tomcat 5.5 之前,需要完整的 JDK。
【讨论】:
lib目录下的ecj*.jar文件吗?
Tomcat 是一个让 JSP 和 Servlet 运行的 Web 容器。 Tomcat 实现 Sun 的Servlet 和JSP 规范。 Tomcat 可以运行编译后的 Java 类文件。为了实现这个目的,它只需要 JRE, 仅此而已。
你知道吗? JSP 也会被转换成 Servlet 代码...
Tomcat 由称为 Catalina(用作 Servlet 容器)和 Jasper(用作 JSP 容器)的 Servlet 和 JSP 执行引擎组成,它将 JSP 代码转换为 Servlet 代码并将其传递给 Catalina 容器。
【讨论】:
.java 源,然后需要进一步编译成.class 文件。 JRE 无法做到这一点,这是问题的要点。