我们得到现有的 JAVA web 应用程序,其中包含:GWT 模块(管理面板)、java servlets 和 src 路径中的一些其他服务以及带有 JSP 和其他静态文件(如图像、css、js)的 war 文件夹。
网络服务器:Tomcat 7
为了构建这个项目,我们使用了 ant 构建脚本。它编译项目、GWT 模块并将其打包到 war 文件中。
现在,我需要将前端(JSP 和其他静态文件)与后端(Java servlet 和其他 Java 代码)分离到不同的 git 存储库中,以允许前端开发人员对其进行编辑。
主要问题是如何在测试服务器上部署系统。他们需要实时看到他们的变化。
不可能在每个前端开发人员的机器上安装 tomcat 和 java,他们也不知道什么是 Java 以及如何编译项目,这就是为什么我们有 tomcat 的测试阶段。
最佳答案
如果不知道项目的确切架构和组织事项,真的很难回答这个问题。
但事实是,JSP 文件在翻译阶段(后端)被翻译并编译成 Servlet。因此,很难将 JSP 文件与 Java WebApp 的其余部分隔离开来。
我会考虑将部分前端 HTML 包含到 JSP 中,即:
<c:import url="http://example.com/frontend/somepart.html" />
不过,您可以将架构分为:
- 后端:由 Tomcat7(Java、Servlets、JSP)提供服务
- 前端:由 HTTP WebServer(Apache、nginx、IIS 或其他)提供服务 - HTML、CSS、JS
应用程序的动态部分可以通过一些使用 mod_jk(在 Apache 中)的 url 模式来代理,由 Tomcat 处理。它可以通过以这种方式使用 GWT 来完成(示例):
- 开发前端
- 包含带有 ID 的空 DIV。
- 在
<script>
中附加 GWT 模块标签。 - GWT 模块附加到 ID。
- 模块加载后,每个服务操作都必须代理到动态部分。假设您的后端在 http://example.com/backend 下因此您需要配置 Apache 服务器以从 Tomcat 服务器提供/backend 模式下的内容。
让前端开发人员编写前端代码(html、css、js 文件)并在不干扰后端开发的情况下在 HTTP 服务器上进行部署。后端开发人员可以轻松地将他们的工作交付到 Tomcat 服务器中。
希望对您有所帮助。
关于java - 如何将 JSP 从主 java 项目中分离出来,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35507958/