struts如何实现mvc
struts中核心类:ActionServlet,其中最主要的操作是RequestProcessor类中的process方法。
上篇博客提到struts实现mvc的框架图:
struts实现mvc的细粒度图如下:
-
首先:Tomcat一启动,根据web.xml加载ActionServlet,读取struts配置文件中的struts-config中的配置读到内存。
-
然后:根据url,读取struts-config中的path路径,取得ActionMapping。(1.2processPath,1.3processMapping)
-
其次:根据ActionMapping中的name名称查找ActionForm。(1.4processActionForm方法)
-
然后:实例化ActionForm并且放到Map中以及给ActionForm赋值。在赋值之前,首先执行reset方法。(1.5processPopulate方法)赋值之后,然后根据第三方组件BeanUtils,将表单中的字符串转成所需的类型。
-
然后:创建一个Action实例,并且放到Map中。(1.6processActionCreate方法)
-
再次:让Action实例处理请求,然后返回一个ActionForward实例(1.7processActionPerform方法)。
-
最后:根据返回ActionForward,重定向或者转发到目的地。(1.8processForwardConfig方法)
ps:其中的方法介绍参照struts1帮助:http://www.oschina.net/home/apidoc?api=struts-1.3.9