SpringSource launches app server
Next-generation application server platform based on Spring, OSGi, and Tomcat snubs Java EE.
Chris Kanaracus,
April 2008
Asynchronous HTTP and Comet architectures
There's a lot more to asynchronous, non-blocking HTTP than Comet. Get
an overview of the programming techniques and servlet container extensions that are breathing new life into HTTP on the server
side, with or without the support of the Java Servlet API.
Gregor Roth,
March 2008
Asynchronous HTTP Comet architectures
There's a lot more to asynchronous, non-blocking HTTP than Comet. Get
an overview of the programming techniques and servlet container extensions that are breathing new life into HTTP on the server
side, with or without the support of the Java Servlet API.
Gregor Roth,
March 2008
Is Tomcat an application server?
Whether Tomcat is an app server depends in part on how you're using it, but that's not all. Jeff Hanson explains the formal
differences between app servers, Web servers, and Java EE containers, and also explores usage scenarios where Tomcat is --
and is not -- appropriate as an application server.
Jeff Hanson,
January 2008
REST easy with the JavaBeans Activation Framework
Find out what makes the JavaBeans Activation Framework a perfect vehicle for RESTful data transmission, then put JAF to work
in a sample Web application that tracks requests and responses through a Java Servlet-based system.
Jeff Hanson,
October 2007
SIP programming for the Java developer
In this article, Wei Chen introduces the basic concepts of Session
Initiation Protocol and SIP servlets. He reviews the steps involved
in developing SIP servlets and presents a complete example for
developing, deploying, and running a SIP servlet on SIPMethod
Application Server.
Wei Chen,
June 2006
New features added to Servlet 2.5
In this article, Jason Hunter reviews the changes included in the
latest version of the Servlet specification. This maintenance
release includes support for annotations, several web.xml
conveniences, a handful of removed restrictions, and some edge case
clarifications. (2,600 words; January 2,
2006)
Editor's note: Article updated March 6,
2006.
Jason Hunter,
January 2006
Servlet-based Google Earth tours
Google Earth is an amazing client that has mass-market appeal and
affects how we visualize location information and geographically
related search results. This article describes how to use XML in
combination with an elementary servlet to create tours. Many
opportunities exist to expand on the examples given in this article
to provide truly rich services.
Alan M. Berg,
November 2005
All aboard for more efficient Web applications
In this article, author Edward Salatovka introduces a design
architecture he calls Train. Train allows the simple grouping of
multiple user requests into a single database or network query,
thereby boosting application performance and eventually reducing
hardware requirements. The paradigm's benefits are proven by a load
test against the real implementation.
Edward Salatovka,
April 2005
A Java proxy for MS SQL Server Reporting Services
Generating high-quality print output from a Web application is
often difficult because browsers provide only limited control over
a document's layout. Adjusting page margins or positioning document
elements at a precise location on the page proves impossible when
printing from the browser. When preprinted forms are being used or
when page flow must be controlled tightly, you must use a
server-based document generation engine. Many such technologies and
products are available. A solution should provide good report
development productivity, a GUI report designer, be highly
scalable, perform well (especially when rendering PDF documents for
concurrent sessions), and come with an attractive price tag. We
tested and benchmarked several products and settled for Microsoft
SQL Server Reporting Services (RS).
RS can easily be integrated and deployed in a Microsoft-centric
environment, but making it accessible to a Java Web application
requires some work. This article provides some guidance in
integrating RS with your Java Web application.
Christian Donner and Ilia Papas,
January 2005
The Chain of Responsibility pattern's pitfalls and improvements
The classic Chain of Responsibility (CoR) pattern requires the
individual chain node classes to decide whether the next node
should be called to fulfill the chain's responsibility. This is a
design flaw because, in practice, such a call can be easily
forgotten. In this article, CoR implementations of Microsoft
Windows global hook and Java servlet filter framework are used as
examples to demonstrate that flaw. A solution is proposed, and an
action chain that allows multiple actions to handle an HTTP request
in the Struts framework is discussed.
Michael Xinsheng Huang,
August 2004
Write thread-safe servlets
You finished your Web application, thoroughly tested it, and it's
now deployed. You're feeling bullet proof and 10-feet tall, and
then it happens...the customer-support calls start coming in:
"We're seeing some strange things. A customer is seeing someone
else's information!" As your professional career flashes before
your eyes, you scan for any possible scenarios that you may have
missed. "Did I test it under load? Could that make a difference? I
haven't run into this kind of problem before. Why now?" Well, if
you're a Java programmer and developing Web applications, then
thread safety is an issue you must contend with regardless of your
application type or project size. Your servlet and JavaServer Pages
code is subject to thread safety issues due to the way your servlet
container uses it. This article presents thread safety in simple
terms and explains why it can be an issue for your servlets. You
also learn how to avoid writing non-thread-safe servlets and how to
make servlets thread-safe.
Phillip Bridgham,
July 2004
Servlet and JSP performance tuning
In this article, Rahul Chaudhary describes performance-tuning
techniques (PTT) that can be used to improve the performance of
servlets and JSP pages, thus improving the performance of your J2EE
applications. The author assumes the reader has basic knowledge of
servlets and JavaServer Pages.
Rahul Chaudhary,
June 2004
Multibyte-character processing in J2EE
Most J2EE servers can support multibyte-character languages (like
Chinese and Japanese) very well, but different J2EE servers and
browsers support them differently. When developers port some
Chinese (or Japanese) localized applications from one server to
another, they will always face multibyte-character problems. In
this article, Wang Yu analyzes the root causes of problems related
to multibyte characters and provides some solutions and guidelines.
Wang Yu,
April 2004
Isolate server includes' runtime context
Dynamically included JavaServer Pages (JSP) pages and servlets
offer simple, but limited means for frontend code encapsulation and
reuse. A dynamically included resource often relies on runtime data
(request parameters, JSP-scoped attributes), and this restricts the
runtime context from which it can be included. This article shows
how to achieve true black-box reuse of frontend logic in the form
of JSP pages or Java servlets, by wrapping the servlet request
object and effectively creating a local runtime context for an
included resource.
Borislav Iordanov,
December 2003
Recent top five:
Let's talk about exceptions ...
How do you handle exceptions? Do you think upfront about the type of exceptions that you want to catch or do you just let
the outside world handle it?
-- Jeroen van Bergen in JW Blogs