The Design of Software (CLOSED)

A public forum for discussing the design of software, from the user interface to the code architecture. Now closed.

The "Design of Software" discussion group has been merged with the main Joel on Software discussion group.

The archives will remain online indefinitely.

Java web frameworks

I've got an upcoming web project (pretty standard DB backed stuff)  where java is mandated - given that, what frameworks come recommended?

* We're happy to have javascript on the client side - so don't need GWT
* Prefer HTML templates to pages of .print("<div>") type code
* Prefer MVC
* Needs to work well with a legacy database, with composite natural keys etc.
* Hopefully usable in a "shared nothing" way i.e. all state in the database.

Any suggestions on what to try or horrors to avoid?
Saturday, May 03, 2008
I recommend Apache Wicket:

BTW: What does "hopefully usable in a 'shared nothing' way i.e. all state in the database." mean?
Gili Send private email
Saturday, May 03, 2008
We use Struts for MVC. Basics were quick to learn from a book.

Implemented our own database-driven sessions so there was no need to use the Struts/Tomcat sessions. Because the state is in the database then application servers can be easily added.

Dabbled in Spring and JSF but never really it took it anywhere. Struts is old but can do what we need.

jz Send private email
Saturday, May 03, 2008
How much framework do you want/need?

You could probably get a lot of simple stuff done quickly using just servlets and a template engine like Velocity or StringTemplate.
Chris Tavares Send private email
Sunday, May 04, 2008
Just use spring. It's basically the standard now and will look ok on your resume. It's gigantic, though.
my name is here Send private email
Sunday, May 04, 2008
I like Struts 2 as a web framework, it's a big improvement on the older version.

I'd recommend Hibernate for the db stuff, although you may have some headaches with the legacy db with composite keys. In theory, Hibernate handles this.

I don't think too much of Spring except for the elegant JDBC template stuff, which is a good alternative to Hibernate if it doesn't fit your needs.
Steve McLeod Send private email
Sunday, May 04, 2008
Struts and JSP and JSTL should be ok. Not too much to learn and you can do lots of things with that already not risking to get lost in framework bloat.

Thinking about it, Struts doesn't do much more but mapping URLs to Actions that forward to a view (e.g. a JSP), and that's all it needs.

Using a servlet filter you can quite easily add some generic decoration to your pages.

Hibernate (like other Java ORM) does a good job if you do not intent to keep complex state on the server (i.e. in the web app's session).
Monday, May 05, 2008
+1 to all those posters who said Struts and JSP and JSTL and Hibernate should be OK.
Monday, May 05, 2008
I second Apache Wicket. Its the best Java web framework there is. I also use Apache Ibatis which is a very good light weight ORM.
Tuesday, May 06, 2008
Anybody out there using Google's Guice and/or GWT and care to comment?
Random dude.
Wednesday, May 07, 2008
Just finished a large site using Struts 2 + Freemarker.  Fits your requirements. Easy to use, good performance.  Recommended.
Darren Send private email
Thursday, May 08, 2008

This topic is archived. No further replies will be accepted.

Other recent topics Other recent topics
Powered by FogBugz