【发布时间】:2016-05-18 02:56:39
【问题描述】:
我刚刚发现 Undertow 是如何工作的,我对它的 api 感到惊讶:
Undertow server = Undertow.builder()
.addHttpListener(8080, "localhost")
.setHandler(new HttpHandler() {
@Override
public void handleRequest(final HttpServerExchange exchange) throws Exception {
exchange.getResponseHeaders().put(Headers.CONTENT_TYPE, "text/plain");
exchange.getResponseSender().send("Hello World");
}
}).build();
server.start();
有没有办法像这样使用更方便的servlet api?
Undertow server = Undertow.builder()
.addHttpListener(8080, "localhost")
.setHandler(new HttpHandler() {
@Override
public void handleRequest(final HttpServletRequest request, final HttpServletResponse response) throws Exception {
// ...
}
}).build();
server.start();
我想要实现的是替换当前工作的 Jetty 容器,该容器使用 Undertow 的 servlet api,但在阅读了文档和源代码后,我似乎找不到解决方法这样做。我没有使用 .war 文件,只是一个嵌入式 Jetty。有人指点吗?
【问题讨论】:
-
undertow.io/undertow-docs/undertow-docs-1.3.0/… 中的“创建 Servlet 部署”?
-
正如我所说我没有 .war 文件,我只想将 Undertow 集成到使用 servlet api 类(请求和响应)的现有框架(Spark Web 框架)中。
-
呃,它在哪里说你需要一个 .war 文件? “部署名称”!=“物理战争文件”。
-
了解 ServletContext 在 servlet 环境中的作用/范围/要求,那么所有文档都将开始有意义。