Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/337.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在不同Java Web项目之间共享表示逻辑_Java_Jsp_Web Applications - Fatal编程技术网

在不同Java Web项目之间共享表示逻辑

在不同Java Web项目之间共享表示逻辑,java,jsp,web-applications,Java,Jsp,Web Applications,我们有两个Java Web应用程序,它们服务于不同的目的(一个用于公共用途,一个用于内部管理),但工作在同一个数据库上。我们将大部分业务和数据库逻辑保留在一个项目中,这是两个项目中包含的第三个项目,效果很好 但是,现在我们希望在应用程序之间共享表示逻辑。(换句话说,我们希望每个应用程序中出现的相同操作类控制相同的页面。) 实现这一目标的最佳方式是什么?JSP是否可以存储在JAR中并使用?两个web应用能否引用通用JSP?两个应用程序是否有共享会话数据的好方法,以便用户可以在两个应用程序之间来回切

我们有两个Java Web应用程序,它们服务于不同的目的(一个用于公共用途,一个用于内部管理),但工作在同一个数据库上。我们将大部分业务和数据库逻辑保留在一个项目中,这是两个项目中包含的第三个项目,效果很好

但是,现在我们希望在应用程序之间共享表示逻辑。(换句话说,我们希望每个应用程序中出现的相同操作类控制相同的页面。)


实现这一目标的最佳方式是什么?JSP是否可以存储在JAR中并使用?两个web应用能否引用通用JSP?两个应用程序是否有共享会话数据的好方法,以便用户可以在两个应用程序之间来回切换?

您希望在两个应用程序之间共享演示逻辑和会话数据的事实表明,这两个应用程序应合并为一个应用程序,管理员比简单用户拥有更多权限。

可以通过以下方法实现您的计划:

  • 为应用程序创建具有多个Web/EJB项目的公共EAR。因此,所有webapp都可以驻留在一个公共EAR文件中,并且可以使用保持在EAR级别的公共jar
  • 就像java项目可以依赖于另一个java项目一样,Web项目也可以依赖于其他Web项目。因此,创建一个带有JSP和实用程序类的公共Web项目。将此公共Web项目添加到其他Web项目的生成路径。它们将继承JSP和Java类,也可以拥有自定义JSP

  • 以上内容将为您提供基本框架。Web应用程序没有共享数据的标准方式。如果希望用户使用公共会话,可以使用SSL或基于令牌的会话维护。来自一个应用程序的会话数据无法复制到另一个应用程序,但您可以将一些逻辑放入EJB中,通过以干净的方式链接它们,可以从两个应用程序调用EJB。

    我们遇到了类似的问题。我们希望在几个项目之间共享JSP。JSP可以存储在maven war包中的一个基本web项目中。然后,您可以作为maven依赖项从基本项目(JSP、CSS、Javasripts等)共享这些资源,并且您可以覆盖依赖项目中的特定JSP、CSS等。它对我们来说非常有效,我们不需要在许多项目中修复同一个JSP


    有关详细信息,请参阅:

    大部分应用程序将不会共享。我在简化情况,现在有三个以上的应用程序。