如何将 JSP 与主 java 项目分开

How to separate JSP from main java project

我们得到了现有的 JAVA Web 应用程序,其中包含:GWT 模块(管理面板)、java servlets 和 src 路径中的一些其他服务以及 war 文件夹 JSP 和其他静态文件,例如:图像、css、js.

网络服务器:Tomcat7

为了构建这个项目,我们使用了 ant 构建脚本。它编译项目、GWT 模块并将其打包到 war 文件中。

现在,我需要将前端(JSPs 和其他静态文件)与后端(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、Servlet、JSP)
  • 提供服务
  • 前端:由 HTTP WebServer(Apache、nginx、IIS 或其他)提供服务 - HTML、CSS、JS

应用程序的动态部分可以由一些 url 模式代理,使用 mod_jk(在 Apache 中)由 Tomcat 处理。可以通过这样的方式使用 GWT 来完成(示例):

  1. 开发前端
  2. 包含带有 ID 的空 DIV。
  3. <script> 标签中附加 GWT 模块。
  4. GWT 模块附加到 ID。
  5. 模块加载后,每个服务操作都必须代理到动态部分。假设您的后端在 http://example.com/backend 下,因此您需要配置 Apache 服务器以从 Tomcat 服务器提供 /backend 模式下的内容。

让前端开发人员编写前端代码(html、css、js 文件)并在不干扰后端开发的情况下在 HTTP 服务器上进行部署。后端开发人员可以轻松地将他们的工作交付到 Tomcat 服务器。

希望对您有所帮助。