Hi Pradeep,
I generally agree with Jesse's opinion. From a more distant point of view Struts is a framework for the presentation tier of web applications. It can be used as web presentation layer of
J2EE applications (keyword: Enterprise JavaBeans), too.
The Model-View-Controller Design-Pattern Struts uses and Jesse mentioned is used to communicate between a Http client and the application. A
Servlet functions as the
Controller and organizes the communication. It checks the Request and forwards it to the Model and/or the View - more or less like a switch. In the
View Struts uses JSP. (Actually, I wrote a add-on framework to use Struts with XSLT: Check out
http://it.cappuccinonet.com/strutscx). The
Model is outside the presentation tier and usually contains all the business logic and/or communication with the data storage (business tier, integration tier).
If you dive more into the Struts framework you'll stumble over the ActionForm classes which maybe are the most difficult part to understand. Don't mix ActionsForms with the Model. ActionForms are JavaBeans which encapsulate information to transport it in between the Http client and the application.
If you do use Sun's J2EE or you are building a
Java based web application you seriously should consider to use Struts. But: Because Struts uses Servlets it is fixed on web applications.
Regards
Berny Woehrlin