struts

  

  struts2的执行流程:

  struts本身分为3部分:核心控制器FiterDispatcher、业务控制器Action和用户实现的企业业务逻辑组件。核心控制器FiterDispache是Struts2框架的基础,包含了框架内部的控制器流程和处理机制。业务控制器Action和业务逻辑组件是需要用户来自己实现的。用户在开发Action和业务逻辑组件的同时,还需要编写相关的额配置文件,供核心控制器FiterDispatche来使用。Struts2的工作流程相对于Struts1要简单,与WebWork框架基本相同,所以说Struts2是WebWork的升级版本。基本简要流程如下:

   1、客户端浏览器发出HTTP请求。

  2、根据web.xml配置,该请求被FiterDispatcher接收。

 3、根据struts.xml配置,找到需要调用的Action类和方法,并通过IoC方式,将值注入给Action。

 4、Action调用业务逻辑组件处理业务逻辑,这一步包含表单验证。

 5、Action执行完毕,根据struts.xml中的配置找到对应的返回结果result,并跳转到相应页面。

 6、返回HTTP响应到客户端浏览器

 摘抄:http://blog.youkuaiyun.com/alli0968/article/details/4231237


      Struts工作机制?为什么要使用Struts?

        工作机制

        Strutsg工作流程

             在web应用启动时就会加载初始化ActionSevlet,ActionServlet从struts-config.xml文件中读取配置信息,把它们存放到各种配置对象,当ActionServlet接收到一个客户端请求时,将执行如下流程

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

        2)如果ActionForm实例不存在,就创建一个ActionForm对象,把客户端提交的表单数据保存到ActionForm对象中

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

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

      5)ActionServlet根据ActionMapping所包含的映射信息决定将请求转发给哪个Action,如果相应的Action实例不存在,就先创建这个实例然后调用Action的execute()方法

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

     7)ActionForward对象指向JSP组件生成动态网页,返回给客户


  为什么要用Struts:

    JSP、Servlet、JavaBean技术的出现给我们构建强大的企业应用系统提供了可能。但用这些技术构建的系统非常的繁乱,所以在此之上,我们需要一个规则、一个把这些技术组织起来的框架,Struts便应运而上。

   基于Struts开发的应用由3类组件构成:控制器组件、模型组件、视图组件

 

  Struts的validate框架是如何验证的?

 在struts配置文件中配置具体的错误提示,再在FormBean中的validate()方法中具体调用。


  Struts的设计模式

  MVC模式:web应用程序启动时就会加载并初始化ActionServlet。用户提交表单时,一个配置好的ActionForm对象被创建,并被填入表单相应的数据,ActionServlet根据Struts-config.xml文件配置好的设置决定是否需要表单验证,如果需要就调用ActionForm的Validate()验证后选择将请求发送到哪个Action,如果不存在,ActionServlet会先创建这个对象,然后调用Action的execute()方法。Execute()从ActionForm对象中获取数据,完成业务逻辑,返回一个ActionForward对象,ActionServlet再把客户请求转发给ActionForward对象指定的jsp组件,ActionForwara对象指定的jsp生成动态的页面,返回给客户。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值