Last active
September 3, 2023 18:30
-
-
Save sunng87/c3439bd1dbafc50062c520ee529929a4 to your computer and use it in GitHub Desktop.
Dead simple setup of Jetty servers
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
///usr/bin/env jbang "$0" "$@" ; exit $? | |
//DEPS org.eclipse.jetty:jetty-server:11.0.15 | |
//DEPS org.eclipse.jetty:jetty-servlet:11.0.15 | |
import static java.lang.System.*; | |
import java.io.IOException; | |
import org.eclipse.jetty.server.Server; | |
import org.eclipse.jetty.server.ServerConnector; | |
import org.eclipse.jetty.server.Request; | |
import org.eclipse.jetty.server.Response; | |
import org.eclipse.jetty.server.handler.ContextHandler; | |
import org.eclipse.jetty.servlet.ServletHandler; | |
import org.eclipse.jetty.servlet.ServletContextHandler; | |
import jakarta.servlet.ServletException; | |
import jakarta.servlet.http.HttpServletRequest; | |
import jakarta.servlet.http.HttpServletResponse; | |
public class Jetty11 { | |
public static class EchoHandler extends ServletHandler { | |
@Override | |
public void doHandle(String target, | |
Request baseRequest, | |
HttpServletRequest request, | |
HttpServletResponse response) | |
throws IOException { | |
baseRequest.setHandled(true); | |
response.getWriter().println("data"); | |
} | |
} | |
public static void main(String... args) throws Exception { | |
var server = new Server(3000); | |
var connector = new ServerConnector(server); | |
server.addConnector(connector); | |
server.setHandler(new EchoHandler()); | |
server.start(); | |
} | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
///usr/bin/env jbang "$0" "$@" ; exit $? | |
//DEPS org.eclipse.jetty:jetty-server:12.0.1 | |
import static java.lang.System.*; | |
import org.eclipse.jetty.server.Server; | |
import org.eclipse.jetty.server.ServerConnector; | |
import org.eclipse.jetty.server.Request; | |
import org.eclipse.jetty.server.Response; | |
import org.eclipse.jetty.server.Handler; | |
import org.eclipse.jetty.server.handler.ContextHandler; | |
import org.eclipse.jetty.io.Content; | |
import org.eclipse.jetty.util.Callback; | |
public class Jetty12 { | |
public static class EchoHandler extends Handler.Abstract.NonBlocking { | |
@Override | |
public boolean handle(Request req, Response resp, Callback cb) { | |
Content.Sink.write(resp, true, "data", cb); | |
return true; | |
} | |
} | |
public static void main(String... args) throws Exception { | |
var server = new Server(3000); | |
var connector = new ServerConnector(server); | |
server.addConnector(connector); | |
var context = new ContextHandler("/"); | |
context.setHandler(new EchoHandler()); | |
server.setHandler(context); | |
server.start(); | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
@sunng87 great, ping me when you have the data and need help or just to discuss. 👍