Services | Updates | Contact
Home | Ajax | BioInformatics | Dojo | EAI | EJB | Hibernate | J2ME | Java | Java Glossary | Java Servlets | JavaScript | Jboss | JDBC | JDO | Jmeter | JSF | JSP | JUnit | Maven | MySQL | Spring Framework | SQL | Struts | Technology | WAP | Web Services | XML
Buy SuSe 9.1 Live CDs in India from us. Suse 9.1 Live is available with us.
Buy SuSe 9.1 Live CDs in India from us. Suse 9.1 Live is available with us. SuSe 9.1 Live Linux Now Available SuSe 9.1
 
Learn to Set Up An Internal Private Repository For An Organization
We have set up an internal Maven Repository for our organisation so that the developers are not wasting time in searchi
 
More Tutorials...


    Loan Information     Struts     Open Source

Programming Tutorials: Ajax | Articles | JSP | Bioinformatics | Database | Free Books | Hibernate | J2EE | J2ME | Java | JavaScript | JDBC | JMS | Linux | MS Technology | PHP | RMI | Web-Services | Servlets | Struts | UML

 
 
Struts

 
Comments
 
 

 

What is Struts - Struts Architecture

                         

In this section we will discuss about Architecture. Struts is famous for its robust Architecture and it is being used for developing small and big software projects. 

Struts is an open source framework used for developing J2EE web applications using Model View Controller (MVC) design pattern. It uses and extends the Java Servlet API to encourage developers to  adopt an MVC architecture. Struts framework provides three key components:

  1. A request handler provided by the application developer that is used to  mapped to a particular URI.
  2. A response handler which is used to transfer the control to another resource which will be responsible for completing the response.
  3. A tag library which helps developers to create the interactive form based applications with server pages.

Struts provides you the basic infrastructure infrastructure for implementing MVC allowing the developers to concentrate on the business logic.

MVC Architecture

The main aim of the MVC architecture  is to separate the business logic and application data from the presentation data to the user.

Here are the reasons why we should use the MVC design pattern.

  1. They are resuable : When the problems recurs, there is no need to invent a new solution, we just have to follow the pattern and adapt it as necessary.
  2. They are expressive: By using the MVC design pattern our application becomes more expressive.

1).  Model: The model object knows about all the data that need to be displayed. It is model who is aware about all the operations that can be applied to transform that object. It only represents the data of an application. The model represents enterprise data and the business rules that govern access to and updates of this data. Model is not aware about the presentation data and how that data will be displayed to the browser.  

2). View : The view represents the presentation of the application. The view object refers to the model. It uses the query methods of the model to obtain the contents and renders it. The view is not dependent on the application logic. It remains same if there is any modification in the business logic. In other words, we can say that it is the responsibility of the of the view's to maintain the consistency in its presentation when the model changes.

3). Controller:  Whenever the user sends a request for something then it always go through the controller. The controller is responsible for intercepting the requests from view and passes it to the model for the appropriate action. After the action has been taken on the data, the controller is responsible for directing the appropriate view to the user. In  GUIs, the views and the controllers often work very closely together.

Overview of the Struts Framework

The Struts framework is composed of approximately 300 classes and interfaces which are organized in about 12 top level packages. Along with the utility and helper classes framework also provides the classes and interfaces for working with controller and presentation by the help of the custom tag libraries. It is entirely on to us which model we want to choose. The view of the Struts architecture is given below:

The Struts Controller Components:

Whenever a user request for something, then the request is handled by the Struts Action Servlet. When the ActionServlet receives the request, it intercepts the URL and based on the Struts Configuration files, it gives the handling of the request to the Action class. Action class is a part of the controller and is responsible for communicating with the model layer.

The Struts View Components:

The view components are responsible for presenting information to the users and accepting the input from them. They are responsible for displaying the information provided by the model components. Mostly we use the Java Server Pages (JSP) for the view presentation. To extend the capability of the view we can use the Custom tags, java script etc.

 The Struts model component:

The model components provides a model of the business logic behind a Struts program. It provides interfaces to databases or back- ends systems. Model components are generally a java class. There is not any such defined format for a Model component, so it is possible for us to reuse Java code which are written for other projects. We should choose the model according to our client requirement.

                         

Facing Programming Problem?
Add This Tutorial To:
  Del.icio.us   Digg   Google   Spurl   Blink   Furl   Simpy   Y! MyWeb 

Current Comments

59 comments so far (post your own) View All Comments Latest 10 Comments:

This tutorial is excellent

Posted by Thomaas on Wednesday, 05.7.08 @ 14:16pm | #58789

I am new to MVC architecture, before MVC which architecture is used for developing web applications, why we move to MVC architecture.

Posted by Visalakshi on Thursday, 05.1.08 @ 21:01pm | #58319

Hi Sir,

I need some sample program of integrating hibernate with struts. can u please mail me to my mail id.

Posted by shanthi on Thursday, 04.24.08 @ 12:20pm | #57778

hai! i like to know about struts. plz send me a material to my mail ID

Posted by marnadu on Wednesday, 03.26.08 @ 20:12pm | #54411

hii
I want STRUTs FLOW.. plz explain clearlly?

Posted by naveen on Tuesday, 03.25.08 @ 19:17pm | #54297

Dear sir,
i am new to struts ..but i know some basics of it ..can u send me some examples using with MyEclipse

Posted by suman on Tuesday, 03.25.08 @ 16:13pm | #54267

Dear sir,
i am new to struts ..but i know some basics of it ..can u send me some examples using with MyEclipse

Posted by suman on Tuesday, 03.25.08 @ 15:58pm | #54265

sir .. i am new to struts ..but i know some basics of it ..can u send me some examples along with how to configure those deployment descrptors whe used in Eclipse3.2

Posted by dhanus on Wednesday, 03.12.08 @ 19:15pm | #52484

Dear sir,
I am undergoing a training in struts,please send the struts material to my mail id.
Thanks & Regards

Posted by Nisha on Monday, 03.3.08 @ 16:31pm | #51151

Please send me a gud project with gud explaination and it is using all the power of struts.

NOTE: should have implemented, navigation in a seperate jsp file.

small one will be best.

Posted by mani on Thursday, 02.14.08 @ 12:37pm | #48239

Leave your comment:

Name:

Email:

URL:

Title:

Comments:


Enter Code:

 

Note: Emails will not be visible or used in any way, and are not required. Please keep comments relevant. Any content deemed inappropriate or offensive may be edited and/or deleted.

No HTML code is allowed. Line breaks will be converted automatically. URLs will be auto-linked. Please use BBCode to format your text.

  EAI Articles
  Java Certification
Tell A Friend
Your Friend Name
Search Tutorials

 

 
 
Browse all Java Tutorials
Java JSP Struts Servlets Hibernate XML
Ajax JDBC EJB MySQL JavaScript JSF
Maven2 Tutorial JEE5 Tutorial Java Threading Tutorial Photoshop Tutorials Linux Technology
Technology Revolutions Eclipse Spring Tutorial Bioinformatics Tutorials Tools SQL
 

Home | JSP | EJB | JDBC | Java Servlets | WAP  | Free JSP Hosting  | Search Engine | News Archive | Jboss 3.0 tutorial | Free Linux CD's | Forum | Blogs

About Us | Advertising On RoseIndia.net  | Site Map

India News

Send your comments, Suggestions or Queries regarding this site at roseindia_net@yahoo.com.

Copyright © 2007. All rights reserved.