为 Undertow embedded 设置默认编码
Set default encoding for Undertow embedded
我在我的应用程序中使用 Undertow 作为嵌入式 HTTP 服务器。 URL 编码和查询参数的默认编码是 ISO-8859-1
。我想使用 UTF-8
。我没有在文档中找到任何内容。有什么想法吗?
我在 DeploynentInfo 上设置了 defaultEncoding
。它帮助了我。
DeploymentInfo servletBuilder =
Servlets
.deployment()
.setClassLoader(Main.class.getClassLoader())
.setDeploymentName("myapp").setContextPath("/myapp")
.setDefaultEncoding("UTF-8");
DeploymentManager manager = Servlets.defaultContainer().addDeployment(servletBuilder);
manager.deploy();
Undertow server = Undertow.builder()
.addHttpListener(9090, "localhost")
.setHandler(manager.start())
.build();
server.start();
当前版本的 Undertow 默认编码是 UTF-8。同样对于 non-deploy 模式,您可以使用选项更改默认编码:
Undertow.builder()
.setHandler(...)
.setServerOption(UndertowOptions.URL_CHARSET, "UTF8")
.addHttpListener(port, host)
.build()
.start();
我在我的应用程序中使用 Undertow 作为嵌入式 HTTP 服务器。 URL 编码和查询参数的默认编码是 ISO-8859-1
。我想使用 UTF-8
。我没有在文档中找到任何内容。有什么想法吗?
我在 DeploynentInfo 上设置了 defaultEncoding
。它帮助了我。
DeploymentInfo servletBuilder =
Servlets
.deployment()
.setClassLoader(Main.class.getClassLoader())
.setDeploymentName("myapp").setContextPath("/myapp")
.setDefaultEncoding("UTF-8");
DeploymentManager manager = Servlets.defaultContainer().addDeployment(servletBuilder);
manager.deploy();
Undertow server = Undertow.builder()
.addHttpListener(9090, "localhost")
.setHandler(manager.start())
.build();
server.start();
当前版本的 Undertow 默认编码是 UTF-8。同样对于 non-deploy 模式,您可以使用选项更改默认编码:
Undertow.builder()
.setHandler(...)
.setServerOption(UndertowOptions.URL_CHARSET, "UTF8")
.addHttpListener(port, host)
.build()
.start();