JSP编译的目的是什么?

时间:2015-08-07 09:48:05

标签: java html jsp compilation

我目前正在对JSP进行一些更改并将其上传到服务器然后进行编译。

编译后,它会生成该JSP的.class文件。

如果我从服务器中删除JSP,它是否会起作用,因为服务器只会读取该JSP的.class文件?

2 个答案:

答案 0 :(得分:0)

任何编译的目的是什么?

在这种情况下,它的目的是将漂亮的模板语言翻译成服务器将执行的可运行的.class代码。 JVM只能执行Java内容(即.class文件)。 .java文件也是如此。它们看起来不错,但它们不能作为.java文件运行,它们必须先编译。

答案 1 :(得分:0)

如果删除JSP,它将为HTTP Status 404提供描述“description:请求的资源(/yourJSPpage.jsp)不可用。”

由于, 每次浏览器发送JSP文件的http请求时,服务器的JSP引擎都会加载JSP文件。

然后将JSP转换为Servlet文件,然后将其转换为类文件。

如果您发送对同一JSP文件的新请求,则JSP引擎会检查生成的servlet文件是否存在。如果存在,则检查其修改日期是否早于JSP。如果旧的(JSP已被修改)则JSP再次转换为servlet,生成的servlet替换旧的。

如果删除JSP文件,JSP引擎找不到JSP文件。所以服务器给出了上述HTTP 404状态。