How Struts Works-Java Programming-Lecture Handouts, Lecture notes of Java Programming

This is an Introductory course of Java Web Programming focusing on writing maintainable extensible code, methods of debugging, logging and profiling. The Java Technology used is J2EE an Enterprise Application Development tool. This lecture handout includes: Struts, Servlets, Java, Model, View, Controller, Request, Validate, Get, Post, JavaServerPages

Typology: Lecture notes

2011/2012

Uploaded on 08/09/2012

dhanyaa
dhanyaa 🇮🇳

4.7

(3)

60 documents

1 / 4

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
How Struts Works
The basic purpose of the Java Servlets in struts is to handle requests made by the
client or by web browsers. In struts JavaServerPages (JSP) are used to design the
dynamic web pages. In struts, servlets helps to route request which has been made by
the web browsers to the appropriate ServerPage. The use of servlet as a router helps
to make the web applications easier to design, create, and maintain. Struts is purely
based on the Model- View- Contoller (MVC) design pattern. It is one of the best and
most well developed design patterns in use. By using the MVC architecture we break
the processing in three sections named Model, the View, and the Controller. Below we
are describing the working of struts.
1. As we all are well aware of the fact that each application we develop has a
deployment descriptor i.e. WEB-INF/web.xml. This is the file which the
container reads.
This file has all the configuration information which we have defined for our
web application. The configuration information includes the index file, the
default welcome page, the mapping of our servlets including path and the
extension name, any init parameters, information related to the context
elements.
In the file WEB-INF/web.xml of struts application we need to configure the
Struts ActionServlet which handles all the request made by the web browsers to
a given mapping. ActionServlet is the central component of the Struts
controller. This servlet extends the HttpServlet. This servlet basically performs
two important things.
First is : When the container gets start, it reads the Struts Configuration files
and loads it into memory in the init() method. You will know more about the
Struts Configuration files below.
Second point is: It intercepts the HTTP request in the doGet() and doPost()
method and handles it appropriately.
2. In struts application we have another xml file which is a Struts configuration
file named as struts.config.xml. The name of this file can be changed. The
name of the struts configuration file can be configured in the web.xml file. This
file is placed under the WEB-INF directory of the web application. It is an XML
document that describes all or part of Struts application. This file has all the
information about many types of Struts resources and configures their
interaction. This file is used to associate paths with the controller
components of your application., known as Action classes like
<action path ="/login" type = "LoginAction">. This tag tells the Struts
ActionServlet that whenever the incoming request is
http://myhost/myapp/login.do, then it must invoke the controller component
LoginAction. Above, you can see that we have written .do in the URL. This
mapping is done to tell the web application that whenever a request is
received with the .do extension then it should be appended to the URL.
docsity.com
pf3
pf4

Partial preview of the text

Download How Struts Works-Java Programming-Lecture Handouts and more Lecture notes Java Programming in PDF only on Docsity!

How Struts Works

The basic purpose of the Java Servlets in struts is to handle requests made by the client or by web browsers. In struts JavaServerPages (JSP) are used to design the dynamic web pages. In struts, servlets helps to route request which has been made by the web browsers to the appropriate ServerPage. The use of servlet as a router helps to make the web applications easier to design, create, and maintain. Struts is purely based on the Model- View- Contoller (MVC) design pattern. It is one of the best and most well developed design patterns in use. By using the MVC architecture we break the processing in three sections named Model, the View, and the Controller. Below we are describing the working of struts.

  1. As we all are well aware of the fact that each application we develop has a deployment descriptor i.e. WEB-INF/web.xml. This is the file which the container reads.

This file has all the configuration information which we have defined for our web application. The configuration information includes the index file, the default welcome page, the mapping of our servlets including path and the extension name, any init parameters, information related to the context elements. In the file WEB-INF/web.xml of struts application we need to configure the Struts ActionServlet which handles all the request made by the web browsers to a given mapping. ActionServlet is the central component of the Struts controller. This servlet extends the HttpServlet. This servlet basically performs two important things. First is : When the container gets start, it reads the Struts Configuration files and loads it into memory in the init() method. You will know more about the Struts Configuration files below. Second point is: It intercepts the HTTP request in the doGet() and doPost() method and handles it appropriately.

  1. In struts application we have another xml file which is a Struts configuration file named as struts.config.xml. The name of this file can be changed. The name of the struts configuration file can be configured in the web.xml file. This file is placed under the WEB-INF directory of the web application. It is an XML document that describes all or part of Struts application. This file has all the information about many types of Struts resources and configures their interaction. This file is used to associate paths with the controller components of your application., known as Action classes like . This tag tells the Struts ActionServlet that whenever the incoming request is http://myhost/myapp/login.do, then it must invoke the controller component LoginAction. Above, you can see that we have written .do in the URL. This mapping is done to tell the web application that whenever a request is received with the .do extension then it should be appended to the URL.
  1. For each action we also have to configure Struts with the names of the resulting pages that will be shown as a result of that action. In our application there can be more than one view which depends on the result of an action. One can be for a success and the other for the failure. If the result action is "success" then the action tells the ActionServlet that the action has been successfully accomplished or vice- versa. The struts knows how to forward the specific page to the concerned destination. The model which we want to use is entirely to you, the model is called from within the controller components.
  2. Action can also get associate with a JavaBean in our Struts configuration file. Java bean is nothing but a class having getter and setter methods that can be used to communicate between the view and the controller layer. These java beans are validated by invoking the validate() method on the ActionForm by the help of the Struts system. The client sends the request by the normal form submission by using Get or Post method, and the Struts system updates that data in the Bean before calling the controller components.
  3. The view we use in the struts can be either Jsp page, Velocity templates, XSLT pages etc. In struts there are set of JSP tags which has been bundled with the struts distribution, but it is not mandatory to use only Jsp tags, even plain HTML files can be used within our Struts application but the disadvantage of using the html is that it can't take the full advantage of all the dynamic features provided in the struts framework. The framework includes a set of custom tag libraries that facilitate in creating the user interfaces that can interact gracefully with ActionForm beans. The struts Jsp taglibs has a number of generic and struts specific tags tags which helps you to use dynamic data in your view. These tags helps us to interact with your controller without writing much java code inside your jsp. These tags are used create forms, internally forward to other pages by interacting with the bean and helps us to invoke other actions of the web application. There are many tags provided to you in the struts frameworks which helps you in sending error messages, internationalization etc.

Note: The points we have described above will be in effect if and only if when the ActionServlet is handling the request. When the request is submitted to the container which call the ActionServlet, make sure that the extension of the file which we want to access should have the extension. do.

Struts working:

Struts tag libraries : These are struts components helps us to integrate the struts framework within the project's logic. These struts tag libraries are used within the JSP page. This means that the controller and the model part can't make use of the tag library but instead use the struts class library for strut process control.

Property file : It is used to store the messages that an object or page can use. Properties files can be used to store the titles and other string data. We can create many property files to handle different languages.

Business objects : It is the place where the rules of the actual project exists. These are the modules which just regulate the day- to- day site activities.

The Response : This is the output of the View JSP object.