Struts2.0 - Avishek Arang

Download Report

Transcript Struts2.0 - Avishek Arang

Struts2.0
1
REVOLUTION TO NEXT GENERATION
Avishek Arang :: avishekarang@gmail.com
20/02/2009
2
Topics
discussed …
 Basic features of struts2.0.
 Struts2 vs struts1.1.
 Architecture of struts2.0.
 Basic flow of struts2.0.
 How to configure the plugins for
struts2 in netbeans IDE.
 Some basic components in brief.
 Reference
Avishek Arang :: avishekarang@gmail.com
20/02/2009
Features
3
P a g e - b a s e d N a v i g a t i o n
B u i l t - i n A j a x S u p p o r t : D W R a n d D o j o
S p r i n g a s d e f a u l t i n v e r s i o n o f c o n t r o l c o n t a i n e r
C h a n g e d f r o m f r o n t - c o n t r o l l e r s e r v l e t t o f i l t e r
M u c h b e t t e r c l i e n t - s i d e v a l i d a t i o n s u p p o r t
Q u i c k S t a r t a n d A n n o t a t i o n s
J S F S u p p o r t
B u i l t - i n s u p p o r t f o r t e s t i n g w i t h S t r u t s T e s t C a s e
Avishek Arang :: avishekarang@gmail.com
20/02/2009
Comparison
4
Struts2.0
Struts1.1
 Action
 Action
 Action or POJO
 ActionForm
 Result
 ActionForward
 struts.xml
 struts-config.xml
 FilterDispatcher
 ActionServlet
 Interceptors
 RequestProcessor
 Action-validation.xml
 validation.xml
Avishek Arang :: avishekarang@gmail.com
20/02/2009
Architecture
5
Avishek Arang :: avishekarang@gmail.com
20/02/2009
Flow of Struts 2 based
Application
6
U s e r S e n d s r e q u e s t .
F i l t e r D i s p a t c h e r d e t e r m i n e s t h e a p p r o p r i a t e
action.
I n t e r c e p t o r s a r e a p p l i e d .
E x e c u t i o n o f A c t i o n .
O u t p u t r e n d e r i n g .
R e t u r n o f R e q u e s t ( r e v e r s e o r d e r ) .
D i s p l a y t h e r e s u l t t o u s e r .
Avishek Arang :: avishekarang@gmail.com
20/02/2009
7
Select Tools > Plugins:
To configure struts
plugins to netbeans
IDE.
Avishek Arang :: avishekarang@gmail.com
20/02/2009
8
Configure Plugins:
org-netbeans-modulesweb-frameworksstruts2.nbm
org-netbeans-modulesweb-frameworksstruts2lib20011.nbm
Avishek Arang :: avishekarang@gmail.com
20/02/2009
Struts 2 Core components
9
S t r u t s 2 C o r e c o m p o n e n t s a r e A c t i o n h a n d l e r , R e s u l t H a n d l e r
and Custom Tags.
A c t i o n h a n d l e r
Action handler interacts with other layers.
R e s u l t H a n d l e r
Result handler actually dispatches the request to view.
C u s t o m T a g s
Custom Tags are used render the dynamic content.
I n t e r c e p t o r s
The Interceptors are used to specify the "request -processing lifecycle" for
an action. Interceptors are configured to apply the common
functionalities like workflow, validation etc.. to the request. Interceptors
code is executed before and after an Action is invoked
E x p r e s s i o n L a n g u a g e ( O N G L - O b j e c t G r a p h N o t a t i o n L a n g u a g e )
Avishek Arang :: avishekarang@gmail.com
20/02/2009
struts.xml
10
<struts>
<include file="struts-default.xml"/>
<constant name="struts.custom.i18n.resources" value="MessageResources" />
<package name="default" extends="struts-default">
<action name="list" class="web.DefectsList">
<result>/pages/defects.jsp</result>
</action>
<action name="action_*" method="{1}" class="web.DefectsAction">
<result name="input">/pages/editDefect.jsp</result>
<result type="redirect">list.action</result>
</action>
</package>
</struts>
Avishek Arang :: avishekarang@gmail.com
20/02/2009
<include>
11
U s e d t o m o d u l a r i z e a p p l i c a t i o n .
A l w a y s a c h i l d o f < s t r u t s > t a g .
O n l y a t t r i b u t e “ f i l e ” i m p l i e s t h e c o n f i g f i l e .
< i n c l u d e f i l e = “ m o d u l e 1 - c o n f i g . x m l ” >
O r d e r o f i n c l u d i n g f i l e s a r e i m p o r t a n t .
e x p l i c i t l y i n c l u d e : “ s t r u t s - d e f a u l t . x m l ” a n d t h e
“struts-plugin.xml” files
Avishek Arang :: avishekarang@gmail.com
20/02/2009
<package>
12
n a m e - u n i q u e .
e x t e n d s - “ s t r u t s - d e f a u l t ” .
n a m e s p a c e - a d m i n , k n o w l e d g e c e n t e r , t e s t .
A b s t r a c t - i f “ t r u e ” a c t i o n s c o n f i g u r e d w i l l n o t b e
accessible via the package name.
Avishek Arang :: avishekarang@gmail.com
20/02/2009
Interceptor
13
T h e y p r o v i d e a w a y t o s u p p l y p r e - p r o c e s s i n g a n d p o s t - p r o c e s s i n g
around the action.
e x a m p l e s i n c l u d e e x c e p t i o n h a n d l i n g , f i l e u p l o a d i n g , l i f e c y c l e
callbacks and validation.
<interceptors>
<interceptor name="autowiring“
class="interceptor.ActionAutowiringInterceptor "/>
</interceptors>
<action name="my" class="com.fdar.infoq.MyAction" >
<result>view.jsp</result>
<interceptor-ref name="autowiring"/>
</action>
Avishek Arang :: avishekarang@gmail.com
20/02/2009
com.opensymphony.xwork2
Interface Action
14
F i e l d S u m m a r y
s t a t i c S t r i n g E R R O R T h e a c t i o n e x e c u t i o n w a s a f a i l u r e .
s t a t i c S t r i n g I N P U T
The action execution require more input
in order to succeed.
s t a t i c S t r i n g L O G I N
The action could not execute, since the user most was not
logged in.
s t a t i c S t r i n g N O N E
The action execution was successful but do not show a
view.
s t a t i c S t r i n g S U C C E S S
The action execution was successful.
M e t h o d S u m m a r y S t r i n g e x e c u t e ( )
Where the logic of the action is executed.
Avishek Arang :: avishekarang@gmail.com
20/02/2009
Bibliography
15
- www.roseindia.com
- Starting Struts2 by Ian Roughley [free
ebook].
- Struts 2 Design and Programming: A
Tutorial by Budi Kurniawan.
Avishek Arang :: avishekarang@gmail.com
20/02/2009