jboss 6.4 添加mime类型

jboss 6.4 add mime type

我正在尝试创建一个包含视频的jsp页面

<body>
Hello

<video width="400" controls>
  <source src="mov_bbb.mp4" type="video/mp4">
  <source src="mov_bbb.ogg" type="video/ogg">
  Your browser does not support HTML5 video.
</video>

<p>
Video courtesy of 
<a href="https://www.bigbuckbunny.org/" target="_blank">Big Buck Bunny</a>.
</p>


</body>

这在 tomcat 8.5 中有效,但是当我将它移动到我在 jboss 6.4 中的项目时 即 11 抛出错误

AUDIO/VIDEO: Unknown MIME type.

我将 Mime 类型添加到我的项目中 web.xml 作为:

<mime-mapping>
    <extension>mp4</extension>
    <mime-type>video/mp4</mime-type>
</mime-mapping>

我可以将 mimetype 添加到 standalone.xml 吗? 或者我的问题是什么?

注意 在尝试此修改之前备份您的独立或域 xml 文件!

Undertow 实际上是 JBoss EAP 7 的一部分,对于 JBoss EAP 6,请在 standalone.xml 中找到此部分(如果您使用的是独立模式,如果是域模式,请查找 domain.xml)

    <subsystem xmlns="urn:jboss:domain:web:1.4" default-virtual-server="default-host" native="false">
        <connector name="http" protocol="HTTP/1.1" scheme="http" socket-binding="http"/>
        <virtual-server name="default-host" enable-welcome-root="true">
            <alias name="localhost"/>
            <alias name="example.com"/>
        </virtual-server>
    </subsystem>

并添加此条目

<configuration>
     <mime-mapping name="mp4" value="video/mp4"/>
 </configuration>

最后,您的 Web 子系统应该如下所示

    <subsystem xmlns="urn:jboss:domain:web:1.4" default-virtual-server="default-host" native="false">
        <connector name="http" protocol="HTTP/1.1" scheme="http" socket-binding="http"/>
        <virtual-server name="default-host" enable-welcome-root="true">
            <alias name="localhost"/>
            <alias name="example.com"/>
        </virtual-server>
        <configuration>
            <mime-mapping name="mp4" value="video/mp4"/>
        </configuration>
    </subsystem>

不要一字不差地复制上面的整个部分并粘贴到已经存在的作为网络版本,元素和属性可能会有所不同,只需添加配置部分即可。

更新 - 事实证明我并不真的需要添加 mime 类型 headers,至少在 Chrome 中测试时 - 视频显示在具有以下目录结构的网页上很好(请注意,虽然 OGG 格式没有)

终于找到答案了。事实证明,在我插入 MIME 类型的正上方有一个包含所有支持的 MIME 类型的部分。

在我的案例中设置 MIME 类型的正确方法是

<servlet-mapping>
    <servlet-name>fileserver</servlet-name>
    <url-pattern>*.mp4</url-pattern>
</servlet-mapping>