File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
The moose likes Servlets and the fly likes What technologies should I use for new web app? Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Java » Servlets
Bookmark "What technologies should I use for new web app?" Watch "What technologies should I use for new web app?" New topic

What technologies should I use for new web app?

Ryan Day
Ranch Hand

Joined: Apr 03, 2006
Posts: 87
I am going to be building a J2EE web app as a sort of continuing education project for myself when I've finished my SCWCD. My goal is to build a relatively simple app, but still use MVC model 2 and industry standard tools and frameworks so that I gain experience with them. It may also serve as a useful testbed for transitioning to the "next big framework" as time passes. I am a J2EE developer at work but am constrained by the approved technology that the customer uses.

So I would like the advice of the JavaRanch community. What architectural decisions are are appropriate if my goals are to:
- Get a deeper knowledge of all aspects of developing and deploying a J2EE web app
- Learn the technologies that will be most useful/marketable in the next 2-3 years
- Not spend any money beyond a J2EE/JSP hosting company

Here is my starting point, although I may not use all of these to start with. I would be VERY interested in your recommendations including what areas I have left out and how you would disagree with my choices:

- J2EE version: 1.4

- Servlet container: tomcat

- Web server: Apache

- Database: MySQL

- Security: container managed security using JDBC realm (MySQL) or possibly ACEGI

- Controller and UI: JSF

- Software builds: Apache Ant

- Persistence: Hibernate or JPA

- Logging mechanism: Log4J

- Reporting: JasperReports

I look forward to your comments.

Bear Bibeault
Author and ninkuma

Joined: Jan 10, 2002
Posts: 63865

If your goal is to learn JSF, then by all means. If your goal is to learn anything other than JSF, I'd advise against it. You won't learn much about the underlying technology by relying on such a framework -- especially one that is so niche and contrary to the way that everything else works.

I'd say something similar about frameworks such as Struts and Spring MVC. If your specific goal is to learn these framwroks, then fine. Otherwise, you'll learn a lot more by writing your own simple and light-weight Front Controller implementation.

[Asking smart questions] [About Bear] [Books by Bear]
D Rog
Ranch Hand

Joined: Feb 07, 2004
Posts: 472

I'd also recommend to use embedded Java logging, I think it's available for 1.4.

Retire your iPod and start with HD Android music player Kamerton | Minimal J2EE container is here | Light weight full J2EE stack | and build tool | Co-author of "Windows programming in Turbo Pascal"
Bear Bibeault
Author and ninkuma

Joined: Jan 10, 2002
Posts: 63865

Actually, for logging I'd use Jakarta Commons Logging which can be configured to use either of Log4J or java.util.logging. The latter seems to be pretty much universally loathed among most web app developers that I know.
I agree. Here's the link:
subject: What technologies should I use for new web app?
It's not a secret anymore!