page 1 controller action2.java struts- config. xml mappings business logic layer data layer view...
TRANSCRIPT
Page 1
Controller
Action2.java
Struts-config.
xml
Mappings
Business Logic Layer
Data Layer
View Layer
BusinessBean 1
Jsp Engine
Jsp 1
Action3.java
Action4.java
Action1.java
BusinessBean 2
BusinessBean 3
Jsp 2 Jsp 3
FormBean
1FormBean
2OtherBean
1
request/session
Web Browser
Db Server
• path• action• [form bean]• [forwards]
Jsp 2
Web Server
Jsp 2
Web Server
creates / reuses
index.htm
Controller
ShowLoggingAction.java
Mappings
Business Logic Layer
Data Layer
View Layer
Jsp Engine
LoggingBean.java
logging.jsp
LoggingForm
request/session
Web Browser
Db Server
Request:ShowLogging.do
creates form bean in correct scope
perform(mapping, form, request, response)
calls business logic ruleto get logging info
returns forward(success)
mainpulates data
setCategoryList(list)
forwards – logging.jsp
expands custom tags
response sent to browser – pure html
looks up
<!-- Show logging --><action path="/ShowLogging" type="beans.ShowLoggingAction" name="LoggingForm"> <forward name="success“ path="/logging.jsp" /></action>
ServerBean.java
populates form values
<form name="LoggingForm" …> <logic:iterate id="category“ name="LoggingForm" property="categoryList"> <bean:write name="category" property="key"/> <bean:write name="category" property="desc"/> …. </logic:iterate></form>
logging.jsp
MessagesResources
displays internationalized messages
Web Server
creates / reuses action instance
logging.jsp
Controller
ShowLoggingAction.java
Mappings
Business Logic Layer
Data Layer
View Layer
Jsp Engine
LoggingBean.java
results.jsp
LoggingForm
request/session
Web Browser
Db Server
form submit – action=‘SaveLogging.do’
reuses form bean in correct scope
calls perform(mapping, form, request, response)
getCategoryList()
returns mapping.findForward("success")
forwards – result.jsp
expands custom tagsDisplays internationalized messages from bean
response sent to browser – pure html
looks up
<!-- Save logging --><action path="/SaveLogging" type="beans.SaveLoggingAction" name="LoggingForm"> <forward name="success“ path="/result.jsp" /></action>
ServerBean.java
MessagesBean
add result messages
auto populates using bean getters/setters
<form name="LoggingForm" …> <select name="category[0].value" ></form> becomes request parametercategory[0].value added to form usingLoggingForm.getCategory(0).setValue(value)
For each one that user has changed…
call business logic to change on server
••
•• •
••browser adds form variables to request
results.jsp
if submit, auto populates form bean from request params
Page 1
Controller
Action2.java
Struts-config.
xml
Mappings
Business Logic Layer
Data Layer
View Layer
BusinessBean 1
Jsp Engine
Jsp 1
Action3.java
Action4.java
Action1.java
BusinessBean 2
BusinessBean 3
Jsp 2 Jsp 3
FormBean
1FormBean
2OtherBean
1
request/session
Web Browser
Business Data
reads on start-up
creates
incoming requests
creates/reuses any associated form bean
• path• action• [form bean]• [forwards]
passes control to relevant action to handle
interacts with lower layers - acts as adaptor between HTTP and layers below
gets data to display (adds to beans in request/session)…or saves data from beans via business rules
looks up path to determine action/form bean
returns appropriate forward
relevant page called
processes custom tags – fill form elements from beans, display internationalized messages
pure HTML sent to browser
Jsp 2
Action2.java
FormBean
2••
• ••• •
Web Server
Jsp 2