Jetty: Rising Star of Server-Side Java?

DZone 's Guide to

Jetty: Rising Star of Server-Side Java?

· Java Zone ·
Free Resource

[img_assist|nid=2381|title=|desc=|link=url|url=http://blogs.webtide.com/gregw/2008/04/11/1207878698135.html|align=right|width=249|height=118]Light and fast seems to be a recipe for success for Jetty these days, giving new life to server side applications in Java. As more and more developers realize they don't need the heavyweight app servers of old, interest in a reliable, free, lightweight "get the job done" Java servers is likely to increase.

So it seems with Jetty, a sometimes overlooked workhorse of Java. Pound for pound you get a lot of power out of Jetty, and its svelte profile may be just what you're looking for.The embeddability and scalability of Jetty seems to have really helped it take off as the embedded server of choice amoung Java tools. According to this article it has reached 12th place among all server implementations in the latest Netcraft Web Server Survey.

The adoption of Jetty should come as no surprise. Looking at the list of "Jetty Powered" applications, you see big names like Eclipse, Spring and JIRA all using Jetty to some degree. There's even a version of Jetty ported over to Google's Android.  Perhaps the use of Jetty in Eclipse is most interesting, where the component based architecture enabled Jetty to move into OSGi. As pointed out in the Webtide blog:

As Jetty's architecture has always been component-based and highly embeddable, moving Jetty into OSGi was something of a natural fit. A while ago, we were contacted by the Eclipse guys to tell us that they'd integrated Jetty into Eclipse's OSGi container - called Equinox - as the Http service.

These uses of Jetty are intruiging, and with current trend of bridging the gap between traditional desktop applications and hosted web applications, it can only continue to grow.

What are your thoughts on Jetty, and how have you used it in your own Java applications?


Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}