Josh and Friends - A Real World Web Application Developed Using Netbeans Visual Web Pack
By winston on May 29, 2007
There are questions from several VWP users - Is it possible to write a sophisticated web site using Netbeans Visual Web Pack (VWP). My answer is - yes, it is possible. I happened to work with several users of VWP who have written full blown websites using VWP. One of them is Josh and Friends - The #1 Dance Music Community, developed and maintained by Joshua van Aalst.
When Josh sent the URL of his site to me, I looked at the site and thought; was it really developed using VWP?. Poking around the web site did not give me a clue. So I decided to clarify it with Josh. He assured me that indeed it was developed using VWP with right combination of technologies. Thought it is a good idea to let him explain how he did it in this blog, so that other users can benefit from it.
A good looking data driven website consists of two parts
- Feature rich Layouts, so called "website pages"
- Rich data bound pages with proper data flow (a real web application)
VWP is a wonderful tool for the latter. But it is still in its infancy to design sophisticated page layouts.
In his own words, Josh explains how he achieved the task of combining the two.
The layouts can be created by:
- Downloading a pre-created layout template
- A web designer using dream weaver <-- This is how our layouts were created
The entire site other than the forums and gallery is VWP developed. For the moment you can tell whichever URL has /dancemusic/ in it. That is the context root.
There are couple of major tricks.
- The main one is that the site is highly SEO ( Search Engine Optimization) optimized.
- Extensive use of converters.
- The way I do that is by using JSF converters <-- this is probably why it doesn't look like a VWP pack project.
- Basically I use standard <h:outputText> with a converter for most
display pages. For edit pages such as:
- I use basic webuijsf components for editing (e.g. addremovelist, listbox, fileupload components) and standard <h:outputText> to display any info <-- Result tables display info uses converters.
- The converters allow me to put href links with title attributes and alt attributes around images.
- I have a ServletFilter that intercepts all URLs and allows SEO URL rewriting to the VWP pages
The site is built on:
- VWP/JSF <-- Web front end
- Spring 2 <-- Service layer
- Hibernate 3 <-- Backend
From VWP the site uses:
- A variety of components including add remove list, tables with paging, file uploads, radio groups, check box groups and more.
- JSF Converters.
- JSF Page Navigation.
- Session and Request beans
- Plenty of Auto-submit on change actionExpressions have a play around with: http://www.joshandfriends.com.au/dancemusic/Event