首页 热点资讯 义务教育 高等教育 出国留学 考研考公

Struts1的具体运行流程到底是什么?

发布网友 发布时间:2022-04-23 16:51

我来回答

2个回答

热心网友 时间:2022-04-23 11:19

Struts基本运作流程 

--------------------------------------------------------------------------------

在Struts实现MVC/Model 2方式中,担任控制器(Controller)角色的是org.apache.struts.action.ActionServlet,它继承自javax.servlet.http.HttpServlet,通常会直接使用ActionServlet,在web.xml中配置相关的组态,就如同配置一般的Servlet一样,您也可以配置一些相关的初始参数给ActionServlet使用。 

在MVC/Model 2的架构中,理想上客户端不会直接要求资源或指定请求的JSP页面,所有客户的请求都必须发送至控制器,由控制器决定该转发给哪一个对象进行处理、决定该由哪一个视图页面进行显示与响应。 

在Struts中,担任控制器的是ActionServlet,所有的请求都发送给ActionServlet,对于ActionServlet来说,doGet()会将调用doPost(),所以无论请求是GET或POST在行为上都是相同的,ActionServlet藉由组态档struts-config.xml知道如何分配对象来处理请求,这包括了org.apache.struts.action.ActionMapping、org.apache.struts.action.ActionForm、org.apache.struts.action.Action等物件的分配,struts-config.xml是整个Struts运作的重心。 

ActionServlet会将处理的控制权暂时交给Action对象,在Action中,您可以藉由一些数据传输对象(Data Transfer Object)、辅助类别(Helper Class)等来完成业务请求,Action应当传回ActionForward对象给ActionServlet,之后ActionServlet根据ActionForward来进行forward给视图或include视图(Viewer)的动作,由视图显示处理的结果。 

Struts的视图部份可以是静态网页、JSP网页、Struts自订卷标,Struts自订卷标可以与Struts的一些对象及资源文件合作使用,但也可以使用其它自订标签,像是JSTL、JSF等。 

在Struts 1.1中新增org.apache.struts.action.RequestProcessor类别,有关于使用者请求的对象分配等动作已经大部份交由RequestProcessor来处理,下图是ActionServlet接收到请求之后的一些主要动作,在之后的各主题说明中,您可以藉由这张图您将可以了解struts-config.xml的组态设定意义,以及Struts运作的方式:

热心网友 时间:2022-04-23 12:37

上次回答的一个帖子。。。
http://zhidao.baidu.com/question/116286101.html

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com