Struts1基本运作流程

来源:互联网 发布:!在c语言中是什么意思 编辑:程序博客网 时间:2024/04/28 04:44

Struts1基本运作流程 

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

Struts实现MVC/Model 2方式担任控制器(Controller)角色org.apache.struts.action.ActionServlet继承自javax.servlet.http.HttpServlet通常会直接使用ActionServletweb.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.xmlStruts运作重心 

ActionServlet会处理控制权暂时交给Action对象Action藉由些数据传输对象(Data Transfer Object)、辅助类别(Helper Class)等来完成业务请求Action应当传回ActionForward对象给ActionServletActionServlet根据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运作方式:



通俗来讲就是:

(1)用户的请求以HTTP方式传输到服务器上,接受请求的是ActionServlet. (2)ActionServlet接收到请求后,会查找Struts-config.xml文件来确定服务器上是否有用户请求的操作,此处用户请求操作应为登陆操作。如果没有,则返回一个用户请求无效的出错信息。 (3)当ActionServlet请求找到用户请求的Action后,首先将用户输入的表单参数打包成一个ActionFrom对象,这个ActionFrom对象其实也就是一个JavaBean,里面包含两个字段,分别是用户名和密码。接着ActionServlet再根据struts-config.xml中的配置信息决定是否要执行ActionFrom对象中的Validate方法。若Validate方法执行有错,则返回。否则,继续下一步。 (4)系统生成一个用户所请求的Action的实例对象,将前面的ActionFrom对象传递给它,运行它的Execute()方法。这一步其实就是用户登陆的控制器,在执行exectue()方法时,可以调用后台模型验证登陆名和密码是否正确等信息。 (5)execute()执行结束前会生成以和ActionForward类型的对象并将之返回给ActionServlet,该对象的作用是告诉ActionFroward就代表跳转到一个登陆成功的页面。ActionServlet将对之进行分析,其实就相当于接收到一个新的请求,重复(2)~(5)的过程,直到将某个界面返会给用户为止! 以上就是STRUTS的基本工作流程。

0 0
原创粉丝点击