问题标签 [web-fragment]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
179 浏览

eclipse - Eclipse WTP 显示来自另一个 maven 项目的包含文件的“片段未在预期路径中找到”

我有一个简单的 maven web 项目,由两个模块组成(完整的源代码在https://github.com/0xfthul/bug):

  • bug-fragment:一个网页片段项目
  • bug-war:试图从片段中包含一个文件的战争index.jsp

Eclipse 显示以下错误

我的 Eclipse 屏幕截图,显示错误

当我在 wildfly 中运行这个项目时,它运行时没有错误。如果我在不使用 maven 的情况下创建类似的项目,eclipse 不会显示错误。

在检查错误时,我发现了以下错误报告 (2013): https ://bugs.eclipse.org/bugs/show_bug.cgi?id= 398698 错误报告中提供的项目工作正常。

Eclipse 版本:2019-09 R (4.13.0) 内部版本号:20190917-1200

项目结构:

这是org.eclipse.wst.common.component来自 bug-war 项目的文件内容:

0 投票
1 回答
58 浏览

java - Web-Fragment 中的 JNDI 资源

我正在研究一个网络片段,以隔离我们整个生产过程的一部分所需的专门过程。我正在尝试定义特定于 Web 片段的 JNDI 资源,但我一直遇到一堵砖墙。

该应用程序在 Tomcat 9 中运行。我使用的是 Web-Fragment 规范 4.0。

现在的工作模型是将数据库连接定义为 server.xml 中的全局资源,如下所示:

并在更大的 Web 应用程序 context.xml 中被引用

这按预期工作,我可以连接到资源并检索数据。但是,我不想用不属于主应用程序的项目污染主应用程序的 context.cml。

我尝试将资源链接从主 context.xml 移动到 web-fragment 的 context.xml ,但这会导致以下错误:

我已经将资源定义从 server.xml 移动到 web-fragment 的 web-fragment.xml 甚至 web-fragment 的 context.xml。两个实例都返回相同的错误。

虽然我可以忍受这个实例,但我知道我们将添加和/或迁移更多片段到 web 片段,我真的想将资源引用分离到它们的特定 jar 中。

编辑我应该提到我在从 Eclipse 内部运行 tomcat 时测试所有这些。我认为这不会有什么不同,但我想提一下

这甚至可能吗?

0 投票
0 回答
25 浏览

java - 在资源/META-INF/resources 下无法访问 JAR 中的 JSP

我们正在使用 Web 片段来允许我们的多个位置使用其他 JSP、servlet、Web 服务等来扩展我们的主 Web 应用程序,以满足他们的需求。这些往往是特定于每个位置的需求,我们公司开发人员不想负责维护每个位置代码。

按照通常的结构,所有 JSP 文件都被放置在src/main/resources/META-INF/resources适合所述功能的文件夹下并根据需要放入文件夹中(例如common/scripts/... common/styles/... local/links.jsp)。

但是,其中一个位置有一个名为 resources 的文件夹,他们将其移到了他们的片段项目中,src/main/resources/META-INF/resources/resources. 现在该文件夹下的任何文件都会返回 404 错误。但是,如果将名称更改为resource,则 JSP 将被毫无问题地检索。

我查看了Servlet 3.0 规范Servlet 4.0 规范,我并没有真正注意到有关保留名称等的任何内容。

web-fragment.xml 非常不具描述性,仅包含两个“名称”元素

这不是 Spring 应用程序,纯粹是在 Tomcat 上运行的 Java。那么这个问题仅仅是Tomcat被双重“资源”文件夹(/resources/resources)弄糊涂了还是我错过了其他东西?

0 投票
0 回答
23 浏览

java - 嵌入式 tomcat 不扫描 web-fragment,也不接受 context.xml

我正在尝试将 tomcat 8.5嵌入到遗留的 maven java 应用程序(使用 Apache CXF JAX-RS)。嵌入式 tomcat 能够注册带注释的元素和 web.xml 文件中指定的元素。

似乎很难解决的事情是:

  • 让 tomcat 读取网络片段(这将是这个问题的重复,没有人回答)
  • 让 tomcat 读取context.xml文件以获得所有 servlet的正确上下文路径

我使用了一个示例应用程序来执行这个原型(在应用到真正的应用程序之前),你可以在这个 repo中找到代码。

您可以在此处找到 tomcat 初始化和配置。

相反,您可以在此处找到网络片段。

免责声明:在提交的代码中,web.xmlweb-fragment.xml都存在并且具有相同的组件。但在我所做的测试中,我删除了 web.xml 并只留下了 web-fragment.xml,以检查是否正确扫描和创建了里面描述的所有元素。