问题是我不想仅仅因为需要更改单个 JSP 文件就替换“war”文件中包含的整个 Web 应用程序。那么是否可以将 JSP 页面部署到 Web 服务器上而不将其打包到“war”文件中?如果可以,那么可以在哪些 Web 服务器上完成(以及如何)?
实际上,我正在寻找类似经典 ASP 或 PHP 的解决方案。在这些环境中,不需要特定的 XML 配置文件,也不需要将它们打包到扩展到目录的 WAR 文件中。如果我要更改单个 ASP/PHP 页面,那么我只需要将其上传到 Web 服务器,它们具有简单的目录布局。 JSP 可以吗?
最佳答案
仅当容器配置为在磁盘上展开 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 默认主页的现有主页。
关于没有war文件的JSP部署,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10996977/