没有war文件的JSP部署

标签 jsp

问题是我不想仅仅因为需要更改单个 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/

相关文章:

java - Spring MVC 请求映射类级别

jsp - 如何将对象传递给 View Spring MVC3

jsp - Servlet/JSP MVC 模式如何转换为 JSF/Facelets(特别是服务和 Controller 部分)?

java - Struts 2 和 HTML 标签?

java - 使用请求对象获取 JSP 自定义标记属性的参数值时出错

java - 两种 EL 语法有什么区别?

java - 获取异常-java.lang.IllegalStateException : getOutputStream() has already been called for this response

java - org.smslib 端口使用异常

mysql - 在 Java Web 应用程序上出现错误 [无法为 JSP 编译类] 的根本原因

jsp - 在 JSP 中下载文件