During my hiatus from college I’ve been teaching myself many new things because its about the only way that its effective for me to learn, and what I�ve been working on the most lately is Java 2. I’ve gotten a good way through the book and have been starting to play with JSP, Beans, and Servlets because the demo apps were starting to get a little boring.

I’m really amazed at how far Tomcat has came. I first started playing with it sometime in 1999, and it was a kludge to get working. I recently installed it on my Windows XP workstation, and it went without a hitch. It did take me a bit to figure out how to configure it, but it was up and running from the default install in only a few minutes.

My primary concern about teaching myself how to program and deploy Java web applications is that I architect them correctly from the beginning. I have been doing a lot of research about how to set up a basic web applications and “best practice” uses, and here is what I have came up with so far.

There is something to be said about Open Source Software, and me as a one person and not a huge corporation. I’m sure there are plenty of great solutions built into WebSphere, JavaOne, and WebLogic, but I have very limited resources so I’ve mostly looked at OSS products.

From what I’ve been reading, it seems as if the best OSS solution to managing a full lifecycle Java web application would be Jakarta Struts, part of the Apache Group. But I don’t know if I’d bet the farm on it quite yet, as Jakarta Turbine is slated to replace it. Then again, the new Coke never was able to replace Coke Classic.

I combed over Struts, and I felt like it was providing me with too much abstraction for someone wanting to learn how everything works, so I decided to just wing it at the moment in JSP and Servlets.

I asked a couple of friends with Java experience about how they would setup something basic, and like most programming questions, I got completely different answers. I took them into account and started looking on the web for various other solutions and it seemed like the answer I was looking for was in JSP Custom Tags.

Essentially I wanted a way to setup global headers, a way to switch layouts/themes easily, and other various application variables. Below are a few links to articles I found interesting. I’ll post a follow-up article when I start implementing them.

JSP Resources
Java Servlet/J2EE Resources