Skip to main content

Webapp Creator

The webappCreator is a convenient tool that provides you with an Eclipse-based dynamic web application template project out of the box.

Project Structure

The structure of the web application template project looks like the following:
[WEBAPP HOME]
  |
  +--.settings    Eclipse project folder.
  |
  +-- lib         Folder to hold Java libraries used for during build, 
  |               but not deployment.  For example, jUnit's library.
  |
  +-- src         Folder to hold source code.
  |    |
  |    +-- java   Folder to hold Java source code.
  |    |
  |    +-- visio  Folder to hold Visio source file.
  |
  +-- test        Folder to hold test source code.
  |    |
  |    +-- java   Folder to hold Java test source code.
  |
  +-- web         Folder to be hold files to be deployed to servlet 
  |               container.  Includes configuration files, libraries,
  |               and java server pages.
  |
  +-- css         Folder to hold CSS style sheets
  |
  +-- img         Folder to hold Image files
  |
  +-- js          Folder to hold JavaScript files
  |
  +-- META-INF
  |     |
  |     +-- context.xml        Webapp context configuration file.  Can
  |                            be used to specify cross context setting
  |                            or JNDI resources from container.                    
  |
  +-- resources                Folders to hold additional JavaScript
  |                            libraries to be hosted within webapp.
  |                            For example, jQuery plug-in livequery.
  |
  +-- WEB-INF
  |      |
  |      +-- config
  |      |     |
  |      |     +-- applicationContext.xml  Main Spring configuration file
  |      |     |
  |      |     +-- log4j.xml               Log4J configuration file
  |      |     |
  |      |     +-- messages.properties     Messages for resource bundle.
  |      |     |                           For example, labels or error
  |      |     |                           messages.
  |      |     |
  |      |     +-- view.xml                Spring custom view definition
  |      |     |                           file.
  |      |     |
  |      |     +-- webapp.properties       Variables for web application.
  |      |                                 For example, version number.
  |      |
  |      +-- db
  |      |     |
  |      |     +-- dbproperties.xml        Contains JLink DB configurations.
  |      |
  |      +-- jsp
  |      |     |
  |      |     +-- include-crumbs.jsp      Breadcrumbs configuration.
  |      |     |
  |      |     +-- include-nav.jsp         Navigation menu configuration.
  |      |
  |      +-- lib                   Folder to hold Java libraries to be 
  |      |                         hosted within webapp. 
  |      |
  |      +-- decorators.xml        Sitemesh configuration file.  Specifies
  |      |                         which url pattern gets which decorator.
  |      |
  |      +-- web.xml               Main servlet configuration file.
  |
  +-- .classpath              Eclipse configuration file.
  |
  +-- .project                Eclipse configuration file.
  |
  +-- build-common.xml        Common Ant build file.
  |
  +-- build.properties        Ant build properties file.  Contains webapp
  |                           specific variables.
  |
  +-- itag-build.properties   Build properties for ITAG deployment process
  |
  +-- itag-build.xml          Ant build file for ITAG deployment process
  |
  +-- build.xml               Main Ant build file.

Java Package

You are advised to follow package organization to take advantage of Spring's IoC container and conform to other projects.

java
  |
  +-- edu.ucsd.act.sample.dao             Data Access Object Interface
  |
  +-- edu.ucsd.act.sample.dao.impl        Data Access Object Implementation
  |
  +-- edu.ucsd.act.sample.domain          Webapp domain objects
  |
  +-- edu.ucsd.act.sample.manager         Manager Interface
  |
  +-- edu.ucsd.act.sample.manager.impl    Manager Implementation
  |
  +-- edu.ucsd.act.sample.web             Controller
  |
  +-- edu.ucsd.act.sample.web.form        Form-backing (AKA command) objects
  |
  +-- edu.ucsd.act.sample.web.validator   Controller Validator

Ant Targets

The project includes Ant build files with the following common targets:

clean
Clean project
build
Compiles project java source files
war
Builds a web archive (war) file for deployement

Execute ant -p for more information.