Merge branch 'master' into ajturner

* master:
  Shopping Cart checkout 90% complete (missing date annotation and a mechanism to allow the user to bookmark the resulting PO, needs some prettying up)
Merge branch 'master' into ajturner

* master:
  - Fixed inconsistencies in Servlet class naming and usage in ServletContext#getNamedDispatcher(...) calls - Use properties value for main model rather than a magic String
  hj
  Merged, please test!
  Fixed Servlet-mapping
  Added AJAX-driven Add-to-Cart on Category view
  Updated Product view
Merge branch 'master' into ajturner

* master:
  login
  login
  login
  display name
  GFd
  check username format
  login stuff
  Filter introduced for cross-sale functionality. - Items can be added and removed through cross-sales.values, only requiring a server restart to update server mappings (rather than having to recompile a filter class)
  gfd
  login stuff
Advertising Filter changes
	- Filter now passes a list of advertised items when the user visits product pages
	- init() method parses the mappings loaded from a text file; the file format supports for multiple advertised items given a cart item ID

Todo:
	- Perhaps filter the passed list based on the current viewer category? (Eg Meat, Cheese, Ice Cream) or for the shopping cart checkout
Merge branch 'master' into ajturner

* master:
  Merged w/ Justin
  Added Analytics, Animations, Style
  Added animations, styled nav bar, listener
Advertising Filter changes, Code cleanup.
- Advertising filter now pokes a list of cross sale itemBeans that JSPX can parse to display on product pages
- Test cart data removed since Add-to-Cart works now, and we should be testing against normal usage from here on out
Merge branch 'ajturner'

* ajturner:
  Advertising Filter changes, Code cleanup. - Advertising filter now pokes a list of cross sale itemBeans that JSPX can parse to display on product pages - Test cart data removed since Add-to-Cart works now, and we should be testing against normal usage from here on out
  Advertising Filter changes 	- Filter now passes a list of advertised items when the user visits product pages 	- init() method parses the mappings loaded from a text file; the file format supports for multiple advertised items given a cart item ID