This example contains an HTML file and a servlet class, as well as a class with a main()
method that runs an embedded Jetty server.
index.html
<!DOCTYPE html>
<html>
<head>
<title>Embedde Jetty Hello World</title>
</head>
<body>
<h1>Embedded Jetty Hello World</h1>
<p>Hello world!</p>
</body>
</html>
/io/happycoding/HelloWorldServlet.java
package io.happycoding;
import java.io.IOException;
import jakarta.servlet.annotation.WebServlet;
import jakarta.servlet.http.HttpServlet;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
@WebServlet("/hello")
public class HelloWorldServlet extends HttpServlet {
@Override
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws IOException {
response.setContentType("text/html;");
response.getWriter().println("<h1>Hello world!</h1>");
}
}
/io/happycoding/ServerMain.java
package io.happycoding;
import java.net.URL;
import org.eclipse.jetty.server.Server;
import org.eclipse.jetty.servlet.DefaultServlet;
import org.eclipse.jetty.webapp.WebAppContext;
/**
* Starts up a server that serves static files from the top-level directory and
* automatically loads servlets annotated with the @WebServlet annotation.
*/
public class ServerMain {
public static void main(String[] args) throws Exception {
// Create a server that listens on port 8080.
Server server = new Server(8080);
WebAppContext webAppContext = new WebAppContext();
server.setHandler(webAppContext);
// Load static content from the top level directory.
URL webAppDir = ServerMain.class.getClassLoader().getResource(".");
webAppContext.setResourceBase(webAppDir.toURI().toString());
// Look for annotations in classes and packages in the top level directory.
webAppContext.setAttribute(
"org.eclipse.jetty.server.webapp.ContainerIncludeJarPattern", ".*/");
// Start the server! 🚀
server.start();
System.out.println("Server started!");
// Keep the main thread alive while the server is running.
server.join();
}
}
You can view the directory here or download it as a zip file here.
See the Embedded Jetty tutorial for instructions on compiling and running this example.
Use the command line to run an embedded Jetty server.
Happy Coding is a community of folks just like you learning about coding.
Do you have a comment or question? Post it here!
Comments are powered by the Happy Coding forum. This page has a corresponding forum post, and replies to that post show up as comments here. Click the button above to go to the forum to post a comment!