This week's book giveaway is in the Design forum.
We're giving away four copies of Building Microservices and have Sam Newman on-line!
See this thread for details.
The moose likes Java in General and the fly likes Preferred Java technologies to write a website such as 43things or craigslist Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login

Win a copy of Building Microservices this week in the Design forum!
JavaRanch » Java Forums » Java » Java in General
Bookmark "Preferred Java technologies to write a website such as 43things or craigslist" Watch "Preferred Java technologies to write a website such as 43things or craigslist" New topic

Preferred Java technologies to write a website such as 43things or craigslist

Amit C

Joined: Mar 12, 2007
Posts: 3

I am starting to explore Java technologies and before jumping into my choices (Hibernate & Struts), thought I will put a question as to what my fellow developers recommend.
What would be your preferred Java (ideally) technologies to write a fairly extensive website such as 43things or craigslist?
I did do a search and found the following is the closest and only thread I found
Topic: What technologies should I use for new web app?

If this is the wrong forum, I do not mind it being moved to another more appropriate one.

Ulf Dittmer

Joined: Mar 22, 2005
Posts: 42958
Welcome to JavaRanch.

Well, that other thread is a start. JSF is debatable for the web framework, and Struts is slowly starting to be on its way out. If you can use Java 5, have a look at something like Stripes.

Whether ot not an Apache web server in front of Tomcat is actually necessary depends on your circumstances. Tomcat has made big performance strides in static file serving (which is what Apache httpd was used for in such a setup).
Sol Mayer-Orn
Ranch Hand

Joined: Nov 13, 2002
Posts: 311
1. Hibernate is great (the only exception being applications that rely on *insanely* complex stored prcedures).

2. Business logic layer:
i'd consider Spring. It intorduces great design ideas, simple declarative security, and more. Even when I don't use it, I find myself following its cool design principals.
(For complex, replicated applications you might consider EJB, which can also replace Hibernaete. Unfortunately EJB is on a cross roads right now: the old EJB 2 is strongly criticized for bad cumbersome design. The new EJB 3 is cleaner and more modern, but it has much less literature and less production experience).

3. Controller - one of the 3: JSF , or Struts, or the newer 'Struts Action 2'.
The choice is a matter of personal taste... I'd consider 3 factors:

a) Design & complexity:
JSF is 'Component Based' - enhances component reusability, at the cost of being more complex to learn & trace (I've also heard some complaints about JSF performance, but I havent' checked them closely).
Struts (and Struts Action 2) is 'Action Based'. Meaning a simpler flow, more straight-forward to lean and trace. You can still have good design and reusability, but not a fancy as those of JSF.

b) IDE support & Wizards:
All 3 frameworks require you to implement some interfaces, *and* create some XML files.
Now, JSF and the *old* Struts both have a fair share of IDE support, especially wizards to generate code skeletons, XML files, and graphical viewers to show application flow.
The new Struts Action 2 doesn't have that much IDE support, you'd probably need to manually type the code + xml files ( It's quite simple, personally I don't mind it, but if you like wizards and graphical views, it's a problem).

c) Job interviews: I've seem demand for both JSF and *old* struts.
You might try to follow the addes in your country, see which is more in demand, or is one quickly gaining on the other (even if you're not looking for a job, it's good to know your market value).
The new Struts Action 2 is less likely to come up in interviews, interviewer isn't always guaranteed to have heard of it...

Good luck
[ March 13, 2007: Message edited by: Sol Mam-Orn ]
Amit C

Joined: Mar 12, 2007
Posts: 3
Ulf, Sol, Thanks for the reply.

Sol, Special thanks for breaking up the different aspects.

For other readers, I also read the following yesterday and it might help:
Comparing Web Frameworks: Presentation and Discussion. Covers Struts, Spring, Tapestry, WebWork, and JavaServer Faces
Have you checked out Aspose?
subject: Preferred Java technologies to write a website such as 43things or craigslist
It's not a secret anymore!