Struts的工作原理

2018-08-10 16:35:41 浏览数 (1)

0、初始化

  • struts框架的总控制器ActionServlet是一个Servlet,它在web.xml中配置成自动启动的Servlet,在启动时总控制器会读取配置文件(struts-config.xml)的配置信息,为struts中不同的模块初始化相应的对象。
代码语言:javascript复制
  <servlet>
    <servlet-name>action</servlet-name>
    <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
    <init-param>
      <param-name>config</param-name>
      <param-value>/WEB-INF/struts-config.xml</param-value>
    </init-param>

    .........

  </servlet>

1、发送请求

  • 用户提交表单或通过URL向WEB服务器提交请求,请求的数据用HTTP协议传给WEB服务器。也就是,通过form表单中action指定的路径提交form表单中的数据到ActionServlet。

2、form填充

  • struts的总控制器ActionServlet在用户提交请求时将数据放到对应的form对象中的成员变量中。

3、派发请求

  • 控制器根据配置信息对象ActionConfig将请求派发到具体的Action,对应的formBean一并传给这个Action中的execute()方法。

4、处理业务

  • Action一般只包含一个execute()方法,它负责执行相应的业务逻辑(调用其它的业务逻辑);执行完毕后返回一个ActionForward对象。服务器通过ActionForward对象进行转发工作。

5、返回响应

  • Action将业务逻辑的不同处理结果返回给总控制器(ActionServlet)一个目标响应对象。

6、查找响应

  • 总控制器(ActionServlet)根据Action处理业务逻辑返回的目标响应对象,找到相对应的资源对象,一般情况下为jsp页面。

7、响应用户

  • 目标响应对象将结果传递给资源对象,将结果由服务器转化为HTML,并通过HTTP协议传给用户。

0 人点赞