Struts运行原理
Struts是appache开发的一开源的mvc实现框架(web框架)
处理过程由5个基本步骤组成:
(1)由客户端浏览器产生一个请求。
(2)请求被ActionServlet(控制器)接收后,ActionServlet在web.xml文件中找到<url-pattern>为.do的<servlet-mapping>。然后,ActionServlet调用服务,将客户端浏览器提交的表单数据存放到ActionForm中;并在struts-config.xml文件中找到对应的Action,将处理过程交给Action。
(3)Action执行相应的业务逻辑。它首先创建一个业务处理实例,并接收所有要处理的数据,然后调用函数execute()来实现业务逻辑。最后,把处理的结果通过mapping.findForward()函数返回给ActionServlet
(4)ActionServlet接收到Action处理的结果后,在struts-config.xml文件的<action-mapping>中找到相应的名字和处理路径,选择调用哪一个处理视图来显示Action的处理结果。
(5)当ActionServlet把Action的处理结果传送到指定的视图中,所有的请求个处理过程就完成了。简单来说,上述过程可以概括如下: 一个请求提交给ActionServlet,ActionServlet会寻找相应的Form和Action。首先将提交的request对象映射到Form中,然后将Form传递给Action进行处理。Action得到Form后,按照XML文件(包括web.xml和struts-config.xml)中的mapping,找到对应的处理Action;Action调用execute()方法进行处理,然后返回一个forward-url(相应视图)给ActionServlet,ActionServlet将处理结果通过相应的视图返回给客户端。
备注:ActionServlet和Action都是单态的。