Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Struts Ppt 1
1.
2. Struts Agenda
Software Crises
What is Framework
Model1,Model2
What is Struts
Why we need it
Why is it called as
Struts
Advantages of
Struts
Controller
Elements & it’s
Responsibilities
Model Elements &
it’s
Responsibilities
View Elements &
it’s
3. Challenges Exist In Software
Development &
Software Crisis
* Time shown with out day light savings
Projects must be developed
Quickly.
Projects must be in High-Quality.
Application Stability.
Better code Maintainability.
Lower Cost for Developing
Application.
4. What is Framework
A software framework is a re-usable
design for a software system (or
subsystem).
A framework is a pre-built assembly
of components and is designed to
be extended.
It is also base for components.
5. Advantages of Framework
Provide a procedure for the
development of Application.
Saves developers Time.
Provides same approach for all
developers for developing code and
Consistency in Software Design
Provide low-level services that
developers can use to speedup
development.
It also reduces software development
and maintenance costs.
6. Model 1
In the Model 1 the
JSP page is
responsible for
processing the
incoming request
and replying back to
the client.
7. Disadvantages of Model1
It does not have
separate
controller
This Architecture
usually leads to a
significant
amount of Java
code embedded
within the JSP
page
Model 1
Developers Designers
JSP
Developers and designers
must work on the same files!
8. Model 2
This Model2 approach
combines the use of
both servlets and JSP,
using JSP to generate
the presentation layer
and servlets to perform
process-intensive tasks.
Model2 architecture
introduces a Servlet
between the
browser and the
JSP pages.
9. Model2 Advantages
No processing/business logic within
the JSP page.
Model 2 applications are easier to
maintain and extend, because views
do not refer to each other directly.
The Model 2 controller servlet
provides a single point of control for
security and often encapsulates
incoming data into a form usable by
the back-end MVC model.
It also Provides unique responsibility
to each component and each is
10. Model 2 Components and
Responsibilities Model
The Model portion of an
MVC-based System
responsible for internal
state of the system, and
actions that can be taken
to change that state
Decide “How to do”
Controller
-Decide “What to do”
-The Controller portion of
the application is focused
on receiving requests
from the client ,deciding
what business logic is to
be performed ,and then
delegating responsibility
for producing the next
phase of user interface to
an appropriate View
11. What is Struts
An open source web application
framework based on j2ee and java
which implements the MVC design
pattern is called Struts.
Why is it called as Struts
Strut synonym is Iron-rod.
12. Why we use and what are the
advantages of Struts
It is open source.
Provides components for building
Web Applications that speedup
development and saves time for
developers.
It makes complex applications into
simple.
Built in Exception Handling
I18n support with resource bundles.
Built in validation framework.
16. Actionservlet and
Requestprocessor
Receive the
HttpServletRequest
Automatically
populate a
JavaBean from the
request
parameters.
Handle Locale
Issues
Determine which
Extends
javax.servlet.http.HttpSe
rvlet
Receives all framework
requests
Selects proper
application module
Delegates request
handling to the
RequestProcessor
instance
One ActionServlet
17. Actionservlet and
Requestprocessor
ActionServlet dispatch request to Request
Processor(New from 1.1. previous this
behaviour was in Action servlet)
The work of Request Processor is:-
Finding ActionMapping.
Mapping Action to FormBean.
Creating FormBean Object.
Calling reset() method of FormBean
Calling Validator of FormBean
If no form(jsp/html) validation errors calls execute
method in Action Class and finding response to
request.
18. What is An Action Class
Extends
org.apache.struts.action.Actio
n
Overrides the execute() method
Acts as a bridge between user-
invoked URI and a business
method
Return information about which
19. Struts-Config.xml
The power and
flexibility of struts is
due to the extracting
of configuration
information from
across frame work.
Configuration file
contains action
mappings
(determines
navigation)
Controller uses
mappings to turn
Tags in this file
are:-
Data Sources.
Form Beans.
Global Exceptions.
Global Forwards
Actions
Controller
Message resources
Plug-in
Struts-Config.xml
20. The Model Components Model Components
Java classes
middle tier components
(EJB, Javabeans, …)
database access
components
Used to represent the
Internal state of the
system
Actions that can
change that state
Internal state of system
represented by
JavaBeans
21. Action Form Extends the ActionForm class
Create one for each input form in the application
It is just like a java bean, Store data temporary,
reset default values to views, validate input view.
Hold state and behavior for user input.
If defined in the ActionMapping configuration
file, the Controller Servlet will perform the
following:-
Check for instance of bean of appropriate class
If no bean exists, one is created automatically
For every request parameter whose name corresponds
to the name of a property in the bean, the
corresponding setter method will be called
The updated ActionForm bean will be passed to the
Action Class execute() method when it is called,
making these values immediately available.
ActionForm Example
23. Struts JSP Tag Libraries
HTML
Bean
Logic
Nested
Tiles
Template
24. Html Tag & Bean Tag Libraries
Tags used to
create Struts
input forms
Examples
(checkbox,image,
link, submit ,text,
text area)
Tags used for
accessing
JavaBeans and
their properties
Examples
(Define,message,
write)
25. Logic ,Tiles & Nested Tag
Libraries
Managing
conditional
generation of
output text
Looping over
object Collections
for repetitive
generation of
output text
Example
(empty,lessThan,
greaterThan)
Extended the base
struts tags to allow
them to relate to
each other in
nested nature
Tiles tags
Each part ("Tile")
of webpage can be
reused as often as
needed throughout
your application.
This reduces the
amount of markup
26. Template Tag Library
The "struts-template" tag library
contains tags that are useful in
creating dynamic JSP templates for
pages which share a common format.
These templates are best used when it
is likely that a layout shared by
several pages in your application will
change. The functionality provided by
these tags is similar to what can be
achieved using standard JSP include
27. Action Message & Action Error
Used to signify general purpose
informational and error messages
Rely on the resource bundles
JSP Tags can access them
</html:errors>
28. Internationalization Support
Much of the
framework
functionality
based on
java.util.Locale
Struts Uses Java
Resource
Bundles.
Ex:-
Date ,Time and
Currency
29. Other Features Suported by
Struts Framework
Multi-Module Support
Declarative Exception-Handling
Dynamic Action Forms
Plugins
Tiles integrated With Core
Validator Integrated With Core
Frame work Provides Core Services
A framework is designed to offer a large number of related services centered on a broad theme.
It is also base for components
Ex:-car
1.A Model 1 application control is decentralized, because the current page being displayed determines the next page to display
2. Architecture usually leads to a significant amount of Java code embedded within the JSP page While this may not seem to be much of a problem for Java developers, it is certainly an issue if your JSP pages are created and maintained by designers
This approach typically results in the cleanest separation of presentation from content, leading to clear delineation of the roles and responsibilities of the developers and page designers.
When building physical structures Construction Engineers use support for each floor of building .Likewise, Software engineers also use some frame work to support each layer of their Applications. That why we call it as Struts.
WebDAV was a working group of the Internet Engineering Task Force .The name is an abbreviation for Web-based Distributed Authoring and Versioning and also refers to the set of extensions to the Hypertext Transfer Protocol (HTTP) that the group defined which allows users to collaboratively edit and manage files on remote World Wide Web servers
System State Beans
Actual state of a system is normally represented as a set of one or more JavaBeans classes, whose properties define the current state.
For small to medium sized applications, business logic beans might be ordinary JavaBeans that interact with system state beans passed as arguments, or ordinary JavaBeans that access a database using JDBC calls
For larger applications, these beans will often be stateful or stateless Enterprise JavaBeans (EJBs).