In addition to Struts, you might also look at the open source
Expresso Framework which has a very large community of developers (>4300 on
the listserv) at www.jcorporate.com. It provides a repository of components you
mentioned and is extensible and very configurable enabling applications to be
rolled out more quickly.
Expresso integrates with Struts which is a MVC light weight
framework emphasizing presentation and application configuration, and bringing a
powerful tag library to Expresso; whereas Expresso adds capabilities for
database-stored security, robust object-relational mapping, background job
handling and scheduling, self-tests, log4j logging integration, automated table
manipulation, database connection pooling, email connectivity, event
notification, caching, internationalization, XML automation, testing,
registration objects, configuration management, automatic database maintenance
and JSP tag library etc.
I'm relatively new to java web programming, so I
would like some input from other more experience users. I've been doing
web development for quite some time now, and over the years have developed a
large codebase consisting of a lot of administration/updater
functionality. It seems most of the work I end up doing is writing admin
pages which do basic updating of text in a database to be displayed to users
in a display page. Apps like headline/news pages, employment listings,
and other updatable components come to mind in the types of "updaters" I end
up doing a lot. Right now I can whip these things out very quickly due
to nearly self generating code and object-based form elements which are
extremely easy to configure.
My question to all the seasoned java web
developers is this: What do you do for the smaller "administration"
applications? What technologies do you use? Custom systems? Open
source projects? Straight servlet/jsp? MVC? Frameworks like
Struts? I have been learning Model 2 development, which seems very good
for larger applications but almost overkill for the smaller ones. I have
a ton of different technologies rolling around in my head, but what I don't
have is a clear understanding of how people do these things in the "real" java
world.
What I want out of java is the ability to
construct a repository of applications I have to write all the time.
These apps hardly ever change in concept, but they always need to be tweaked
for each project. I want to reduce/eliminate code shuffling. I
also would like to have extensible and very configurable applications which
can be rolled out very quickly.
Thanks for any
input.