【问题标题】:what is purpose of JSP compilation?JSP编译的目的是什么?
【发布时间】:2015-10-30 17:19:21
【问题描述】:

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

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

如果我从服务器中删除 JSP,它会因为服务器只读取该 JSP 的.class 文件而工作吗?

【问题讨论】:

  • 来自服务器的 JSP 是什么意思?从tomcat的“webapps”目录中删除所有jsp文件?或任何其他服务器?任何具体原因
  • 编译JSP的目的是……编译它们。将源代码转换为字节码,然后可以在 Java 容器(例如 servlet 引擎)中运行。真正的问题是什么?

标签: java html jsp compilation


【解决方案1】:

编译的目的是什么?

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

【讨论】:

    【解决方案2】:

    如果您删除 JSP,它将给出 HTTP 状态 404,并带有描述“描述:请求的资源 (/yourJSPpage.jsp) 不可用。”

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

    然后JSP转成Servlet文件再转成class文件。

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

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

    【讨论】:

      猜你喜欢
      • 2021-08-02
      • 1970-01-01
      • 2010-09-18
      • 2017-10-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-01
      • 2010-12-13
      相关资源
      最近更新 更多