Home
What's
New?
com.oreilly.servlet
Servlet
Polls
Mailing
Lists
Servlet
Engines
Servlet
ISPs
Servlet
Tools
Documentation
Online
Articles
The
Soapbox
"Java
Servlet
Programming,
Second Edition"
"Java
Enterprise
Best Practices"
Speaking
& Slides
About
Jason
XQuery
Affiliate
|
Development
Tools
Without tools, people are nothing
more than animals. And pretty weak ones at that. Here's a list of
servlet development tools you can use so you won't be a servlet weakling.
Have an addition? Please write tools-idea at servlets dot com.
- Cyscape BrowserHawk4J
(Highly recommended!)
- BrowserHawk4J is a JavaBean that knows most everything about
client browsers and their capabilities, and makes that information
available to servlets and JSPs. Sites that use BrowserHawk4J can
build pages perfectly targetted for each visitor, making for the
best experience for the user, while providing graceful degradation
for users with older browsers. The code executes fast and is quite
solid -- I know, I helped develop the product. Free evaluation.
Pricing from $99 to $429. The BH4J 2000 version has added the
ability to detect:
- Disabled cookies, disabled JavaScript, and disabled Java
applets
- Visitor connection speed
- Visitor connection type (LAN vs. modem), on IE5+
- Screen size resolution and browser window size
- Screen color depth in bits per pixel (i.e. 16, 32, etc)
- Plug-ins including Flash, Director/Shockwave, Acrobat, Media
Player, RealPlayer, and QuickTime
- Plug-in build/version numbers, on IE5+
- All HDML and WAP devices, including maximum deck size, screen
size, subscriber ids, WAP gateways and more
- All PDA devices
- Ant Build
Tool (Highly recommended!)
- Ant is an amazingly cool build tool. It's named ant because
it's a small tool with power enough to build large projects. It
was developed by Sun to build the Tomcat web server (the reference
implementation for servlets and JSP), and is now open sourced
along with Tomcat. Ant now is the build tool of choice for most
of the Java-Apache projects. It uses simple XML configuration
files to manage the build with tags like <javac>, <mkdir>,
<copyfile>, <deltree>, <rmic>, and such.
Here's some snippets from the build.xml that builds Tomcat:
<target name="prepare">
<mkdir dir="${tomcat.build}"/>
</target>
<target name="main" depends="prepare">
<javac srcdir="src/share" destdir="${tomcat.build}/classes"
classpath="${tomcat.build}/lib/xml.jar" debug="on"/>
<rmic base="${tomcat.build}/classes"
class="org.apache.tomcat.shell.AdminImpl"/>
</target>
<!-- and so on -->
The exciting thing is that each tag is just a class (ie Javac.java)
and you can define your own tags by writing classes for Ant
to load.
Besides being easier to use than "make", ant is also faster
at compiling Java code: The compiler code is loaded within ant
and can be used repeatedly.
Ant has recently become its own project with a separate workspace
so you can use Ant whether or not you're interested in Tomcat.
A manual is available in the distribution under the docs directory.
Source is online at
http://jakarta.apache.org/cvsweb/index.cgi/jakarta-ant/
Source "tarball" is available from
http://jakarta.apache.org/from-cvs/jakarta-ant/
-
-
-
-
- Tea
(Highly Recommended!)
- Tea is an open source product from the Walt Disney Internet
Group,
created internally over the years to solve their tremendous web
production
needs for sites such as ESPN.com. It's similar to JSP although
it avoids
many of JSPs problems, and already has terrific tools support.
-
-
-
- WebMacro (Highly
Recommended!)
- WebMacro is a template engine created by Semiotek as part of
the Shimari
project. WebMacro has been used on commercial sites such as AltaVista.com.
WebMacro is written by Justin Wells and available free under an
Apache-style license. I've used it for parts of Servlets.com and
have found it more useful than JSP. There a vim
(versions 5.5 and later) syntax coloring script
available thanks to Claudio Fleiner.
-
-
-
-
- Apache Velocity
(Highly Recommended!)
- Velocity is a Java-based template engine based on the WebMacro
idea, but was an independent implementation undertaken back in
the days when WebMacro was only under the non-commercial software
friendly GPL. It's since been integrated in open source frameworks
such as Turbine and Melati, and has been used in prominent open
source projects such as JetSpeed. It's open source under the Apache
license. At this moment it's had a final 1.0 release while WebMacro
isn't quite final yet. It comes with a WebMacro to Velocity template
converter script.
-
-
-
-
- Apache Struts
(Highly Recommended!)
- Struts is a project to "provide an open source framework
useful in building web applications with Java Servlet and JavaServer
Pages (JSP) technology. Struts encourages application architectures
based on the Model-View-Controller (MVC) design paradigm, colloquially
known as Model 2 in discussions on various servlet and JSP related
mailing lists."
-
- Apache's Cocoon
- Cocoon is an XML publishing framework based on servlets. It
lets you manipulate the presentation layer using XSLT, which many
find desirable. It's now in Version 2.0. Cocoon also includes
a technology called "XSP" for Extensible Server Pages
which some people adore.
- Apache's Jetspeed
- Jetspeed is an Open Source (Apache license) framework to build
enterprise portals. In the style of famous portals (my.yahoo.com,
www.excite.com) it's intended to present a web front end to changing
information. The information can come from multiple sources, everything
from XML to SMTP, to newer protocols like iCalendar. It's built
using JDK 1.1 and Servlet API 2.0, and features a Portlet API
so content can be pluggable. It's integrated with other Apache
technologies like Cocoon and ECS, supports RSS (Rich Site Summary)
which is the big thing for portals, and even has a way to sync
with Avantgo for Pilot users. With the issues we face running
Servlets.com, Jetspeed might be just the thing. Stay tuned.
- ReportMill
- ReportMill is a graphical page layout tool (written in Swing)
with an ability for its pages to act as templates for servlets.
This lets you create a report graphically and on the web publish
the report as a PDF with customized information for your client.
The Swing app looks great, and it's WebStart enabled so you can
run a demo by
clicking a link.
-
- XMLC
- XMLC makes use of XML to get a nearly 100% separation of content
from presentation. It was created by Lutris as part of their Open
Source Enhydra Application Server, and can be used as a separate
component. Lutris is now defunct but XMLC lives on.
-
- Visual
Engineering's KavaChart
- KavaChart (formerly known as JavaChart) contains a set of servlets
designed to generate charts based on passed-in parameters. If
you want to do dynamic chart creation on the server side, here's
an easy way. And they're FREE!
-
XDE Java Spell Checker
- XDE Java Spell Checker can use a servlet back-end to spell
check an HTML page's textarea on the front end. Prices vary depending
on usage.
- AVIDRapidTools (ART)
- ART is a Java framework for the rapid development of wireless
and wired applications. Developers write a Java class for each
screen, and the ART engine dynamically generated content optimized
for the device currently attached. It supports WAP/WML, i-Mode,
various Compact HTMLs (Palm, GoAmerica, AvantGo, Neomar, Pixo)
and regular HTML. The same screen class file works with servlets,
JSP pages, and Palm PQA files. It includes classes for Phone.com/Openwave
alert message generation, SMS/SMTP messages, JDBC helper classes
and pooling. Download includes the tagtraum's servlet engine and
YoSpace phone emulator. Commercial. PS: you might recognize the
book on the cover of their company
brochure.
- Element Construction
Set
- The Element Construction Set (ECS) package from the Apache
Jakarta Project is a set of servlet utility classes for generating
markup languages such as HTML and XML. It's similar to htmlKona,
as discussed in Chapter 6 of Java Servlet Programming, 1st
Edition, but has the siginificant advantage that it's Open
Source as part of the Apache project. It's developed by Stephan
Nagy and Jon S. Stevens.
- Turbine
- Turbine (formerly known as Dash) is an Apache open source servlet
framework to help "experienced Java developers quickly build secure
web applications." It takes an object oriented approach to web
application architecture. Apache's JetSpeed and Jyve applications
use Turbine internally. The "Screen" component of Turbine responsible
for generating actual content can integrate with tools like WebMacro,
JSP, Freemarker, Cocoon, etc.
-
-
- Expresso Framework
- The open source Expresso Framework is a library of components
to help in creating servlet and JSP-based web applications. There
are components for security, connection pooling, accessing databases,
email connectivity, job control, health checking, logging, event
notification, managing configuration values, and accessing other
server-side components including XML import/export and XSL transformation
capability. It's now being integrated with struts. It's available
under the very open Apache-style license, so source code is free;
and support is available for $950/year.
- Melati
- From their summary: "Melati is a tool for building Java-programmed
websites backed by a database. It provides the following features:
a generic database administration system, allowing the site manager
to edit both the contents and the structure of the database through
a simple web based interface; rapid templating mechanism, using
"templets" (sub-templates) for rendering interface elements
(eg HTML input boxes, dropdowns), and providing an easy interface
with persistent objects; close integration with the Webmacro/Velocity
templating engines; cookie-based or HTTP-based login provoked
automatically by access control failure; full integration with
POEM (Persistent Object Engine for Melati)" Price is free
(open source).
-
- Java Barcode Package
- From their summary: "Easily add barcodes to web and Java applications.
The servlets and applets require no programming; the servlets
may be embedded in HTML with the standard <IMG> tag. The
Java Barcode Packages support Code 39, Code 128, Interleaved 2
of 5, Codabar, UPC, EAN, MSI, Code 11, Code 93, POSTNET, PLANET
and 2D symbologies including PDF417, DataMatrix and MaxiCode.
You may download the evaluation version in a ZIP file which contains
the JavaBean, Applet, Servlet, Class Library, a user manual and
source code for the applet and servlet." Price is $199 for a single
server license.
- eContent
- From their summary: "eContent is a Web-based content management
system for creating enterprise information systems for B2B, B2C,
catalogs, etc. Written in Java servlets for scalability, eContent
offers personalized content, content management, and electronic
resource distribution: built-in security; unlimited table of contents;
unlimites n-level categories; unlimited resources such as static
reports, live reports with drill-downs, executables, all documents
types, OLAP reports, Java programs, online forms and legacy integration.
Includes support for XML-based content, including XSL transformations
for WML support, etc. Integration with Apache Jetspeed. Use servers
as distribution points for reports and other resources created
on a wide variety of platforms - unifying & organizing access
to disparate enterprise data sources."
- J2J
- JDJ is a tool that lets you call server-side Java methods from
client-side JavaScript code, using a hidden applet communicating
with a servlet as the conduit. J2J stands for "Java to JavaScript".
Free for non-commercial use; contact the ColdJava folks for a
commercial license.
- ServletExec
Debugger 2.2
- A basic web server written in Java with the ServletExec servlet
engine built-in. You run the debugger on the server to debug your
servlets, as described in Chapter 13 of my book. For ServletExec
users this debugging tool is particularly useful because you can
move everything to a production server by simply copying over
your classes and ServletExec configuration files. The product
comes with detailed instructions for use with almost all Windows-based
Java IDEs. Changes from 2.1 include support for JSP 1.0 and additional
IDE instructions. Free.
-
- Andere/iS
TE
- A servlet based webmail solution (like Yahoo Mail and Hotmail)
you can use on your site. Free trial version, commercial version
priced from $45 for a single user to $1000 for 100 users. Works
with any servlet engine but comes bundled with Apache+Tomcat.
- MMbase
- MMbase is an open source dynamic content management system,
built using servlets. It's deigned to make publishing a content-rich
website easy, even for people without extensive computer experience.
I suspect MM stands for MultiMedia. MMbase was originally developed
by the Dutch public broadcasting organization VPRO for their own
needs, and they've open sourced the code to help keep it current.
The tool is used on the mmbase.org and vpro.nl sites. Available
under the Mozilla Public License.
-
- OTembo
- According to their site, OTembo is "a small package for building
your own HTML template processor that uses special tags to do
[database] queries. The goal is to make it adaptable to handle
XML code, SGML code or even JSP and ASP pages. Currently, it implements
a tag extension set developed by Object Design, Inc for their
ObjectForms program."
-
Servertec's iScript
- iScript is a server-side interpreted scripting language based
on BASIC but implemented in Java 1.1. It lets you write pages
with a syntax like JSP/ASP but the language is iScript. It's unclear
why you'd choose this over JSP. Binary license is $25/seat or
$500 for a corporate subscription.
-
Servertec's iMake
- iMake is a Java-based build tool modeled after "make" for creating
web pages, classes, object files, libraries, and executables.
It's unclear what this offers over traditional "make", maybe just
that it's written in Java and portable? Binary license is $25/seat
or $500 for a corporate subscription.
- Servertec's
iPP
- iPP is a pre-processor modeled after the traditional C pre-processor
intended to help create web pages from templates. Again, it's
unclear what this offers over traditional "cpp" except the advantage
that it's written in Java and portable and embeddable in another
Java program. Binary license is $25/seat or $500 for a corporate
subscription.
- FreeMarker
- FreeMarker is another template engine for Java Servlets. It's
written by Benjamin Geer and Mike Bayer and available free under
the BSD license. It's on version 2.0.
- Optimize It!
- A performance tool designed to identify bottlenecks in an application.
The tool shows where CPU cycles are being used and where objects
are being created, all with a friendly yet powerful user interface.
It comes with a simple servlet that they say can start Optimizeit
from the following servers: WebSphere (IBM), iPlanet (iPlanet),
ServletExec (New Atlanta Comm), JServ (Apache), WebObjects (Apple),
WebLogic (BEA Systems), Java Web Server (Sun), JRun (Allaire),
ServletRunner (Sun). Probably it just works with all servlet engines.
Available from Intuitive Systems. Priced at $499 for the professional
version, $299 if you're a student.
-
alaJSP
- A tool for separating content from presentation using a servlet
based preprocessor modeled after a "simplified" JSP syntax. Written
by Dmitry Namiot from ColdJava (based in Russia). Free for non-commercial
use, talk to them for commercial licensing terms. Now if only
they could use a decent ISP that doesn't pop open ad windows...
-
Credit Card Validation
- Not all 16 digit numbers are legitimate credit card numbers.
There's actually a checksum included in the number sequence which
can be used to quickly identify obviously mistyped numbers. A
servlet could implement the validity check using the well-known
algorithm. But even
better, the above link contains a JavaScript routine to do the
check on the client side before the order is even sent to a servlet.
Once the number reaches the servlet it can be authorized using
a tool like SkipjackIC.
- GifServlet
- A servlet superclass that provides methods to generate GIF
images using the Acme encoder. Similar to Java Servlet Programming's
Chapter 6 examples -- with the cool additional ability to encode
a color as transparent. Written by Aaron Porter.
- iText
- A library for generating PDF files from a servlet. Useful if
you want to control exactly how your servlet's output will look.
It requires JDK 1.2. It's available for free under the MPL license.
Written by Bruno Lowagie.
- PJ
- Another library for generating PDF files from a servlet. Also
in beta. Available for free under the GPL license; you can buy
support. Written by Etymon Systems.
- retepPDF
- Yet another library for generating PDF files from a servlet.
Only this library has actually been officially released. Available
for free under the LGPL license. Written by Peter Mount.
-
-
-
Gallaware's ServletActionBroker
- A framework to automatically call servlet methods based on
passed-in form data. Essentially, in the form you specify what
method you want called and what parameters you want passed, and
the broker takes care of the rest. Even provides a query mechanism
to find out what functions the servlet can perform. Behaves in
some ways like HTML-to-servlet RMI. Unfortunately, requires significant
manual setup. Currently beta. Free.
Copyright
© 1999-2005 Jason Hunter
| |
webmaster@servlets.com
Last updated:
March 1, 2009
|
|