The Latest Java Articles, Reviews, and Tutorials
- Be sure to also check the links that follow this section.
- Stop by the Java forum and join the discussion.
Java Ordered Collections: Trees and Skip Lists
Explore Java collections framework classes that implement the SortedSet interface and how they keep a set of objects in a guaranteed order, independent of the order that they are added to the collection.
Math for Java Game Programmers, Venturing into a 3D World
Learn the essentials of programming the math involved in 2D and 3D game development.
Android: A Brief Introduction
Discover Android, an open source mobile platform being developed by Google and the Open Handset Alliance.
Getting Started with the Greenfoot Java IDE
Discover a Java IDE good enough to win a Dukes Choice Award at the 2007 JavaOne conference.
How to Create an Ajax Autocomplete Text Field: Part 10
In the last article, we examined two visual features that could be used to enhance the appearance of the Autocomplete control. This week we'll be delving into the last major functional piece of our Autocomplete Control: key event handlers.
Programming MIDlet Graphics using the Canvas Class
Learn how to use methods of the Canvas class along with methods of the Graphics class to draw text and lines on the cell phone screen. You will also see how to use anchor point coordinates to control the position of text that is drawn on the screen and how to handle keyPressed events fired by a Canvas object.
Pushing Data to the Browser with Comet
See how adding Comet to AJAX will allow you to push data from the server to a client at an undetermined interval.
Java Tip: Simplify Spring Apps with @Autowired
@Autowired is not just for property injection, but also can be used in methods and constructors. Learn to leverage the power of @Autowired into your Java apps.
Math for Java Game Programmers, Putting the Game-Math Library to Work
Learn how to use the game-math library for translation and animation in two dimensions.
Math for Java Game Programmers, Putting the Game-Math Library to Work
Learn how to use the game-math library for translation and animation in two dimensions.
Messaging and the Grid, the Perfect Marriage
Discover what features of messaging middleware apply to Grid computing and see how marrying the two benefits the end user.
Mapping with Google APIs in Android
Google's software platform for mobile devices, Android, will be on physical hardware soon. One of its most popular features is the mapping capability. It allows your software to display and control a Google Map on the device. Take a guided tour of the many great mapping functionalities in Android.
Programming MIDlets for Interactive Behavior
Discover how to add commands to a MIDlet and how those commands are presented to the user in the Sun cell phone emulator. You will also learn how to produce interactive behavior within a MIDlet.
Math for Java Game Programmers, Vector Addition
Learn how to develop a game-programming math library by adding and manipulating vectors.
How to Create an Ajax Autocomplete Text Field: Part 8
This week we look at how to add a vertical scrollbar to the list. We're also going to use a parameter to set the list size, so a vertical scrollbar will appear when the number of items exceeds it.
How to Create an Ajax Autocomplete Text Field: Part 7
In this series we've built a fully functional Autocomplete control within Eclipse. For the remaining installments, we'll be updating the Autocomplete control's layout to CSS, decoupling it from the Autocomplete.jsp page, tweaking the appearance of the list, and implementing additional functionality.
Software Engineering for Ajax - Part 2
Eclipse provides a nice environment for debugging a running Java application. When launched, the application runs in the hosted mode browser. In Debug mode, the hosted mode browser is connected to Eclipse and can use Eclipse's debugging commands.
Software Engineering for Ajax
A great advantage of using the Google Web Toolkit (GWT) when building Ajax applications is leveraging advanced software engineering. This week you'll learn how to use the Java software engineering tools in GWT to build high-quality Ajax applications.
Implement Drag and Drop in Your Web Apps
With the advent of GWT (Google Web Toolkit), we have drag-and-drop capabilities in a Java-based Web application framework. In this solution, we implement drag and drop in its own module, allowing you to easily incorporate it into your applications.
Using Lists in MIDlets
Learn about the Choice interface and the List class, which implements the Choice interface. Learn about the composition of a Choice object. Learn about implicit, exclusive, and multiple Choice types. Learn about the selected state of a Choice element of each of the different types. Learn how to create a List, how to display it in the Sun cell phone emulator, and how to determine which elements in the List are selected.
Good Java Style, Revisited
Learn the elements of good Java code style and why they are important.
Implementing Contextual Web Services
Have you ever wondered what contextual Web Services are? Learn different ways of accessing a user's context in Web Service components and implementing advanced domain services containing non-functional aspects such as personalization.
The Google Collections Library, An Update
It's an unpredictable world! Who would have guessed that within a day of the Google Collections Library article being published, a snapshot update was released that affected some of the samples. Here is a quick update on the new snapshot, and the differences in the API.
Math for Java Game Programmers, Updating the Math Library for Graphics
Learn how to update the game-math library to provide new capabilities including the addition of graphics and set methods for column matrices, points, vectors, and lines. Also, study sample programs that illustrate the use of the new capabilities and learn how to draw on off-screen images.
How to Create an Ajax Autocomplete Text Field - Part 3
This week we'll be developing the AutocompleteServlet. The servlet acts much like an ASP, Perl or PHP script in that it's executed by the server and accepts parameters from the browser.
Simple DirectMedia Layer: Gaming Platform for C++, Java, and More
Got game? SDML immerses you into a complete game developer's environment, including low-level access to audio, keyboard, mouse, joystick, OpenGL, and 2D video framebuffers.
The First Time Ever I Saw Your Face: Getting Started with JavaServer Faces
Find out what this new framework for developing Web-based Java applications has to offer.
Using Alerts, Images, Timers, and Gauges in MIDlets
Learn how to program an Alert for a MIDlet, add an image to the Alert, add a Gauge to the Alert to act as a progress or activity meter, and how to use a Timer to control when an Alert becomes visible on the screen.
The Google Collections Library
The Google collections library has the potential to both increase your productivity and significantly clean up your code. Take a look at what it can do for you!
Consuming RSS Feeds with Ruby
Integrate your favorite RSS feeds into your web site by using Ruby's powerful RSS module.
Math for Java Game Programmers, Getting Started
Examine two sample programs and a sample game-programming math library intended to provide aspiring game programmers with the mathematical skills required for game programming.
Developing an Eclipse BIRT XML Report Rendering Extension
Walk through a sample implementation of a customized XML report rendering extension. The sample code creates a plug-in that writes the data contents of a report to a file in the specified format.
Simplify Your Web Services Development with JSR 181
Free yourself from the underlying implementation details of Web Services and concentrate on core business areas. With JSR 181 development will not only be simplified but also standardized.
Handling Life-Cycle Issues with the MIDlet User Interface
Learn to program MIDlet user interfaces that minimize the MIDlet's memory footprint while the MIDlet is paused making consistent use of the MIDlet class methods to satisfy the life cycle rules of MIDlets.
Telling Time with Ruby
Walk through many of the immensely cool things you can do with Ruby's Time class.
Dynamic Service Discovery with Java
Learn what dynamic service discovery is and what it can do for you. Then see how easy it is to integrate this magic into your own project.
Introduction to the MIDlet User Interface, A First Look
Learn the fundamentals of user interfaces for MIDlets, how to instantiate user interface components, how to cause them to become visible on the cell phone screen, the difference between a Screen and a Display, and much more.
Working with Axis2: Making a Java Class into a Service
Learn how to make a web service from a Java class, the role of allowable Java types, and how to use them when writing a POJO application.
Simple Thread Control With Java's CountDownLatch
Take advantage of Java's CountDownLatch to simplify your multithreaded applications.
Advanced Active Record Validations with Rails
Use Rails' Active Record validation callbacks to exercise greater control over user input.
Understanding the Alpha Time-Base Class in Java 3D
Understanding the Alpha class is critical to understanding Java 3D animation. The constructors for the Alpha class can require up to ten parameters. Learn about the detailed behavior of objects instantiated from the Alpha class, with particular emphasis on understanding the behavior imparted by each of the ten parameters.
Simple Animation with the Java 3D API
Learn how to use the RotationInterpolator and Alpha classes of the Java 3D API, along with other necessary classes, to write simple animation programs. Also learn the rationale by which those classes are used to write animation programs.
Caching Solutions in Java
Once it has been decided that data caching is an integral part of your architecture, choosing the right caching solution can prove to be difficult. This article will help you find the best open-source caching solution available.
Using the Java 2D ColorConvertOp and RescaleOp Filter Classes to Process Images
Learn how to write programs that use the RescaleOp and ColorConvertOp classes of the Java 2D API to perform a variety of filtering operations on images.
Eclipse Tip: Making a Good First Impression
The user's initial encounter with a new software product often influences their overall impression of it. Even though Eclipse provides a powerful mechanism to manage initial user experience, few add-in providers take advantage of it. Learn how to contribute your own content to the Eclipse Welcome page.
Limiting JVM on VPS (Virtual Private Server)
It can be difficult to set up and run Java (JVM) on a Virtual Private Server. If you get past the initial steps, you will see that it is well worth your effort.
Tip: Use Tiles Decorations; Reduce Configuration
Significantly reduce your tiles configuration by leveraging one of the new features of Tiles2. Using the TilesDecorationFilter will save you significant configuration while providing a consistent look and feel throughout your application.
Using the Java 2D ConvolveOp Filter Class to Process Images
Learn how to write programs that use the ConvolveOp class of the Java 2D API to perform two-dimensional image convolution. Also, learn about some of the weaknesses of the ConvolveOp class that result from a lack of options for dealing with convolution output values greater than 255 and less than 0.
Implementing Search Result Pagination in a Web Application
Evaluate three different methodologies in implementing pagination links in a web application: database-driven approach, the middle-tier approach, and some third-party solutions. See which might work best for you.
Tip: Leveraging Struts2 Type Conversion
Type conversion can reduce the amount of heavy lifting required in web application development. Leveraging it will help you to focus on adding business value instead of performing mundane string to object conversions.
Graphics, using Java and JDOM with SVG - Part 2
Expand the JDOM/SVG graphics library to include gradients, Bziercurves, and elliptical arcs. Learn the significance of the word Scalable in Scalable Vector Graphics (SVG). Learn how to use JDOM to write XHTML output files containing SVG/XML code. Learn how to use JDOM to write Java servlets that deliver XHTML output containing SVG/XML code.
Tip: Taking Advantage of Java Generics
Although the syntax can become verbose, Java Generics can help simplify code, express intent, and provide compile time checking of type usage.
Running a JRuby on Rails Application on Tomcat
See how easy it is to get your Rails application running on Tomcat with JRuby!
Graphics, Using Java and JDOM With SVG - Part 1
Learn a little about JDOM as an alternative to Sun's JAXP DOM API. Learn how to create an SVG file using raw JDOM commands. Learn how to write a Java/JDOM/SVG graphics library to reduce the effort required to create SVG files using JDOM and Java.
Drawing grids, Bzier Curves and Elliptical Arcs Using Java and SVG
Learn how to write Java code that uses an SVG graphics library and the SVG/XML path element to efficiently draw grid lines, geometric shapes, cubic Bezier curves, quadratic Bezier curves, and elliptical arcs.
Spring 2.1 Grows New Features and Evolutionary Enhancements
Learn about the new features of Spring framework 2.0 and 2.1 and what they can do for you.
Accelerate Your Java Web Service Development with XFire
Take a look at XFire, a Java SOAP framework that makes working with web services fast and simple. You will create a SOAP client and see how easy it is to use XFire.
NetBeans: Introductions to the Open-Source Project, More Than an IDE
Looking for Java development tools or a Java application framework? NetBeans may be your answer. Learn about the NetBeans IDE, a rich client framework, how to get help, what is available, and an open-source community.
Using the Java 2D BandCombineOp Filter Class to Process Images
Learn how to write programs that extract Raster objects from an image and then use the BandCombineOp image-filtering class of the Java 2D API for a variety of image-processing purposes.
Notifications in a Java/Swing Application
Reduce component coupling by adding a simple one-to-many notification system to your application, and let the recipients decide what to do.
Basic SOA Using REST
This week you'll learn about the basics of implementing SOA components using the REST paradigm. REST stands for Representational State Transfer. For simple applications, REST is an easy way to get started. By Mark Hansen.
Using the Java 2D LookupOp Filter Class to Scramble and Unscramble Images
Learn how to use the LookupOp image-filtering class from the Java 2D API, along with the Random class from the java.util package to write a pair of easy-to-use programs to scramble and unscramble images in a reasonably secure fashion.
Software Requirements Specifications: The Right Way
Software Requirements Specifications are created to describe the functional and the non-functional requirements of what should be implemented in the system. Knowing the rules is not enough to get you where you want to be. Following these rules is what gets you there.
The Benefits of Modular Programming
Nobody writes software entirely in-house anymore. Almost everyone relies upon libraries and frameworks written by someone else. This allows programmers to concentrate on the actual logic of the application and shortens the development time. By Tim Boudreau,
Copying Arrays in Java 6
The new arraycopy method supports more than just copying the entire contents of a source array into a target. It allows for a source and target start index, as well as a length that represents the number of elements to copy.
MVC in a Java/Swing Application: A Simple Demo
The Model-View-Control concept tells you to separate your display components from your business logic. Explore one approach for getting this separation in a simple Swing application.
A Field Guide to Java Direct Web Remoting (DWR)
Introduction to Alice Programming
Review the features of a major 3D interactive graphics Java program named Alice that is used to teach beginners how to program.
REXML: Proccessing XML in Ruby
Take a look at the REXML library and see how you can use it to process XML within your Ruby or Rails application. REXML makes adding XML support to your application a breeze, with a quick learning curve.
Using the Java 2D AffineTransformOp Filter Class to Process Images
Learn how to write programs that use the AffineTransformOp image-filtering class of the Java 2D API for a variety of image-processing purposes.
Java Language Integrity & Security: Fine Tuning Bytecodes
Explore how you can process the bytecodes produced by the compiler to help you improve performance, security, intellectual property protection, and readability issues.
Test-Driving a Java Command Line Application
Can you write unit tests against a command-line app? Should you? Here is a chance to test-drive one possible solution.
Google Web Toolkit Solutions: Cool & Useful Stuff
The Google Web Toolkit (GWT) is a UI framework for Java developers to create interactive user interfaces using familiar idioms from Java's Abstract Window Toolkit (AWT), Swing, and the Eclipse Foundation's SWT. This short cut assumes that you've already installed GWT and have experimented with its basic features.
RJS Templates: Adding Some Ajax Goodness to Rails
Discover how to use the RJS Template feature of Rails to add Ajax functionality to your Rails application. Ajax and Rails together are a powerful combination, and can not only enhance the user experience of your Rails application, but also increase performance because fewer page reloads are necessary to perform tasks.
Focus and Click Events, and Drag-and Drop in Ajax Using the GWT and Java
Learn how to write the Java code necessary to perform drag-and-drop operations in Ajax using the GWT and Java. Also learn a little more about the use of the FocusListener and ClickListener interfaces.
Enhancing Web Forms with Rich Text Editors
Review several implementations of Rich Text Editors (RTE) that dynamically apply HTML markup to plain text before it is submitted to the server. You will see how to install several versions of the editor widgets, and then determine which is best for you.
GuiseT: A New Look for the New Internet Application
Get a quick top-to-bottom overviewincluding functioning Internet applicationsof Guise, a new comprehensive, object-oriented Internet application framework with transparent Ajax support.
An Improved Approach for Creating SVG/XML Code and SVG/XML
Learn to write a method that deals with the escape sequences required for the quotation marks that surround attribute values in XML and a method that makes it possible to create a general node in the DOM tree being used to represent an SVG graphic.
Aligning IT with Business Strategy
A successful project portfolio management system is not just about using the latest methodologies and tools. It's also about getting all the participants involved and on board from the very beginning.
Java Integrity & Security: Uncovering Bytecodes
Understanding what goes on under the hood of an application is a beneficial process. Explore how a class file is designed and how you can disassemble it.
The Recursive Filtering Workbench in Java, Putting it all Together
Like the keystone in an arch, this final installment will teach about two inner classes that form the keystone of the interactive recursive filtering workbench.
Running Your First Rails Application on JRuby
Work step-by-step to install Rails into your JRuby installation and get a simple Rails application up and running.
Event driven programming in Ajax using the GWT and Java
Learn how to write the Java code necessary to accomplish event driven programming using the Google Web Toolkit (GWT)
Internationalization Using String Resource References
Learn about a flexible technique of non-intrusive text referencing for application internationalization.
Java Language Integrity & Security: Serializing Classes
Explore performance and security issues pertaining to serialization of dynamically loaded classes.
Using the Java 2D LookupOp Filter Class to Process Images
Learn how to write programs that use the LookupOp image-filtering class of the Java 2D API for a variety of image-processing purposes.
Java 5's DelayQueue
See how the power of the Java 5 queue implementations, including DelayQueue, as they define constructs for common queueing needs in a thread-safe manner.
Java Performance & Security: Dynamically Loaded Classes
Explore the performance gains as well as the security issues pertaining to dynamically loaded classes.
Controlling Layout in Ajax Web Applications Using the GWT and Java
Learn how to control the layout of a GWT Ajax web application using HTML layout capabilities, the capabilities of the layout classes in the GWT API, and a combination of the two. Also learn more essential aspects of the creation and deployment of GWT Ajax web applications.
EJB 3 Session Beans
Look at the new and simplified EJB 3 model for developing session beans using standard Java language artifacts, such as Java classes and interfaces. You will also learn about session beans (stateless and stateful), including the differences between them and some general use cases for each and how each is used in 2-tier and 3-tier application architectures.
Cure Your Java XML Troubles with a Dose of Castor Oil
Caster gives you the ability to copy the contents of an XML file into a collection of Plain Old Java Objects (POJOs).
Java Language Security: Controlling Access to a Class
Explore a very basic aspect of security that Java developers should be concerned about at the design level.
Creating Ajax Web Applications Using the Google Web Toolkit and Java
Learn the steps involved in getting your computer properly set up, creating, testing, and deploying GWT Ajax web applications. Create and test two simple GWT Ajax web applications in the process.
Java 5's BlockingQueue
BlockingQueue is one very useful building block that can help you quickly and confidently build your own multithreaded applications.
Software Quality Metrics
Managing complexity and finding significant surrogate indicators of program complexity must go beyond merely estimating the number of lines of code the program is expected to require.
Taking on Custom Ant Logging
When all else fails, read the logs! See how to take complete control over Ant's logging system by creating some custom Ant logger classes that put the log messages you want into the format you need.
Eclipse Tip: Create Rich User Interfaces with the HTML Browser Widget
Discover how the SWT Browser widget allows you to embed HTML pages directly into your Eclipse application. Learn how to use it to create visually appealing user interfaces in Eclipse.
Building a Java ME CDC Application Using the SavaJe Phone
Explore the new JSR-209 AGUI package for Java ME CDC devices by writing a Sudoku puzzle application for the SavaJe phone using Eclipse.
Eclipse Tip: Use the Execution Environment to Create Portable Java Projects
Here are things to consider when working with others on a project.
More on Custom Ant Tasks
Sometimes, you just need a little bit more out of Ant. Work through the steps needed to give Ant some additional capabilities.
Understanding the 2D Discrete Cosine Transform in Java: Part 2
Learn how to sub-divide an image before applying a forward and inverse 2D-Discrete Cosine Transform similar to the way it is done in the JPEG image compression algorithm.
Propagating Weblogic 8.x Portals
The propagation tool is here to rescue you from late hours and tedious tasks deploying your portal applications from staging to production (not to mention from developemnt to integration and integration to staging).
Create a Chronological Photo Album with Java
Learn how to create a personal photo album that will be automatically sorted and ordered in correct chronological order, independent from the file system names and locations.
Play it Cool: Creating Reports from Stored Data
Thermal problems have been a major bane of computers since the very first computer was plugged into AC power. See how data can be sent to various reporting applications so it can be charted and trended appropriately.
Dynamic Loading/Reloading of Classes, Part 2
In the second part of this two-part lesson, you will learn three ways to make use of dynamically-loaded classes.
BEA Weblogic Portal 8.x Tips & Tricks
Get the most out of Weblogic with these development tips and tricks.
Objects and Collections: ArrayLists
Discover the pros and cons of using ArrayLists in your Java applications.
Introduction to Custom Ant Tasks
The Apache Ant build tool does many things out of the box, but there may be a time when you need Ant to do something extra. Discover the steps needed to make Ant do those things only you need it to do.
A Recursive Filtering Workbench in Java
Use this interactive workbench to gain a better understanding of the behavior of digital recursive filters. Then learn how to write the code to do recursive filtering as well as to evaluate recursive filters using a workbench-style program.
Developing Ajax Web Applications using ThinWire and Java
ThinWire makes it as easy to develop rich web applications as it is to write standalone Java applications. Just compile your standalone Java application using Sun's javac compiler with the three ThinWire JAR files at the beginning of the classpath and it will be turned into a web application.
Typed and Targeted Property Change Events in Java
Discover a method for using Java generics when listening for property change events, and for identifying when a change occurred in an object other than the event source.
Axis2 Session Management
Developing an enterprise-level application using Web services is not easy unless you have a session management layer. Axis2 has four levels of sessions to address enterprises-level Web service development issues.
Implementing the Intercepting Filter Pattern in Your Enterprise Java Applications
Discover how this presentation tier pattern can simplify Web application development, maintenance, and reusability, as well as promote logic separation.
Decision Making Flags: The How and Why
decisions? Are you tired of having to redirect your users to other pages to provide details? Learn details about the "flag" and how to implement it.
Ajax with the ZK Framework
Discover how to utilize the ZK Ajax framework to develop Web-based Java applications with the look and functionality of desktop applications.
The Axis2 Transport Framework
See how easy Axis2 can work for you. With it you can extend its main functionality within your Web Service applications; among them are transport independency, pluggable modules, systems, even listeners and pluggable transport framework.
Building Java GUIs with Matisse: A Gentle Introduction
In NetBeans 5.0 a new option is available Matisse is Java UI building done right.
Top 10 Component Mistakes
It is true Developers make mistakes. Discover if you've made some of the biggest mistakes in the components you've developed.
How to Create Interactive Web Programs with Java
Now that Java has made the transition from a child prodigy to an established language, it's being used for business software and other applications. This week you'll learn about applet programming and Java Web Start, a way to install and run Java software from within a Web browser.
Java Studio Creator 2 Offers Across the Board Improvement
Learn what's new with the release of Sun's Java Studio Creator 2, a Rapid Application Development environment for constructing Web-based clients around existing databases, Web services, EJBs, or other Java class libraries.
Eclipse Continues to Blaze Among Development Tools
Using More Advanced JDBC Features
Expand your basic knowledge of connecting to a database from a Java application using JDBC. Discover how to use just about any database application you may want. In this example its a Microsoft Access database.
JavaServer Faces and ASP.NET: A Comparison
Take a look at a high-level comparison of two popular technologies available to Web application developers - JavaServer Faces (JSF) and ASP.NET.
Succeeding with Struts: Dynamically Allocated Forms
Sometimes you need to create a form that could have one item in it, or 1000 items. By using the common example of a shopping cart, learn how to create this kind of dynamically sized forms in Struts.
The (J)Face of Eclipse
SWT and JFace are two Eclipse frameworks that represent the foundation of most user interfaces in Eclipse. Find out what they are and how they can help you rapidly develop interactive Eclipse plug-ins.
Sun Java Studio Creator Q and Amp;A: Part 2
Dick Wall and Dan Roberts, Director of Marketing, Developer Tools, continue their discussion on future technologies and features of Sun Java Studio Creator.
Sun Java Studio Enterprise 8.0
Sun announced the release of Sun Java Studio Enterprise 8.0 at JavaOne Tokyo. Here you can find out the details and what they mean to developers.
Who Says EJB 2.1 is Too Hard?
The EJB 2.1 architecture has a reputation of complexity, but this need not be the case. In this article, Dick Wall proposes an approach of aggressively using IDE tools to help simplify development and increase productivity when using EJBs.
Developing Portlets with Apache Pluto
Discover the advantages of using Pluto (the reference implementation of the Java Portlet Specification (JSR-168) as a portlet development environment and the practical steps needed to set up such an environment.
The Sun Certified Java Programmer Certification
Here is a roadmap on the several certification paths Java developers can follow. Pick which one is best for you.
Adaptive Filtering in Java, Getting Started
Learn how to write a Java program to adaptively design a time-delay convolution filter with a flat amplitude response and a linear phase response using an LMS adaptive algorithm.
Groovy Development and Java
Delve into the incredibly powerful Groovy scripting language (aka JSR-241) that will be incorporated into the Java 6 SDK and runs on top of the JVM. This is definitely a tool you will want to include in your programming arsenal.
Introduction to the Java Portlet Specification
Start working with the Java Portlet Specification (JSR-168). Gain a solid understanding of the basics of portals and portlets then try your hand at developing compliant portlets.
Packaging Objects to Preserve Encapsulation
At first, the encapsulation/inheritance dilemma may seem confusing. In fact, you may start to wonder if the whole paradigm is simply too intricate for its own good. Yet, once you finally do understand the issues behind these examples, they really do become interesting intellectual exercises and useful development techniques.
Introducing Java Page Flow Architecture
Explore the basic architecture and components that make up Java Page Flows and NetUI. You will also run through a quick example and then drill down into the overall architecture of these technologies.
Working with the WebWork Framework
Evaluate the WebWork Framework and see if it fits your Java development needs. Walk through the set up and configuration of WebWorks then review a sample application that uses actions and accesses an action's property using tags.
Dissecting Java Page Flows
Take a look at the basic architecture of Java Page Flows and NetUI tags. You'll see the original Page Flows in WebLogic Workshop and then look at the Beehive version. You'll learn about the overall architecture, the classes, and the APIs you'll need to use to leverage Java Page Flows and NetUI.
Axis2 Execution Framework
Looking for more options in Web Services? Discover Axis2, a highly flexible, easily configurable, highly reliable SOAP processing engine. One of the main advantages gained from Axis2 is the dynamic handler chain; although the notion of handler chain remains as in Axis 1.x, the underlying architecture is quite different.
Java Development with Eclipse
Take a brief tour of the Eclipse IDE Workbench and its standard menus and views. Learn about workspaces and the Resource model used by many Eclipse-based tools. While developing a simple Java application, examine some useful JDT features, such as the Content Assistant, Java Refactoring support and Eclipse's Launch framework at work.
Modern Java Frameworks for Web Development
Take a good look at various Java development frameworks, review their features, and the advantages of using them. Also, compare several production quality frameworks, such as Struts, Spring, and Hibernate and go over basic similarities and underlying concepts.
Enrich Your Applications with JSP Components
Discover how to utilize JSP (JavaServer Pages) Tags from a few quality open-source projects to add impressive visual components to J2EE Web applications.
Processing Image Pixels, Performing Convolution on Images
Learn to write Java programs that use convolution (flat filters and Gaussian filters) to smooth or blur an image. Also learn how to write .jpg files containing specialized images that are useful for testing image-processing programs.
Uncover many of the implementation issues of designing constructors in an object-oriented language.
Learn the art and science of constructing objects by exploring how constructors work and why you need them. These concepts are part of the foundation that any programmer will need to make the paradigm shift from procedural programming to object-oriented programming.
Sun Java Studio Creator Q and Amp;A: Part 1
Discover what Dan Roberts, Group Manager of Developer Tools Marketing at Sun has to say about Java Studio Creator.
Easy Web Templates with JDeveloper 10g
Discover how to build and work with J2EE Web application design templates even before the official Web templating support is available in the next JDeveloper version.
Using Maven for Large Projects
For those considering to take the Maven plunge, go for it. Discover what to expect here, especially in relation to Ant.
Manipulating User Data at the Model Layer in Swing
Implement Java Swing data models for components that accept user input, to automatically manipulate it before it is put in the model. See how to limit the input to predefined subsets of characters, memory management for large data sets and filtering of the input data.
Plotting 3D Surfaces using Java
Learn how to write a Java class that uses color to plot 3D surfaces in six different formats and a wide range of sizes. The class is extremely easy to use. You can incorporate the 3D plotting capability into your own programs by inserting a single statement into your programs.
Repeat after me... 'An object must be responsible for itself.' Think of it as a mantra. The concept of object responsibility and autonomy are key issues when designing a useful and secure object. The fact that objects are moved over networks makes object responsibility and autonomy even more important.
Java Reflection in Action
Many times you are asked to add a simple feature to your application. But 'simple' can be deceiving: you have to make many changes, in locations which can be difficult to find. Get a brief look at how Reflections can help you solve those problems.
Dynamic Error Notification and Construction with Java Swing
Dynamically generate notification/validation messages within your applications. The technique can be applied to any GUI developed in Swing. Also add action listeners to any component implicitly and validate data using regular expressions.
Extend Your Options in Java Studio Creator with JSTL
Discover how to use the JSP Standard Template Library (JSTL) to dynamically create useful tags for manipulating data in Java Studio Creator.
Window Focus and State in Java
Learn how to cause a Window to gain the focus and respond to the keyboard even if that Window contains no focusable components. You will also see how to cause a program to use extended Window state to determine that the user has maximized a Window.
Jakarta Commons Online Bookshelf: XML parsing with Digester. Part 1
Written for developers and architects, the Jakarta Commons Online Bookshelf is a collection of over twenty open-source Java tools broadly ranging from logging, validation, bean utilities and XML parsing. It summarizes each component, provides expert explanations and hands-on examples of their use. By Manning Publications.
Digital Signatures using Message Digests with Java
Learn to use the SHA-1 message digest algorithm along with the RSA encryption algorithm to create and use digital signatures that conserve communication bandwidth.
Generics in J2SE
Learn about the compile-time type safety provided by generics in J2SE 5.0. Along the way, you will also learn about the enhanced for loop in J2SE 5.0.
Consuming and Binding EJBs and Data in Creator
Discover how to use EJBs and the data returned from them to bind into on-page controls within Sun Java Studio Creator. See a number of basic approaches covered for binding in the data, and some specific details and notes on that usage within Creator.
Java Book Excerpt: Spring in Action - Part 1
This week, we look at an introduction to Spring. Based on a design principle called Inversion of Control, Spring reduces the complexity of using interfaces and speeds up your application development. You get the power of EJB and get to keep the simplicity of the non-enterprise JavaBean. By Manning Publications.
Developing Web Services with Borland and BEA WebLogic
Build a Web service from an existing Java application using enterprise-level tools, such as JBuilder X or JBuilder 2005 Enterprise and BEA WebLogic Application Server.
Capturing Keyboard Strokes in Java
The processing of a key event by the focus owner is not necessarily the end of the road for that event. Learn how to cause a chain of post processors to spring into action and to perform additional processing on the event before it finally dies.
Adding Charts to Web-Based J2EE Applications
Easily add grapical charts to any Java-based Web applications. Using two popular open-source projects, Cewolf and JFreeChart, developers can provide users a way to visually analyze data through a web browser.
Public Key Cryptography 101 Using Java
Delve into the general philosophy of public key cryptography. Work through sample programs that illustrate various aspects of public key cryptography through the use of the RSA algorithm as implemented using Java.
Java: Service Oriented Architecture, Part 2
Part 2 of our series focuses more on the technical aspects of Service Oriented Architecture and we begin to put together a framework.
JavaServer Faces in Action: An Introduction
JavaServer Faces helps streamline your web development through the use of UI components and events. JSF components (buttons, text boxes, etc.) live between user requests. JSF also synchronizes user input with application objects, automating another tedious aspect of web development. By Manning Publications
JInspired JDBInsight 3.0 Early Access
One of the largest potential bottlenecks that J2EE developers have to deal with is between the application and the RDBMS server. And of course, this is also one of the most difficult areas in an application to test. JInspired's JDBInsight looks to solve our problems in this regard and Drew is taking it for a test ride.
Book Excerpt: Java Reflection in Action
With Java reflection, you learn to work smarter by designing flexible applications where you can easily add new requirements. Topics include: How reflective code generation can address common cross-cutting concerns, how to load new classes dynamically into a running application and how to decide when reflection is the best solution. By Manning Publications.
Java IDE: Editix
EditiX is a cross-platform XML Editor and XSLT Debugger designed to help Web authors and application programmers take advantage of the latest XML and XML-related technologies such as XSLT, XSL-FO, DocBook, SVG or various XML.
Working with JDOM, XPath, and XSLT
This month Keld will give some advice on which tools to use for a given task, and then go further into one of his absolute favorites, JDOM. We'll look at some of the more advanced features of JDOM, namely the use of XPath and XSLT with JDOM.
Java 5: Unleash the Tiger on Your Next Project
Sun has let loose the Tiger. The next version of the Java platform was just released as Java 5 with many enhancements. What happened to versions 3 and 4?
Java: The Utility-Based Development Approach
Programming languages have evolved from machine language to today's high level languages such as Java, C++ etc. With the evolution of these languages, our outlook towards solving a problem has also evolved. This month Samudra clears up the mystery behind the "Utility Based Development Approach" of development and how it can help you to be a better programmer.
Java Server Faces, Web Applications Made Easier
JavaServer Faces (JSF) attempts to standardize the way we develop Java Web applications and provides a set of rich ready-to-use UI components. In this article, Mike Houghton will discuss the JSF technology, what's right, what's wrong and why it's necessary.
QuickJNLP is a utility that allows regular Java applications to be deployed with Web Start. It packs all the necessary files for the application into a Jar file and generates a corresponding JNLP file. The original Java application does not need to modified in any way for use with Web Start.
The Java Memory Model Explained
The Java Language specification has a whole chapter dedicated to explaining how threads and the Java memory model works, but the implementation details of the memory model are minimal and cause a lot of confusion. Enter the "Java Memory Model", JSR 133 tries to explain the memory model in detail and show how the JVM deals with threads and the memory.
Java Relational Database Management System: Why Make the Change?
Your companies information is it's life's blood. When considering what to do with your information and the way it flows a smart Project Manager has to consider Java RDBMS. With it's portability and scalability, it could be cost effective to make the change.
A Closer Look at the Java Rules Engine API
The most frustrating part of a project is change and the sad reality is that change is inevitable. To help us deal with this Benoy investigates the new Java Rules Engine API, which defines guidelines to provide a common API for use in rule engines.
Processing Image Pixels using Java
Richard G. Baldwin shows you how to modify an image by modifying the pixels belonging to that image. He also provides a driver program that makes it easy to modify the pixels in an image and to display the modified image.
Java and Jakarta Struts
Contemplating the purchase of a new Struts book? Upgrading your old one? Programming Jakarta Struts, 2nd edition has been released and the official review is in.
Digesting XML documents
Need a simple solution for reading and parsing your favorite XML files? Well it's time to look at Digester from Jakarta Commons which allows you to extract the parts of the XML document you need, and puts few restrictions on the way you store your data in your program.
Hibernate: A Developer's Notebook, Part 2
Part 2 of the series shows us how to compile the code, connect Hibernate to MySQL, and develop a schema.
The Spring Framework
Officially the spring season might be over but spring stillseems to be lingering around and Benoy is spreading the word. The Spring Framework proposes a new paradigm, a pluggable, non-intrusive and robust framework.
JavaOne Jolts Developer Tribes
Sun Microsystems makes its case for continued stewardship as developers look to maintain their own controls.
Hibernate: A Developer's Notebook
Hibernate: A Developer's Notebook shows you how to useHibernate to automate persistence, allowing you to write natural Java objects and some simple configuration files, and then Hibernate automates all the interaction between your objects and the database.
The Mysteries of Business Objects - Part 1
This month Samudra covers the ground work of defining Business Objects. We will compare EJB and POJO strategies for implementing Business Objects, work out the business logic implementation problems, provide guidelines for how to make Business Objects available to the client applications and more.
A very simple JSP-architecture Part 2
Join Keld Hansen as he adds a couple of new functions to last months "customer-lookup" application. Discussed briefly are the "portability of JSP-pages" and a few tips on how to ease debugging JSP-pages.
The Java Game Development Tutorial - Part 2
Fabian Birzele presents a very detailed introduction into the development of online games using Java. This weeks installment covers using sound and pictures in applets.
Java and XML: putting SAX to work
Keld Hansen takes a look at how you, from a Java program, can read and process an XML file.
The Java Game Development Tutorial - Part 3
Fabian Birzele presents a very detailed introduction into the development of online games using Java. This weeks installment covers mouse and keyboard events.
Making the Switch to Java - Part 5
A fundamental part of the Java language (or any programming language) is Loops. In Part 5 of Making the Switch to Java, Graeme discusses the two most often used type of loop, the for loop and the while loop.
Coding your second Jakarta Struts Application
Keld Hansen takes another step up the Struts ladder. This month he shows you how to build a classic list-detail application with the well-known CRUD-actions: Create, Read, Update, and Delete.
Using SOAP with Java
Brush up on how to use Java and SOAP together in this three part series. In Part 1, Samudra Gupta discusses the basic anatomy of SOAP, the installation of Apache SOAP 2.2 and configuration issues with Jakarta Tomcat 3.2.1 as well as how to develop, deploy and execute a very basic SOAP application.
JProxy is an J2EE HTTP tunnel with SSL and JAAS support for EJB, RMI, JNDI,JMS and CORBA. It was designed with the thought of creating a unified object model that lets you design your solution Internet without worrying about HTTP, Firewall drawbacks, implementation differences between different Application Servers, and integration between J2EE and CORBA standards.
Introducing: the Struts bean and logic Tag Libraries
Keld Hansen discusses two of the Struts tag libraries. Follow along and learn about the bean and logic libraries.
JNIWrapper for Linux
JNIWrapper eliminates the difficulties in working with native code from Java(TM) programs using standard JNI (Java Native Interface) approach. With JNIWrapper you don't have to create native code libraries to call a function of the operating system API or a function from any DLL. You write your code using Java only, and JNIWrapper does the rest.
Struts meets Swing (2)
Keld Hansen shows how the servlet interface, which is normally used from a browser, can also be used from other clients, for example a Swing client.
Struts meets Swing (1)
Most Struts applications use a browser as the client, but the framework is actually open enough to allow other client types. In this first article of two, Keld Hansen takes the browser application from a previous article and connects a Swing client to -- with only a few changes to the code in the original browser application.
Struts in Action
While many Struts applications are written to