Spring into Seam, Part 2: When stateless and stateful collide
You say adding stateful behavior to Spring beans is too much work? Maybe all you need is a little extra muscle from JBoss Seam. (Excerpted from Seam in Action, forthcoming from Manning Publications.)
Dan Allen, April 2008

Spring into Seam, Part 1: Build a Spring-Seam hybrid component
Who says adopting Seam means giving up Spring? In this first installment in a three-part series, Dan Allen shows you how to build hybrid components that benefit from both Seam and Spring container functionality. Excerpted from Seam in Action, forthcoming from Manning Publications.
Dan Allen, April 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

Acegi Security in one hour
If you've been itching to try Acegi Security, here's your chance for a hands-on introduction. Learn how to set up Acegi's authentication and authorization services for any Java-based Web application, using both standard components and custom implementations.
ShriKant Vashishtha, October 2007

From Java EE security to Acegi
Application security as an enterprise-level concern needs to be carefully addressed by developers. This article compares the security services defined in Java EE and Acegi to help developers select the appropriate security services and program security from an enterprise-wide view.
Dr. Xinyu Liu, March 2007

The year head: The shift to scripting and agility
Enterprises will spend too much this year creating monolithic apps. Most would be better off using scripting languages, Web services, and SOA (service-oriented architecture) to weave together browser-based apps that leverage existing assets.
Alan Zeichick, January 2007

Leverage Spring Web development with Offspring
This article introduces Offspring, a Spring-based Web framework extension. It accelerates and simplifies the design and implementation of Web applications by reusing aspect-oriented modules, thereby separating the responsibilities of the software components and hiding the Java Spring specifics from the development process. Extreme flexibility is achieved by combining the generic framework with specialized modules called executors. Examples from the real Website www.whowillbethere.com, which was built on the principles of Offspring, illustrate this proof of concept.
Edward Salatovka, March 2006

Getting around JSF: The role of JSP
In this excerpt from JavaServer Faces in Action (Manning, November 2004), author Kito Mann explains how JavaServer Pages fits with JavaServer Faces.
Kito D. Mann, December 2004

Foundations of JSP design patterns: The View Helper pattern
This article, an excerpt from Foundations of JSP Design Patterns (Apress, 2004), describes the View Helper pattern and shows how to build a few useful view helpers that you can add to your own toolkit.
Andrew Patzer, November 2004

Solving the logout problem properly and elegantly
Properly handling the logout process in a password-protected Web application requires more than just calling the invalidate() method on the HttpSession object because most modern browsers, with the Back and Forward buttons, allow users to go back or forward on a page. If the Back button causes the browsers to display stale pages from their caches after the logout process, users of these inadequately-developed applications can become confused, lost, and wonder what has or could have happened to their personal data. Many Web applications put up a page threatening users to close their browsers completely, thus, in effect, preventing them from clicking the Back button. Others use JavaScript, which is not always active on clients' browsers. Most of these solutions are either awkwardly implemented, fail to work 100 percent of the time under all circumstances, require too much training on behalf of users, and/or compromise the user experience. This article presents solutions for properly handling the logout problem along with sample programs. Author Kevin Le starts by describing an ideal password-protected Web application. He then uses sample programs to illustrate how the problems manifest themselves and discusses the solutions required to fix the problems. By centering the discussion on JavaServer Pages (JSP), the article presents the concepts that can be easily understood and adopted for other Web-tier technologies. Le concludes his discussion by showing how building Web applications with Jakarta Struts can more elegantly solve the logout problem. Sample programs for both JSP and Struts Web applications are included.
Kevin H. Le, September 2004

Struts best practices
Multiple options are available for solving problems with Struts. When deciding among these alternatives, the choice must be based on parameters such as the scale of work and availability of time. However for large applications and the best quality-of-service needs, every decision becomes crucial and extra efforts are required to choose the appropriate solution. To help you make these decisions, Puneet Agarwal discusses some of the best practices for developing Struts-based applications.
Puneet Agarwal, September 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

Art of Java Web development: WebWork
In this article, an excerpt from his book Art of Java Development, Neal Ford introduces the WebWork open source development framework. He discusses its architecture, configuration, and key concepts.
Neal Ford, March 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

All

Wizard API updated!
Tim Boudreau has released a new version of the Swing Wizard library (version 0.997) that fixes the WizardException bug reported in JavaWorld's recent Open Source Java Project profile. The article's examples have been reworked to test out the new, improved WizardException. Thanks, Tim, for this helpful fix!
Open Source Java Projects: The Wizard API

Newsletter sign-up

Sign up for our technology specific newsletters.

Enterprise Java
View all newsletters

Email Address: