您的位置:首页 > 编程语言 > Java开发

struts 1 的生命周期

2016-07-22 14:36 495 查看
用户以*.do方式发出请求(该请求能找到ActionServlet);
      当ActionServlet收到一个客户请求时,根据struts-config.xml找到相关的action信息。

       1.检索和用户相匹配的ActionMapping实例。如果不存在,就返回请求路径无效。

       2.如果ActionForm实例不存在,就创建一个ActionForm实例,把客户提交的表单信息保存在一个ActionForm对象中。

      3.根据配置信息,决定是否需要表单验证,如果需要,就调用ActionForm中的validate()方法。

      4.如果ActionForm中的validate()方法返回Null或者返回一个不包含ActionMessage的ActionError对象,就表示表单验证成功。

      5.ActionServlet根据ActionMapping实例包含的映射信息,决定将请求转发给哪一个action,如果action不存在,就创建一个实例(action只有一个),然后调用action的execute()方法。

      6.Action的execute()方法,返回一个ActionForward对象,ActionServlet再把客户请求转发给ActionForward对象指向JSP组件。

      7.ActionForward对象指向的JSP组件生成动态网页返回客户。(如果表单验证失败,ActionServlet将直接把请求转发给Action注册信息中Input指定的JSP组件,此时不会再创建Action对象)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: