Struts Flow

Sunday, January 2, 2011

So many people looks for struts flow

Please find the following step by step process


Struts 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.



Tags:Struts step by step flow in detail

0 comments: