This document provides an introduction and overview of Struts 2.0, an open source MVC framework for Java web applications. It covers what Struts is, why frameworks are useful, the main components and architecture of Struts 2.0, how the request lifecycle works, benefits of Struts 2.0 over 1.x, and what is needed to get started using Struts 2.0. Sample code is provided to demonstrate key concepts.
D22 Portlet Development With Open Source Frameworks
Struts 2 Introduction
1. Introduction to Struts 2.0
Jenny Ni
Joey Feng
Winddays Wang
Hewmmi Zhu
Heather Lv
1
Software School ,Fudan University
2. Contents
1. What is Struts?
2. Why to use framework?
3. Struts 2.0 Overview
4. Struts 2.0 MVC components
5. Request Lifecycle in Struts 2
6. Struts 2.0 Architecture
7. Sample Application
8. Why we should use Struts 2.0?
9. Struts 1.x vs Struts 2.0
10. What you need to start using Struts2.0
Software School ,Fudan University 2
3. What is Struts?
Open Source java framework for
creating web applications.
Action Based Framework
Create web application using MVC 2
architecture
Apache Struts offer two major version
Struts 1.x
Struts 2.0
Struts 2 = WebWork + Struts
Software School ,Fudan University 3
4. Why use framework?
Do we need framework?
No and Yes.
No.
In small applications where you don’t want
the overhead of learning new things.
But
Yes
We have to use framework in real world
application because:-
Automation of common tasks
Concentrate on higher level concerns.
Software School ,Fudan University 4
5. Struts 2.0
Complete new framework based on webwork framework.
Struts 2.0 implements MVC 2 design pattern.
Software School ,Fudan University 5
6. Struts 2.0 MVC Components
Controller:-
Filter Dispatcher:-
First component that start processing that is why this type
of MVC is called front controller MVC
Looks at the request and apply the appropriate action.
Struts framework handles all of the controller work.
Its configured in web.xml
Interceptors:-
Can execute code before and after an Action is
executed.
They can be configured per action basis.
Can be used for data validation, file upload, double
submit guards.
Software School ,Fudan University 6
7. Struts 2.0 MVC Components contd.
Model:-
Implemented by action class
For model you can use any data access
technologies like JDBC,EJB,Hibernate
View
Its your result part. It can be JSP,JSTL,JSF etc.
Presentation part of the MVC
Software School ,Fudan University 7
8. Request Lifecycle in Struts 2.0
1. User Sends Request
2. Filter Dispatcher determines the appropriate action
3. Interceptors are applied
4. Execution of action
5. Output Rendering
6. Return of Request
7. Display of result to user.
Software School ,Fudan University 8
11. Why we should use Struts
2.0?
1. Simplified Design
2. Simplified Action
3. Simplified Testability
4. Better tag features
5. Annotation introduced
6. Easy plug-in
7. AJAX Support
Software School ,Fudan University 11
12. Struts 1.x vs Struts 2.0
How Struts 1.x and Struts 2.0 differ from each
other?
› Configuration
› Action Class
› Dependency injection.
› Servlet Dependency
› Validation
› Threading model
› Testability
› Expression Language
Software School ,Fudan University 12
44. Brian Kernighan Law of
Debugging Difficulty
Debugging is twice as hard as writing the
code in the first place. Therefore, if you
write the code as cleverly as possible, you
are, by definition, not smart enough to
debug it.