2

我找不到在 jboss 6 上将目录添加到我的应用程序上下文的正确方法。我将使用此映射来处理静态内容。有人可以帮帮我吗?

4

3 回答 3

3

JBoss 6 中没有更多的“虚拟目录”。显然这在 JBoss 5 中消失了。我发现的唯一可用选项是:

  1. 在您的静态内容目录中创建一个空白的 /WEB-INF/web.xml(就像 <web-app/>),并在您的 jboss 部署目录中创建一个带有 .war 扩展名的符号链接。您还可以将包含静态内容的目录复制到部署目录,但我发现符号链接更有用。
  2. 创建一个带有 servlet 的 webapp,该 servlet 从配置的目录中提供静态内容(在此处讨论)
  3. 如果您使用像 spring mvc 3 这样的 Web 框架,您可以使用“资源”功能为您提供内容(在此处讨论)
于 2011-05-20T00:34:11.410 回答
0

该线程帮助我在 jboss eap 5.1 上提供的外部目录中获取静态内容,而无需使用链接,也无需移动或重命名 ROOT.war 文件夹。

请注意,您仍然需要创建一个目录结构来诱使 jboss 提供您的内容。这不像在 server.xml 文件中的 <Host name="localhost"> 中添加 <Context> 子元素那么容易。这似乎是一个 hack,但至少它有效。

于 2013-08-08T20:07:14.143 回答
0

坏消息是您只能在 JBoss 应用程序中提供静态内容。好消息是,将任何文件夹转换为应用程序文件夹非常容易。

最简单的解决方案是将所有静态内容复制到您的server\default\deploy\ROOT.war目录中。

下面是一个更复杂的解决方案。

  • ROOT.war文件夹复制到您要放置静态内容的位置。

  • 重命名为您喜欢的任何名称,但它必须以例如.ROOT.war结尾。.warmy_static_content.war

  • 将所有静态内容放入该目录。

  • 对包含静态内容文件夹的文件夹启用外部部署。使用JBoss 6JBoss 5进行外部部署

  • 重启 JBoss

  • 您的内容将进入 URI http:\\localhost:8080\my_static_content\。您必须指定要提供的文件的确切名称,因为不允许列出目录。

于 2012-04-26T20:59:03.963 回答