Jetzt wo Jetty 7 zu Eclipse gewandert ist und auch immer modularer wird, schwindet meine Euphorie gegenüber dem Projekt. Das liegt an drei Gründen.
- Viele Jars. Um nur ein einfaches Servlet servieren zu können sind nötig: jetty-continuations (warum es hie eine Abhängigkeit gibt ist mir Schleierhaft), jetty-http, jetty-io, jetty-security, jetty-server, jetty-servlet, jetty-util. (Man kann das auch als ein großes Jar auch den Maven Rep. holen.)
- Umzug nach Eclipse. Durch den Umzug nach Eclipse befinden sich Dokus aus verschiedenen Servern. Es fehlt eine klare Anlaufstelle mit und vollständiger Doku.
- API-Änderungen. Nicht nur der Paketnamen ändert sich, sondern auch ein paar Methoden. Das ist an sich nichts problematisch, ab wenn eben mit Punkt 2 die Dokus nicht immer auf dem neusten Stand sind, nervt das.
Zusammenfassend für ein Servlet:
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.*;
import org.eclipse.jetty.server.Server;
import org.eclipse.jetty.servlet.*;
public class StartJetty
{
public static void main( String[] args ) throws Exception
{
Server server = new Server( 8080 );
ServletContextHandler context = new ServletContextHandler( server, "/" );
context.addServlet( new ServletHolder( new HiServlet() ), "/*" );
server.start();
server.join();
}
}
class HiServlet extends HttpServlet
{
protected void doGet( HttpServletRequest request, HttpServletResponse response )
throws ServletException, IOException
{
response.setContentType( "text/html" );
response.setStatus( HttpServletResponse.SC_OK );
response.getWriter().println( "Hi" );
}
}