标签: undertow

使用 Undertow 的多部分表单数据示例

我正在尝试从 html 表单上传文本文件。

有没有关于如何从HttpHandler

java undertow

4
推荐指数
1
解决办法
4948
查看次数

更改WildFly 8 welcome-content以使用myapplication.war

使用WildFly 8时,将浏览器指向显示localhost:8080默认welcome-content页面的结果.

我想改变这种行为,以便myapplication.war显示.

我的standalone.xml文件目前包含以下默认配置: -

<server name="default-server">
  <http-listener name="default" socket-binding="http"/>
  <host name="default-host" alias="localhost">
    <location name="/" handler="welcome-content"/>
    <filter-ref name="server-header"/>
    <filter-ref name="x-powered-by-header"/>
  </host>
</server>
<handlers>
  <file name="welcome-content" path="${jboss.home.dir}/welcome-content"/>
</handlers>
Run Code Online (Sandbox Code Playgroud)

我在JBossDeveloper论坛上发现了一些帖子,建议如下: -

<host name="default-host" alias="localhost" default-web-module="name-of-your.war">
Run Code Online (Sandbox Code Playgroud)

只是添加default-web-module参数似乎不起作用,因为welcome-content页面仍然显示.

从该部分中删除locationfilter-ref项目将host停止welcome-content显示的页面,但会导致HTTP 404 - Not found错误.

谁能告诉我如何解决这个问题?

java-ee wildfly undertow

3
推荐指数
1
解决办法
8034
查看次数

将Spring MVC Spring Security与Undertow Web容器集成

由于Undertow在某些基准测试中打破了可伸缩性记录,因此几乎没有什么信息可用于如何将Spring MVC + Spring Security项目从Tomcat迁移到此新容器中。

有人可以提供一些有关如何进行操作的指针吗?

Undertow声称实现了Servlet 3.1规范,并且是相同的容器。

我以前在Jetty中嵌入过Spring,该过程是否相同,或者到目前为止似乎不可能?

spring spring-mvc spring-security undertow wildfly-8

3
推荐指数
1
解决办法
2001
查看次数

在Undertow中启用HTTPS

我们有一个有效的Apache mod_ssl配置.我想为Undertow启用HTTPS支持,以便它同时监听http和https,从而避免了对Apache的需求.

我查看了Undertow的javadocs.Undertow.Builder类有两个带有以下签名的addHttpsListener方法:

   public Builder addHttpsListener(int port, String host, 
       KeyManager[] keyManagers, TrustManager[] trustManagers);
   public Builder addHttpsListener(int port, String host,
       SSLContext sslContext) {
Run Code Online (Sandbox Code Playgroud)

所以我似乎可以在使用Builder API引导Undertow时使用这些,例如

Undertow server = Undertow.builder()
                    .addHttpsListener(8443, "localhost", sslContext)
                    .build();
Run Code Online (Sandbox Code Playgroud)

我不确定如何创建SSLContext变量,或者如何配置KeyManagers和TrustManagers.拥有mod_ssl正在使用的证书文件,如何继续为Undertow启用HTTPS?

更新:

根据hwellmann的回答,我重用了SslContextFactory.createSslContext()方法.在此之前,我必须将我的公钥/私钥对转换为PKCS12格式并将其导入Java密钥库.

提供SSL转换转换/导入命令(取自此处此处),希望这对任何人都有用:

# Convert to PKCS12    
$ openssl pkcs12 -export -out output_cert.pfx -inkey input_cert.key -in input_cert.crt -certfile intermediate.crt

# Import into Java keystore
$ keytool -v -importkeystore -srckeystore output_cert.pfx -srcstoretype PKCS12 -destkeystore output_store.jks -deststoretype JKS
Run Code Online (Sandbox Code Playgroud)

java ssl https keystore undertow

3
推荐指数
1
解决办法
6476
查看次数

注册新的会话SessionManager

我有野生飞行8.1服务器运行.我有自己的SessionManager实现io.undertow.server.session.SessionManager.我想配置系统使用我的会话管理器.

我应该在哪里以及如何为会话管理器配置/添加新设置?

java session-management wildfly undertow wildfly-8

3
推荐指数
1
解决办法
1730
查看次数

如何将对象从ContainerRequestFilter传递给Resource

我应该如何/应该将一个对象从ContainerRequestFilter传递给(JAX-RS)Resteasy版本3.0.11中的(后匹配)资源,该版本已嵌入并使用Guice?

java jax-rs resteasy undertow

3
推荐指数
1
解决办法
4185
查看次数

以编程方式配置嵌入式服务器

下面的代码允许我创建一个嵌入式底部servlet服务器,我在设置连接器设置的'max-parameters'时遇到问题,我理解它的方式通常是通过xml文件配置的.

   public static String initCustomServer_(Servlet servlet,int preferedPort,String servletName,String[] resourceList,String... domainName){
    String contextURL = null;
    int curPort = preferedPort==-1?9001:preferedPort;
    boolean initServ = false;
    System.out.println("====servlet running in local mode====");
    while(!initServ) {
        try{
            io.undertow.servlet.api.DeploymentInfo servletBuilder = io.undertow.servlet.Servlets.deployment()
                    .setClassLoader(servlet.getClass().getClassLoader())
                    .setContextPath(domainName.length==0?"/":"/"+domainName[0])
                    .setDeploymentName("test.war")
                    .addServlets(
                            io.undertow.servlet.Servlets.servlet(servletName, servlet.getClass()).addMapping("/"+servletName)
                    )
                    .setResourceManager(new io.undertow.server.handlers.resource.FileResourceManager(new File("src/dss_core/HTML5/webapp"), 1));

            io.undertow.servlet.api.DeploymentManager manager = io.undertow.servlet.Servlets.defaultContainer().addDeployment(servletBuilder);

            manager.deploy();

            io.undertow.server.HttpHandler servletHandler = manager.start();
            io.undertow.server.handlers.PathHandler path = io.undertow.Handlers.path(io.undertow.Handlers.redirect(domainName.length==0?"/":"/"+domainName[0]))
                    .addPrefixPath(domainName.length==0?"/":"/"+domainName[0], servletHandler);

            io.undertow.Undertow server = io.undertow.Undertow.builder()
                    .addHttpListener(curPort, "localhost")
                    .setHandler(path)
                    .build();

            server.start();
            initServ = true;
            contextURL = "http://localhost:"+curPort+(domainName.length==0?"":"/"+domainName[0])+"/"+servletName;
        } catch (Exception ex) { …
Run Code Online (Sandbox Code Playgroud)

java undertow

3
推荐指数
1
解决办法
1448
查看次数

如何使用 Undertow 返回要在 Java 中下载的文件?

我试图允许我的游戏客户端下载客户端运行所需的缓存。在我的游戏网络服务器内部我正在这样做:

@RouteManifest(template="/cache", method="GET")
public class APICacheRoute extends RouteHttpHandler<JadePreprocessor> {
    @Override
    public void handleRequest(HttpServerExchange exchange) throws Exception {
        Path path = Paths.get("./cache/Alterscape.zip");
        File file = path.toFile();
        exchange.getResponseHeaders().put(Headers.CONTENT_TYPE, "application/octet-stream");
        exchange.getResponseSender().send(file);
    }
}
Run Code Online (Sandbox Code Playgroud)

但是,我收到错误消息,该文件必须是 ByteBuffer。如何返回文件以供下载?

我的网络服务器如下所示:

public static void initialize() {
    ServerController server = new ServerController("localhost", 8080, 8443);
    server.register(new APIVirtualHost());
    server.inititialize();
}
Run Code Online (Sandbox Code Playgroud)

我的 APIVirtualHost 如下所示:

public APIVirtualHost() {
    super(127.0.0.1);
    setDirectoryListingEnabled(false);
}
Run Code Online (Sandbox Code Playgroud)

java web undertow

3
推荐指数
1
解决办法
1713
查看次数

如何在 WildFly 20 上设置 Samesite cookie?

我需要在 WildFly20 服务器响应上将相同的站点 cookie 属性设置为“严格”。我需要通过服务器配置来完成此操作。有什么帮助吗?

cookies jboss wildfly undertow samesite

3
推荐指数
1
解决办法
4733
查看次数

如何在undertow中配置Spring boot 2.4服务器线程?

如何为 undertow 嵌入式服务器配置 Spring Boot 服务器线程(IO 和 Worker)?提前致谢。

spring spring-boot undertow

3
推荐指数
1
解决办法
6563
查看次数