使用插件扩展 Java Web 应用程序

2024-02-09

我的这个 Web 应用程序已经变得一团糟,难以管理。

我想将其分成一个通用的“框架”部分(仍然包括页面和图像等网络内容)和几个添加额外功能和屏幕的模块。我希望这种重构也可以作为第三方扩展的插件系统。

所有模块都需要是单独的部署单元,最好是 war 或 jar 文件。

我试图只制作几个常规的 war 文件,但 Tomcat 将(根据 servlet 规范)这些 war 文件彼此完全分开,因此它们无法共享它们的类。

我需要插件才能看到“主”类路径。

我需要主应用程序对插件进行一些控制,例如能够列出它们并设置它们的配置。

我希望插件本身(除非它们指定依赖项)与可能在同一 Tomcat 上运行的任何其他不相关的 Web 应用程序之间保持完全分离。

我希望它们根植于“主”应用程序 URL 前缀下,但这不是必需的。

我想使用 Tomcat(大型架构更改需要与太多人协调),但也想了解 EJB 或 OSGi 世界中的干净解决方案(如果有)。


我一直在考虑使用 OSGi 来解决您所描述的相同问题。特别是我正在考虑使用Spring动态模块 http://www.springframework.org/osgi.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用插件扩展 Java Web 应用程序 的相关文章

  • XSD 验证错误:在 web.xml 中找不到 TagLib 标记

    我详细显示错误如下 cvc complex type 2 4 a 发现以元素开头的无效内容 taglib One of http java sun com xml ns javaee 描述 http java sun com xml ns
  • 无法从 java 发送 48681 字节消息以保护 wcf 服务

    我必须使用相互身份验证从 java 调用安全的 WCF 服务 一切工作正常 除了我无法发送大小超过 48680 字节的消息 因此 48680 字节的消息已成功发送 但 48681 字节的消息未成功发送 并且 java 应用程序因读取超时异常
  • Emacs 打字骨架对插入也许

    在 Eclipse 中 编辑 Java 代码时 如果我输入一个左括号 我会得到一对括号 如果我然后 输入 第二个括号 它不会插入额外的括号 我如何在 emacs 中得到它 Eclipse 编辑器足够聪明 当我输入闭括号时 它知道我刚刚完成了
  • Java 延迟/等待

    如何将 while 循环延迟到 1 秒间隔 而不减慢其运行的整个代码 计算机的速度到一秒延迟 只是一个小循环 Thread sleep 1000 do nothing for 1000 miliseconds 1 second
  • java.io.IOException: EnsureRemaining: 仅剩余 0 个字节,尝试读取 1

    我在 giraph 中的自定义类方面遇到一些问题 我制作了 VertexInput 和 Output 格式 但总是收到以下错误 java io IOException ensureRemaining Only bytes remaining
  • 使用 WebDriver 暂时绕过隐式等待

    当使用隐式等待时 正如这里所建议的 https stackoverflow com a 10950905 56285 我仍然有时想要断言即时元素不可见或不存在 换句话说 我know有些元素应该隐藏 并希望我的测试做出这样的断言fast 而不
  • Java 增强型 For-Loop 比传统的更快?

    所以我的理解是 增强的 for 循环应该更慢 因为它们必须使用迭代器 但是我的代码提供了混合结果 是的 我知道循环逻辑占用了循环中花费的大部分时间 对于少量迭代 100 1000 增强的 for 循环在使用和不使用 JIT 的情况下似乎都要
  • 写入作为 Jar 文件中的资源包含的 Java 属性文件

    有没有办法修改作为资源存储在 Jar 文件中的属性文件中的属性值 这就是我正在尝试处理的场景 我有一个属性文件作为资源存储在我的 Jar 文件中 有一些系统特定的属性 例如路径 我希望能够为我想要运行 Jar 文件的系统更改此设置 最好的解
  • Java Sound可以用来控制系统音量吗?

    Java 声音优惠FloatControl各种声音线路功能的实例 以及MASTER GAIN http docs oracle com javase 7 docs api javax sound sampled FloatControl T
  • 使android listview布局可滚动

    我有一个 xml 文件 其布局为 ASCII 形式 ImageView TextView List
  • 使用 Oracle Wallet 身份验证从 Spring-jdbc 连接到 Oracle DB

    我将 Spring jdbc 与 org apache commons dbcp BasicDataSource 结合使用 使用用户名和密码进行连接 我想使用BasicDataSource 因为我只有一个连接 我有这个代码
  • 从多个地方绘制 JPanel

    我目前正在为学校开发一款 Java 2D 游戏 我们必须使用抽象工厂设计模式 对于 2D 实现 我使用工厂如下 public class Java2DFact extends AbstractFactory public Display d
  • Spring Security登录返回404

    我目前正在使用 Spring 框架开发我的博客 我正在实现 Spring Security 用于登录目的 一切都按预期进行 直到我提交始终返回 404 代码的登录凭据 这是我的 web xml 代码e
  • 字节流和字符流

    请解释一下什么是字节流和字符流 这些究竟意味着什么 Microsoft Word 文档是面向字节的还是面向字符的 Thanks 流是一种顺序访问文件的方式 字节流逐字节访问文件 字节流适用于任何类型的文件 但不太适合文本文件 例如 如果文件
  • 码头无故停止

    我需要经验丰富的码头用户的建议 我在负载均衡器 亚马逊云 后面维护着 2 台 Linux 机器 使用 Jetty 9 0 3 有时我的 Jetty 容器会被 Thread 2 无故关闭 同时地 显示以下日志并且容器无故停止 没有错误 没有例
  • 在 Struts 2 中使用单个文件标签上传多个文件

    我想使用单个 Struts 2 文件标签上传多个文件 就像在 Gmail 中一样 我们使用 CTRL 键来选择多个文件来附加多个文件 我知道如何上传多个文件 但我想使用单个文件标签 我在一个小画廊应用程序中上传多个文件 如果您的操作已设置为
  • 有没有办法防止 Spring Boot 覆盖 bean?

    与春天的抽象可刷新应用程序上下文 http docs spring io spring docs current javadoc api org springframework context support AbstractRefresh
  • 正确的单元测试技术

    在使用 TDD 时 我发现自己需要测试一个包含查找值的常量 最终 哈希图 请查看更新中出现这种情况的原因 见下文 private static final Map
  • 当键位于父类中时,如何将一对多集合映射到连接的子类

    我想将一对多集合映射到子类 但集合的键是父类的属性 目前我正在映射 AbstractFoo Foo 和 Bar 类 如下所示
  • 无法验证 serde:org.openx.data.jsonserde.jsonserde

    我编写了这个查询来在配置单元上创建一个表 我的数据最初是 json 格式 所以我已经下载并构建了 serde 并添加了它运行所需的所有 jar 但我收到以下错误 FAILED Execution Error return code 1 fr

随机推荐

  • 微服务依赖管理 - 治理还是领域驱动设计?

    背景 由于长期的单体式痛苦 一家采用联邦模式的国际公司正在转型为微服务 能够快速部署的自治团队是非常理想的 尽管理论上如此 但服务确实相互依赖以获得更高的功能 但它们是自治的 独立开发和部署 由于这是联邦模式和分散控制 我们不能像联合国那样
  • Java 安全管理器会降低性能吗?

    实施 Java 安全管理器是否会导致性能下降 这完全取决于实现的细节以及应用程序 当然有可能实现一个需要很长时间来检查某些权限的安全管理器 以及一个需要非常频繁地检查这些权限的应用程序 从而导致可怕的性能 但通常情况下 检查权限的频率不足以
  • 在 Firebase 数据库模拟器中模拟更新

    我的问题很简单 我不知道如何在 Firebase Simulator 中模拟多个更新 由于我什至不知道如何开始 所以我无法提供任何代码 任何指导都会非常有帮助 目前无法在 Firebase 数据库安全规则模拟器中执行多位置更新 拥有该功能就
  • OS X 上的 ssl.SSLError: [SSL: CERTIFICATE_VERIFY_FAILED] 证书验证失败 (_ssl.c:747)

    我正在尝试这段代码 import pandas as pd fiddy states pd read html https simple wikipedia org wiki List of U S states print fiddy s
  • 所有编译时常量都是内联的吗?

    假设我有一堂这样的课 class ApplicationDefs public static final String configOption1 some option public static final String configO
  • 使用 django 和 xgettext 进行本地化

    我正在翻译我的网站 但是当我尝试运行命令时 manage py makemessages locale bs 我不断收到如下错误 CommandError errors happened while running xgettext on
  • 将图像添加到 pandas DataFrame

    假设我有一个 DataFrame 我想导出为 PDF 在数据框中 我有以下列 代码 名称 价格 净值 销售额 每一行都是一个产品 我想向该 DataFrame 中的每个产品添加一个我可以使用 BeautifulSoup 获得的图像 有什么方
  • 网页设计:“向下滚动导航”

    某些网络应用程序中使用的技术是什么 例如http www alfredapp com http www alfredapp com导航在哪里向下滚动网站以显示另一个网站 为了获得这种导航方式 我会将所有内容放在一个页面上并使用 平滑滚动效果
  • Spark sql字符串到时间戳缺少毫秒

    Why is import spark implicits val content Seq 2019 09 11 17 16 54 762000000 toDF year month day hour minute second nano
  • 如何使用 Google 协作平台中嵌入的网络应用程序链接到另一个页面?

    单击新页面的链接后 从用户的角度来看 什么也没有发生 控制台打印出如下错误 不安全的 JavaScript 尝试启动具有原点的框架导航 来自带有 URL 的框架的 https sites google com https n frzjyfh
  • JQuery DatePicker 只读

    当我将日期选择器设置为只读时 我发现用户无法在文本框中输入任何内容 datepicker attr readonly readonly 但是 他们仍然可以使用日历更改该值 如何隐藏日历以使用户无法更改日期值 我不想禁用日期选择器 因为我需要
  • Travis CI:构建矩阵项中的分支过滤器

    我们想知道是否有任何方法可以向 Travis 矩阵项添加过滤器 在我们的特定情况下 我们希望仅在特定分支上运行某些作业 以下示例是配置此场景的理想方法 但它似乎不起作用 matrix include env BUILD TYPE relea
  • 超正方体的替代方案

    Python 或 OpenCV 中是否有替代软件或任何库可以替代 Tesseract 进行字符识别 有什么建议的可以用Python实现的字符识别方法吗 Thanks This site https github com kba awesom
  • Clojure 形式到字符串

    有没有办法将 Clojure 形式转换为字符串 例如 转变 and f 1 g 3 to and f 1 g 3 gt defmacro string it x str x user string it gt string it 1 2 1
  • 在Matlab中循环多个文件

    我需要让 Matlab R2013a 在目录中查找包含 txt 扩展名的所有文件 然后对这些文件执行某些数学表达式 之后 脚本必须打印出与输入文件同名的文件中的数据 除了添加一些新单词以便我可以区分之外 例如 Input file1 txt
  • Java 框架中的单页 Web 应用程序或示例? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 有没有人看过 Java 中的示例或执行过以下操作 http duganchen ca single page web app archit
  • 如何计算两个给定日期之间的月数(基线和后续日期)

    我正在尝试确定基线和随访之间的月数 我的约会看起来像这样 Baseline Follow Up 10 6 15 10 10 17 10 6 15 4 20 18 10 6 15 4 18 18 10 6 15 7 2 18 10 6 15
  • Seam / Spring WebFlow 应用程序中的 StackOverflowError

    我们正在逐步用 Spring MVC 和 Spring Webflow 替换 Seam 组件 运行 JMeter 测试几个小时后 日志会因 StackOverFlowErrors 变得混乱 javax servlet ServletExce
  • 如何在Xcode LLVM中编写有关LOOP的内联汇编代码?

    我正在研究内联汇编 我想在 Xcode 4 LLVM 3 0 编译器下的 iPhone 中编写一个简单的例程 我成功编写了基本的内联汇编代码 例子 int sub int a int b int c asm sub 0 1 2 r c r
  • 使用插件扩展 Java Web 应用程序

    我的这个 Web 应用程序已经变得一团糟 难以管理 我想将其分成一个通用的 框架 部分 仍然包括页面和图像等网络内容 和几个添加额外功能和屏幕的模块 我希望这种重构也可以作为第三方扩展的插件系统 所有模块都需要是单独的部署单元 最好是 wa