I guarantee you that making a web application may not seem to be a very big deal but trust me deploying it on INTRANET (or internet) and successfully running it with many many simultaneous users is quite a deal !!
I created the quiz engine in around 3 days but to make it successfully run on my college's intranet, I had to modify the main part of my application around 4-5 times. This took me around 5 more days. But this indeed has taught me a lot of things which I would like to share.
First off, always use a standard method of coding. Never go for the so called "jugad" technology. In the end you will have to pay heavily(in terms of your time) for using "jugad" in your code if there has to be any modification at any point of time in your application. Some very important points to be kept in mind are:
* Always use one single connection for connecting to your database for the whole application for every user. Don't open and close connections every time you have to connect to the database.
* Keep your concept of STATIC variable very very clear in your mind. A static variable declared in any bean(java class) will always have the same constant value throughout the application scope for each and every user until and unless changed. Once the value is changed it will remain constant, again, for every user and for the scope of the whole application
* Try using AJAX as it makes the application very light in terms of the request and response from the user to the server and vice-versa.
* Keep a check on the security aspect of your applications (people tend to test your application with every possible way out!). Keep the application tightly constrained.
* Try configuring your server on LINUX only. It helps a lot and of course it is open source. Split your database server and application server so that the load is distributed.