Salah satu keunggulan Java yang susah mencari bandingannya adalah melimpahnya library opensource. Library mulai dari yang sederhana semacam membaca konfigurasi, penanganan file upload atau yang lain. Library-library tersebut bisa dilihat di Java Source, sudah terkategorisasi secara rapi. Tinggal browse dan temukan library yang anda butuhkan. Tetapi saat ini yang ingin saya share adalah menambahkan kemampuan webserver di aplikasi java anda. Ya, anda ngga perlu coding sendiri hanya untuk membuat webserver. Ada 1 library yang hebat yang bernama Jetty. Sebenarnya banyak web server yang bisa ditambahkan atau di embed di aplikasi anda dengan mudah, tetapi pilihan saya jatuh kepada Jetty. Mengapa?

Sederhana saja, karena sangat lengkap fiturnya (jsp, servlet, comet, cgi) , kecil ukurannya (untuk penggunaan standar hanya butuh sekitar 1mb), dokumentasi yang lengkap dan terkenal handal (google dan hadoop pun menggunakannya)

Cara penggunaan yang paling sederhana, cukup bikin servlet sederhana


public class OneServletContext
{
    public static void main(String[] args)
        throws Exception
    {
        Server server = new Server(8080);
        Context context = new Context(server,"/",Context.SESSIONS);
        context.addServlet(new ServletHolder(new HelloServlet()), "/*");
        
        server.start();
        server.join();
    }

    public static class HelloServlet extends HttpServlet
    {
        protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
        {
            response.setContentType("text/html");
            response.setStatus(HttpServletResponse.SC_OK);
            response.getWriter().println("<h1>Hello SimpleServlet</h1>");
            response.getWriter().println("session="+request.getSession(true).getId());
        }
    }
}

Sangat sederhana, ndak neko2. Bahkan, jetty juga bisa jadi container semacam tomcat, jadi bisa di run secara standalone. Cukup dengan extract instalasinya, dan jalankan:

java -jar start.jar

Jadi, apa yang anda tunggu, coba downloadlah dan coba membuat webserver milik anda sendiri. Untuk info lanjut bisa membaca di dokumentasi jetty di link dibawah.

http://docs.codehaus.org/display/JETTY/Jetty+Documentation