理解运行流程是掌握Struts的基础,它可以使开发Struts的应用程序变的更为简单。从客户端发送请求到获得响应的全过程如图:

Struts1运行流程_职场

    1、客户端向Web服务器发出“*.do”的THHP请求。

    2、Struts1中的核心控制器ActionServlet拦截该请求,并根据用户的请求在strtus-config.xml配置文件中查找对应的业务逻辑控制器Action。其中,Action的name属性指定了用于封装请求参数的ActionForom。然后实例化ActionForm,并将用户请求的参数填充给ActionForm。

    3、核心控制器ActionServlet将请求转发给业务逻辑控制器Action。

    4、Action获得ActionForm,取出用户提交的请求参数。

    5、Action调用JavaBean,并将用户请求参数传给JavaBean进行处理。

    6、Action根据JavaBean处理的结果返回ActionForward实例。ActionForward对象代表转发页面的逻辑名与物理名之间的关系映射。

    7、根据ActionForward将请求转发至相应的JSP页面。

    8、JSP页面调用JavaBean显示数据。JSP页面在表现之前还需要调用对应的JavaBean。此处的JavaBean不再是包含业务逻辑的JavaBean,而是封装了处理结果的普通VO(值对象)。JSP页面根据VO的值,利用JSTL与Struts的标签库为客户端生产HTTP响应。