在部署任何 Web 应用程序时,JDK 在应用程序服务器中的作用是啥? [复制]
Posted
技术标签:
【中文标题】在部署任何 Web 应用程序时,JDK 在应用程序服务器中的作用是啥? [复制]【英文标题】:While deploying any web-app,What is the Role of JDK in application servers? [duplicate]在部署任何 Web 应用程序时,JDK 在应用程序服务器中的作用是什么? [复制] 【发布时间】:2014-02-14 23:17:43 【问题描述】:由于JDK和JRE之间存在巨大差异。
JRE 用于运行和执行 java 程序,而 JDK 用于开发。
我的问题是,如果我们在任何服务器上部署用 java 创建的 web-app,JDK 在服务器中的作用是什么。
除了应用程序是基于 JSP 构建的,那么它需要 JDK 来根据 JSP 生命周期将 servlet 编译成类文件,但是如果应用程序不在 JSP 中怎么办。
我们可以仅使用 JRE 在服务器中成功运行其他 Web 应用程序(JSP 除外)吗?如果答案是否定的,那么 JDK 在服务器中的作用是什么?
在安装服务器时,如果我们链接 SERVER JRE 那么我们可以得到更好的性能而不是 JRE 吗?
【问题讨论】:
jdk = X + jre,你不需要在服务器上安装 JDK,除非你想在服务器上使用任何开发工具(编译器、jconsole 等) 【参考方案1】:JDK 包含 JRE,它是 Java 程序的运行时环境。当您部署 Web 应用程序(例如在生产环境中)时,它很可能包含预编译 JSP,因此实际上您不需要 JDK,即使是基于 jsp 的应用程序,但如果您的 JSP 未预编译(例如在开发/测试环境中),那么您将需要一个仅包含在 JDK 中的编译器。
假设您只有一个 JAR 文件(显然它只包含类文件),您只需要 JRE 即可运行它,而不需要 JDK。
【讨论】:
以上是关于在部署任何 Web 应用程序时,JDK 在应用程序服务器中的作用是啥? [复制]的主要内容,如果未能解决你的问题,请参考以下文章
ASP.NET Web API 应用程序在 IIS 7 上部署时提供 404
当 web 端口 80 已经在使用时,如何监听 heroku 上的任何端口?