2

问题是我不想仅仅因为需要对单个 JSP 文件进行更改而替换“war”文件中包含的整个 Web 应用程序。那么是否可以将 JSP 页面部署到 Web 服务器而不将其打包到“war”文件中?如果是这样,那么可以在哪些 Web 服务器上完成(以及如何)?


实际上,我正在寻找像经典 ASP 或 PHP 这样的解决方案。在这些环境中,不需要特定的 XML 配置文件,也不需要将它们打包在扩展为目录的 WAR 文件中。如果我要更改单个 ASP/PHP 页面,那么我只需将其上传到 Web 服务器,它们有一个简单的目录布局。JSP可以做到吗?

4

2 回答 2

4

仅当容器配置为扩展磁盘上的 WAR(大多数默认情况下)时,您才可以直接在扩展的 WAR 文件夹中替换文件。如果容器不支持热部署(大多数生产服务器配置不支持,至少如果它们由非常好的服务器管理员管理),那么您还需要重新启动服务器。


更新:如果您不想使用 WAR 进行部署,而只想手动创建部署文件,那么只需在部署文件夹中直接创建必要的文件夹/文件即可。例如,在Tomcat 7.0中,它是一个与 Servlet 3.0 兼容的容器,只需在其文件夹中创建一个新的子/webapps文件夹。

Tomcat
 |-- bin
 |-- conf
 |-- lib
 |-- logs
 |-- temp
 |-- webapps
 |    `-- jazz
 |         `-- page.jsp
 `-- work

它将以http://localhost:8080/jazz/page.jsp.

如果您希望它像这样位于域根目录上http://localhost:8080/page.jsp,则将子文件夹重命名为ROOT(是的,大写)。您可以删除/重命名包含 Tomcat 默认主页的现有主页。

于 2012-06-12T12:57:41.027 回答
2

大多数 Web 服务器都支持Hot deployment and dynamic reloading. 哪个extracts the WAR file within the server working directory。您可以replace your Modified JSP there在运行时获取纠察队。

在此处查找不同服务器上的热部署:

于 2012-06-12T12:57:33.730 回答