Это Jetty 8, эквивалентный вашему коду.Это все так же просто, как и раньше, однако API немного изменился.
Если это не работает для вас, то у вас, вероятно, есть проблема с classpath - Jetty 8 разделен на множество независимых jarфайлы, и вам понадобится несколько из них.По крайней мере, вам нужно:
- Jetty-продолжение
- Jetty-http
- Jetty-IO
- Jetty-Security
- jetty-server
- jetty-servlet
- jetty-util
- servlet-api
Если у вас есть эти банки, то этот коддолжно работать нормально:
package test;
import java.io.IOException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.eclipse.jetty.server.Server;
import org.eclipse.jetty.servlet.ServletContextHandler;
public class Jetty8Server {
public static class MyServlet extends HttpServlet {
protected void service(HttpServletRequest request, HttpServletResponse response) throws IOException {
response.setContentType("text/plain");
response.getWriter().write(getClass().getName() + " - OK");
}
}
public static void main(String[] args) throws Exception {
Server server = new Server(8080);
ServletContextHandler handler = new ServletContextHandler(ServletContextHandler.SESSIONS);
handler.setContextPath("/"); // technically not required, as "/" is the default
handler.addServlet(MyServlet.class, "/communication-service");
server.setHandler(handler);
server.start();
}
}