1)what is global forwards in struts?
2) whait si struts navigation flow?

Answer Posted / prabhakar

Global forwards
================

In Struts, Global forwards(defined in struts-config.xml)
are the action forwards which can be forwarded from any
action and which is accessible to all actions.

For example, exception/error may occur from any action.So,
instead of writing forward inside every action to redirect
to error page , it is better to write a single global forward.


Ex:

<global-forwards>
<forward name="errorPage" path="pages/error.jsp" />
</global-forwards>


Note :
Request Processor will first search for local forward
Action, only if local forward is not avalible,then only it
will search in the global forwards



Struts Navigation Flow
=======================


1) When application server gets started,container loads the
web.xml

2) When first the request is made from a JSP/HTML/XSLT to
the server with a particular URI(/something.do) the control
first reaches Web.xml file.

3) It checks the mapping for /something.do in web.xml and
finds the ActionServlet and loads ActionServlet.

......
<servlet-name>action</servlet-name>
<servlet-class>
org.apache.struts.action.ActionServlet
</servlet-class>
.....

<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>

4) As part of loading ActionServlet calls the init() as
every other servlet does.
(Note: ActionServlet extends HttpServlet only)
......................
<init-param>
<param-name>config</param-name>
<param-value>/WEB-INF/struts-config.xml</param-value>
</init-param>
........................

5) In init() it takes the init-parameters as
struts-config.xml and loads the xml file.

6) Then the ActionServlet calls the process() method of
RequestProcessor class.

7) process() method checks for the appropriate action in the
action mapping for current request and maps the URI to the
action in the struts-config.xml.

8) Then it creates an object to ActionForm associated to
that action.

9) It then calls the setters and reset() methods in the form
bean(Which extends ActionForm) corresponds to the mapped action.

10) If the action tag in struts-config.xml contains validate
"true" then the validate method is called.

11) if any validation errors it return to view component
(any jsp XSLT) which is specified as an attribute of input
"/error.jsp"

12) if there are no validation errors ,it then search for
execute method in the action class and executes it.

13) execute method performs the bussinesslogic which you
provide and returns with an ActionForward key.

14) Now the returned key is searched in the mapped action
which is specified as forward tag.

15) It looks for the appropriate view component and performs
the getters on that action form corresponding to this view
component and loads the view page in the browser.


- Prabhakar

Is This Answer Correct ?    52 Yes 6 No



Post New Answer       View All Answers


Please Help Members By Posting Answers For Below Questions

What is subdeployment in weblogic jms?

528


How do I configure jdbc so that the jms jdbc store recovers automatically?

497


Why do we use jms?

428


What is the publish-and-subscribe model in jms?

490


Is rabbitmq a jms?

480






How can an application do a jms operation and have it succeed, independent of the result of the transaction?

422


What is a bytes message?

496


What is the use of jms?

524


What is the difference between jms and mq?

482


What is jms used for?

499


What is jms correlation id?

505


Mention different types of messages available in JMS API?

467


Is ibm mq jms compliant?

428


Are there c/c++ interfaces to wls jms?

487


What is jms connection factory?

462