`
xuzhfa123
  • 浏览: 116929 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

Struts工作原理剖析

    博客分类:
  • Java
阅读更多


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

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

相关推荐

Global site tag (gtag.js) - Google Analytics