What is it?

MyVelocityController is a SIMPLE MVC Servlet Framework for fast development of Web applications using a database backend based on JDBC (via JNDI discovery). Its main features are: Due to its orthogonality and very few exceptions, developing applications with MyVelocityController is much easier than with Struts, however, if you're looking for complete control over application flow, stick with Struts, more on this later.

Why another MVC framework?

Note: the following are the original author's (John Villar) opinions, and must not be taken as a fact or as an absolute truth, before doing conclusions do your own research and discuss it on the forums.
This framework was developed out of sheer frustration with the Struts configuration file. The Struts configuration file is at its best confusing and incurs in some redundancies that aren't necesary for most applications. Another issue with Struts is that the actually deployed codebase for tag libraries are JSP dependant and JSP is ill suited for large applications and isn't too maintainable, also, JSP doesn't makes a big effort to separate the Model (a.k.a. Business Logic) from the View.

Why choose MyVelocityController?

The main features of MyVelocityController are the following: Following is a diagram that shows a, not very strict, sequence diagram of the controller when a client makes a request:

DIA diagram file
As you can see, application flow is rather simple. Redirections are handled on the "Action Handler". Overloaded concepts like Forms and form resets, etc. are non-existent, instead a simple and effective parameter extraction class is provided for you to get user parameters. If you are needing controller-handled forms, stick to Struts. In any other case, MyVelocityController is your pick.

How looks the mapping file?

It is very simple, here is a snippet from a sample file of mine:

As you can see, the format is:
/[Relative, MyVelocityController matching, URL]=[Fully Qualified Class Name of the handling action]

MyVelocityController must be allowed to handle a set of files in the Webapp configuration file, it is done with the following servlet mapping code:
  <param-value>[JNDI NAME ON THE APP CONTAINER OF A JDBC RESOURCE]</param-value>

Bugs & Requests

All bugs and requests should be addressed on the SF.net development page.


Download MyVelocityController from the SourceForge.net project page.
Download the MyVelocityController logo on Inkscape SVG format here (~5Kb). Download the MyVelocityController "Powered By" button on Inkscape SVG format here (~7.5Kb).


This is a project developed on precious spare-time, which is a scarce resource :-), so there are many ways in which you can contribute to the MyVelocityController project:

Page hosted @ SourceForge.net Logo, the best source for OpenSource software.
This page is best viewed using any of the excellent Open Source Browsers, including Mozilla Firefox.
This page makes exclusive use of PNG images, Internet Explorer has broken support for them, complains about that will be silently ignored. Complain with Microsoft.