这可能听起来很愚蠢,但我需要验证一件事。这是否意味着如果计算机中没有Java虚拟机,您的(jsp)中的Java代码将无法正常工作? 感谢
答案 0 :(得分:7)
如果您在服务器端是,则需要JVM。
如果您在客户端否
服务器将编译{JSP并最终} [使用JVM]将创建HTML并将其作为响应发送到客户端,并将您作为响应发送给您,您不需要JVM来呈现HTML。
答案 1 :(得分:5)
为了澄清,JSP的生命周期(删节,但会帮助您理解)是:
1)用户的浏览器请求资源(这可能导致执行JSP的请求)。
2)检查JSP以查看自上次编译后它是否已更改。
3)如果JSP发生了变化,JSP代码将由JSP编译器转换为Java类。
4)然后执行java代码以生成HTML输出。
5)然后将HTML输出发送到浏览器。
因此
从客户端 - 不!。用户只看到HTML,他们只需要一个浏览器。
从服务器端 - 是,等等!。您需要一个JVM(更具体地说是一个JDK)和一个servlet容器来执行上面生命周期中概述的必要步骤。
答案 2 :(得分:2)
您是否需要拥有一个jvm才能访问用JSP编写的网页?
对于服务器端,这是正确的。对于客户端,它是不正确的。
JSP编译为Java,调用用Java编写的标记类,在某些情况下实际上嵌入了Java代码。 JVM(或更准确地说是Java执行平台)在服务器端执行生成的Java代码是必不可少的。实际上,它通常需要是JDK平台而不是JRE平台来编译JSP编译器生成的Java源代码。 (理论上,你可以通过预编译所有的JSP来逃避JRE ......但是你会失去很多灵活性。)
(我想你可能会狡辩说,有可能在执行平台上执行类似Java的代码,这些代码不会像Java虚拟机那样通过...根据Oracle关于使用相关商标的规则但这可能与这个问题的主旨无关。)
您不需要在客户端(浏览器)端使用Java,但这是因为JSP纯粹是服务器端实体。它们永远不会传输到用户的浏览器。相反,它们由服务器执行以生成HTML(或其他类型的资源),然后传输到用户的浏览器。
答案 3 :(得分:2)
需要JVM将JSP编译为呈现给浏览器的HTML。这意味着服务器必须具有JVM,但您的客户端计算机不需要JVM。编译的JSP生成的HTML将由任何浏览器读取
答案 4 :(得分:2)
您需要服务器端的Servlet / JSP容器。由于servlet容器是用java编写的,你在服务器端也需要jvm。 JSP只是动态创建HTML内容,因此您只需要在客户端使用HTML浏览器。 如果生成的HTML代码引用了插件,则需要在客户端使用这些插件。例如,您需要Flash来播放FLV文件和Java插件(例如JVM)来运行java。但它不依赖于服务器端使用的技术。