I want to make discussion form kind of website using java, should i just make it using JSP- Servlet - Java code or should i use some framework like struts ...

I am new to Java, but i have sufficient exposure of programming

+5  A: 

Depends what you're trying to achieve.

As far as frameworks go I would recommend checking out Spring over Struts (Although they can be used together, Spring has an equivalent Spring-MVC).

But Spring might be a bit involved for a Java newbie, even if you do have other language experience. Maybe experiment with JSPs/servlet first and check out Spring once you're comfortable with them (I recommend Spring in Action for reading material)

... Also, if we're talking a bit more outside the box (I see someone else mentioned Scala/Lift), another alternative would be Groovy on Grails. This is based on Spring, and owned by SpringSource, but is much more fun/quick to develop with. Plus if your previous experience happens to be with dynamic langs such as Python/Ruby, Groovy would be worth checking out.

+1 But I would add, even if you start with just a JSP/servlet approach then first read about the Model, View, Controller (MVC) design pattern, and don't just put all your application logic within the JSP files themselves.
Todd Owen

You should have a basic understanding of servlet API, but you will most probably prefer to use some web framework built upon it. Struts is just one of them, popular and simple though a little old; there are many others

To name some: Struts, Spring-MVC, Stripes, Struts2, Wicket, JSF, Tapestry, GWT... an many others. (Struts2 is not a new version of Struts, it's rather a new version of Webworks).

Unfortunately none of them is a clear winner.


You might consider Scala with Lift. I am building my next site in this and it is a very promising, light weight, less verbose, Java language.

I think you mean "JVM language"?
Todd Owen
+1  A: 

You can try Play framework too. I have watched their demo and it's programming model looks promising to me.

Milinda Pathirage
+1 for Play Framework, with scala + scalate plugins it's perfect
+1  A: 

You WILL need to understand servlets and what you can do with them regardless what, as all modern Java-based web platforms build on top of that.

The Sun tutorial for servlets is at

Thorbjørn Ravn Andersen

If you're asking whether to use a framework at all or just use plain JSP-Servlet-Java I'd say that as long as you have a grasp of the language and Servlet API as other have said, the extra effort to learn a framework on top of that is well worth it in the long run. If you don't use a framework you eventually find that either a lot of your code becomes tedious, repetitive 'plumbing' or that you've essentially created your own framework anyway. Creating frameworks can be fun but if you have a job to do with a deadline, using an existing one saves a huge amount of time and effort.

John Patrick

If you're going to use Struts then make sure to use Struts 2. I would not recommend anyone write a new app in Struts 1 as it is very verbose and requires lots of configuration. However, Struts 2 is pretty awesome. I wrote a tutorial on it if that's the route you'd like to go.

Ben McCann