如何配置 Undertow 以将字符集添加到文本/内容类型?

Posted

技术标签:

【中文标题】如何配置 Undertow 以将字符集添加到文本/内容类型?【英文标题】:How can I configure Undertow to add a charset to text/ content types? 【发布时间】:2016-10-27 09:27:06 【问题描述】:

我有一个以编程方式启动的 Undertow 服务器(不作为任何容器的一部分运行)。

我的静态资源在PathResourceManager 上使用ResourceHander 提供,是UTF-8 编码的,但PathResourceManager 发送的mime 类型不包含字符集。

我宁愿不屈服于构建一个全新的MimeMappings 表并安装它。

有没有办法使用处理程序将charset 添加到以“text/”开头的CONTENT-TYPE 的响应中?

【问题讨论】:

【参考方案1】:

我在我的代码中这样做了:

handler = path()
        .addPrefixPath("/", resource(new FileResourceManager(webStaticDir, 1024))
        .setMimeMappings(MimeMappings.builder(true)
                .addMapping("html", "text/html;charset=utf-8")
                .build()));

也许您可以根据自己的情况进行调整。

【讨论】:

看来我必须为每个文本/映射都这样做,这很可惜。为什么我不能只继承我不知道的 MimeMappings。 是的,他们似乎在没有解释原因的情况下明确否认了这一点。也许你可以提交一个补丁,让构造函数更加可见?

以上是关于如何配置 Undertow 以将字符集添加到文本/内容类型?的主要内容,如果未能解决你的问题,请参考以下文章

使用 Undertow 的基于文本的处理程序配置格式的示例

访问 VBA 以将 SUM() 添加到查询字符串

嵌入式 Undertow 日志输出

尝试遍历字符串以将某些字符添加到新字符串

如何使 QPushButtons 将文本添加到 QLineEdit 框中?

制作自己的虚拟键盘