Its all in the RequestProcessor http://cvs.apache.org/viewcvs.cgi/jakarta-struts/src/share/org/apache/struts/action/RequestProcessor.java
The main process(request, response) method in RequestProcessor calls processMapping(request, response, path) which calls findActionConfig(path) in ModuleConfig to find the Action mapping that you configured in the struts-config.xml. Later on in the process() method it calls the processActionCreate() method to get hold of the Action instance and then processActionPerform() actually calls the action's execute() method. Niall ----- Original Message ----- From: "Chang Ming Chye" <[EMAIL PROTECTED]> To: <[EMAIL PROTECTED]> Cc: <[EMAIL PROTECTED]> Sent: Wednesday, April 07, 2004 2:20 AM Subject: RequestProcessor handling http requests > Hi, > > How does struts handle incoming request and routes it > to the correct action? > > For example, if I declare my web.xml as: > > <servlet> > <servlet-name>action</servlet-name> > <servlet-class> > org.apache.struts.action.ActionServlet > </servlet-class> > <init-param> > <param-name>config</param-name> > <param-value> > /WEB-INF/struts-config.xml > </param-value> > </init-param> > </servlet> > > <servlet-mapping> > <servlet-name>action</servlet-name> > <url-pattern>*.do</url-pattern> > </servlet-mapping> > > and in my struts-config.xml file I have the following > action declared: > > <action path="/searchAction" ... > > > When the http request "*/searcAction.do" is received > by the Action Servlet, how is the actual action > "/searchAction" as specified retrieved? Which method > of the RequestProcessor actually removed the extension > ".do" from the request? > > Furthermore, if the URL-pattern of my servlet-mapping > is specified as "/do/*" instead of "*.do" are the > request mapped again to the actions specified? > > Thanks. > > __________________________________________________ > Do You Yahoo!? > Log on to Messenger with your mobile phone! > http://sg.messenger.yahoo.com > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]