struts1之工作原理

1.初始化:struts框架的总控制器ActionServlet是一个Servlet,它在web.xml中配置成自动启动的

           Servlet,在启动时总控制器会读取配置文件(struts-config.xml)的配置信息,为struts

           中不同的模块初始化相应的对象。(面向对象思想)

 2.发送请求:用户提交表单或通过URL向WEB服务器提交请求,请求的数据用HTTP协议传给web服务器。

 3.form填充:struts的总控制器ActionServlet在用户提交请求时将数据放到对应的form对象中的成员

             变量中。

 4.派发请求:控制器根据配置信息对象ActionConfig将请求派发到具体的Action,对应的formBean一并

             传给这个Action中的excute()方法。

 5.处理业务:Action一般只包含一个excute()方法,它负责执行相应的业务逻辑(调用其它的业务模块)

             完毕后返回一个ActionForward对象。服务器通过ActionForward对象进行转发工作。

  6.返回响应:Action将业务处理的不同结果返回一个目标响应对象给总控制器。

 7.查找响应:总控制器根据Action处理业务返回的目标响应对象,找到对应的资源对象,一般情况下

              为jsp页面。

  8.响应用户:目标响应对象将结果传递给资源对象,将结果展现给用户。


例如:

<action parameter="actions" path="/user" scope="request" type="com.zken.User" >
      <forward name="success" path="/user/success.jsp" />
</action>

parameter="actions",就是表单提交时候一定要有的参数,用来调用action里的响应函数。如login.do?actions=register,
就会调用register这个函数。
path="/user",就是通过user.do来访问action
scope="request"表示表单数据的作用范围为request
type="com.zken.User" 表示通过User这个类来响应客户端请求
<forward name="success" path="/user/success.jsp" />表示,当return "success"时,
页面转发到/user/success.jsp

原文地址:https://www.cnblogs.com/iamconan/p/7383639.html