Internet Shop in Ajax

From Elvanör's Technical Wiki
Jump to navigation Jump to search

Ajax Shop Project.

Configuring Tomcat in order to deploy the web application

  • Logging must be configured through log4j. A sample log4j.properties file is present in the doc/ directory of the project. Edit it and copy it to {CATALINA_HOME}/common/classes/ log4j.properties. Also install the log4j.jar file (see below).


  • The following libraries (JAR files) are needed. Note that some of them may be already present, this depends on your Tomcat distribution. The shared/lib and common/lib distinction is also not essential.
  • Requested in WEB-INF/lib in your webapp directory:
    • GWT servlet library (gwt-servlet.jar) [only in WEB-INF/lib]
  • Requested in shared/lib directory:
    • Hibernate library (hibernate3.jar)
    • MySQL JDBC driver (jdbc-mysql.jar)
    • Dozer library (dozer-3.2.1.jar)
  • In addition, you may also have to add the following libraries, which seem to be dependencies of Hibernate:
    • DOM4J library (dom4j.jar)
    • Code Generation Library (cglib-nodep.jar). If you use the version with dependencies (cglib.jar), you will have to add additional libraries required by cglib (see below)
    • Java Transaction API (jta.jar)
    • Another Tool for Language Recognition (antlr.jar)
  • Code Generation Library Dependencies (incomplete):
    • ASM (many JARs, depending on the version of ASM chosen)
  • Requested in common/lib directory:
    • Apache Commons FileUpload (commons-fileupload.jar)
    • Apache Commons IO (commons-io.jar)
    • Apache Commons Collections (commons-collections.jar)
    • Log4j logging library (log4j.jar) - this is not strictly required as Tomcat can use JDK logging, but log4j is highly recommended

Important Note: Since they are JAR files, put them in lib/, not classes/ !

Warning: Put gwt-servlet.jar in WEB-INF/lib in your webapp directory. Placing this file in shared/lib won't work properly, you will have problems with the classloader (and ClassNotFound exceptions). This seems to be a GWT problem.

Note: Under Gentoo, it is recommended to install all these packages using Portage. Then create symlinks from the Tomcat directories to the actual JARs.


  • You must create the "Shop" database under MySQL. This database will be used by Hibernate.

Deployment Improvements

  • Use Ant to package as a WAR.
  • The symbolic link from public/images to the actual data directory should be automated by Ant.

SQL Tables

ShopItem

  • ID
  • ShopID
  • Price
  • Name
  • Auction / Sale
  • Image
  • Description
  • Status
  • DateEntered

ShopCategory

  • ShopID
  • Name
  • ID
  • Subcategory (boolean)

Project Management

  • Back office creation (simple)
  • Rudimentary Search implementation
  • Style & Design
  • Real payment integration