Struts工作原理剖析

Struts工作原理剖析_第1张图片

    通过上面一张原理图可以知道:struts核心类是RequestProcessor,ActionServlet,我们可以将这两个类类比成一个销赃者,一个枪劫者。
    ActionServlet:除了几个基本方法,没有其他业务逻辑方法。它的作用是:
    1、加载struts-config.xml配置文件
    2、加载资源文件
    3、利用Digester解析struts-config.xml配置文件,将Action实例缓存机来(使用一个HashMap存机来)
    4、拦截请求,委拖RequestProcessor处理请求

    RequestProcessor:处理ActionServlet传递过来的请求。它的作用是:
    1、创建ActionMapping,将Action/ActionForm/Forward缓存起来
    2、创建ActionForm,检证ActionForm数据格式
    3、封装数据到ActionForm中
    4、创建Action
    5、创建RequestDispatcher
    6、响应请求


Struts工作原理剖析_第2张图片

Struts工作原理剖析_第3张图片

    struts优点:
    1、采用MVC模式,实现数据显示与业务逻加分开,便于开工开发软件
    2、提供一些便利的组件:国际化,表单校验等(表单校验是优点也是缺点)
    3、提供一套简单易用的标签库(在目前的富客户端可能用不上了,例如:EXT本身就有校验功能)
    4、提供上传下载组件

    缺点:
    1、Action采用单例模式生成,在并发情况下具有安全隐患(机率小,但不排除)
    2、Action应该面向接口编程
    3、与底层API耦合度高,不便于测试
   

你可能感兴趣的:(编程,mvc,工作,struts,ext)