About

What is Front Man?

Bear Bibeault's Front Man™ is an implementation of the Front Controller and Command patterns that serves as an ultra-lightweight framework (if you could call it that) for quickly creating Java web applications of all sizes.

The purpose of Front Man is to provide an ultra-light-weight web framework that adheres to the principle that the answer to the question "How big should a framework be?" is "Barely enough!".

Download

Where can you get it?

The latest version, Front Man 1.6.2 can be downloaded here.

Documentation

Is there documentation?

There sure is. Full JavaDoc is available within the downloaded zip file, and you can also view it here.

Instructions on setting up and using Front Man is available within the JavaDoc description of the org.bibeault.frontman package.

A good place to ask questions on FrontMan is the Application Frameworks forum at the JavaRanch Big Moose Saloon.

Release Notes

Compatibility

  • FrontMan 1.6.1 is source code backwards compatible with the previous release (1.5.0). Any code written for Front Man 1.5.0 just needs to be recompiled against the new jar file.
  • The init param names for the CommandBroker servlet have changed in a non-backward compatible manner as follows:
    • commandVerbsResourcePath is now commandVerbsProperties
    • viewNamesResourcePath is now viewNamesProperties
    Note that two new init params have been added to the CommandBroker servlet. See below.
  • The only change since 1.6.1 is a fix for a bug that caused some error messages for the CommandNotFound exception to be garbled.

New Features

  • General internal code improvements.
  • Added the ability to map command verbs to Command classes using Java annotations rather than (or in addition to) mapping them in a properties file. See Section 3.1.2 of the documentation for details.
  • Added the ability to map command verbs to command classes without explicit configuration using a "configuration by convention" approach. In this approach, the class name of a Command class to be invoked by a command verb is implicitly surmised by convention. See Section 3.1.3 of the documentation for details.
License

What's the license for Front Man?

The license for Front Man is a BSD-style license that is available in the header of the source files. It reads as:

/*
 * Copyright (c) 2006-2009, Bear Bibeault
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions are met:
 *
 *  - Redistributions of source code must retain the above copyright notice,
 *    this list of conditions and the following disclaimer.
 *  - Redistributions in binary form must reproduce the above copyright notice,
 *    this list of conditions and the following disclaimer in the documentation
 *    and/or other materials provided with the distribution.
 *  - The name of Bear Bibeault may not be used to endorse or promote products
 *    derived from this software without specific prior written permission.
 *
 * This software is provided by the copyright holders and contributors "as is"
 * and any express or implied warranties, including, but not limited to, the
 * implied warranties of merchantability and fitness for a particular purpose
 * are disclaimed. In no event shall the copyright owner or contributors be
 * liable for any direct, indirect, incidental, special, exemplary, or
 * consequential damages (including, but not limited to, procurement of
 * substitute goods or services; loss of use, data, or profits; or business
 * interruption) however caused and on any theory of liability, whether in
 * contract, strict liability, or tort (including negligence or otherwise)
 * arising in any way out of the use of this software, even if advised of the
 * possibility of such damage.
 */