Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I have not done web development in Java for the past three years and now I need to use one for a project I am working on. I am thinking of using Seam, Flex + BlazeDS, Struts2 or Spring MVC. The most attractive of the four is Flex, however I am trying to stay away from it since the app will end up being entirely in Flash. Struts2 and Seam are mature but might require more time to learn. I had basic experience with Spring framework in the past so I am also considering its MVC.

Should I use one of these or go for some other framework?

share|improve this question

closed as off topic by Anna Lear Dec 13 '11 at 3:57

Questions on Programmers Stack Exchange are expected to relate to software development within the scope defined by the community. Consider editing the question or leaving comments for improvement if you believe the question can be reworded to fit within the scope. Read more about reopening questions here.If this question can be reworded to fit the rules in the help center, please edit the question.

Do you really mean Front-End Java framework? Struts2 and Spring MVC are server side frameworks. An example of a Java front-end framework is GWT. –  Jonas Sep 27 '11 at 12:15

5 Answers 5

If I were you, I would use what I know already, even if it's only from "basic experience". It will help already knowing something and you will extend your budding knowledge of the whole Spring framework. I don't know Seam to be honest, but I know it's far from a mistake to use Spring MVC. Additionally, you may be interested in using Spring WebFlow to manage the flow of your application while still following the MVC design (and staying within Spring).

Also, if what you want to build something very quickly you may be interested in the Play framework.

Personally, I wouldn't use Flex/Silverlight (disclaimer: I like Silverlight for developing for Windows Phone, but apart from that...) because I have a strong dislike of Flash and Flash-like websites, but that is my own opinion of course (Edit: and because of HTML5 being supported by every big player in the industry)

Hope that helped.

share|improve this answer
+1 for Spring WebFlow. It integrates nicely with Struts and even JSF2. –  maple_shaft Sep 26 '11 at 12:54
@maple_shaft Thanks, I am always surprised when I bring it up in a conversation and I see that no one never had heard about it... But then again, I am surprised many times a day too :-) –  Jalayn Sep 26 '11 at 12:56
Don't let the demographics of the SE sites sway your opinions on the what is being used in the industry right now. –  maple_shaft Sep 26 '11 at 13:32
@maple_shaft you're right. Also, I just wanted to indicate that I meant that I notice every day how little I know when I wrote than "I am surprised", not that I know everything, far from it! –  Jalayn Sep 26 '11 at 14:42

There is no right answer to this so it will likely get closed as too subjective. IMHO, though Flex is probably a bad choice right now because HTML5 is such a game changer that the days of Flash and Silverlight for RIA applications is in question.

Officially the supported Java web framework by Oracle is JSF2 and what I use. It has many third-party component suites that support it and it integrates well with Spring or Seam.

share|improve this answer

We currently use GWT with Spring MVC, and that works excellently for our needs. Unfortunately, answers for this question need more context (viz. use-case) in order to properly recommend a framework.

share|improve this answer

I think this is ore or less a duplicate - but if not then the following questions/answers will help: Which Java framework meets these requirements? and Which Java based web ui framework to use?

share|improve this answer

I would say, try with Spring ROO. You can make a fast prototype with that and all the configuration for spring mvc, security, persistence withing minutes.

share|improve this answer

Not the answer you're looking for? Browse other questions tagged or ask your own question.