the5fire的技术博客

关注python、vim、linux、web开发和互联网--life is short, we need python.


DRP项目学习总结:DRP整体架构

作者:the5fire | 标签:         | 发布:2011-01-11 10:30 a.m. | 阅读量: 5348, 5332
drp架构图

项目在整体上采用MVC架构模式,这里暂不详述MVC,以后另写一篇文章。

整个项目中使用JSP和JSTL来进行页面效果的展示,在这一次通过提交表单或者是AJAX来完成同Servlet的交互。每一次提交表单或者通过异步模式进行交互都会通过filter的过滤和listener的监听。

在WEB层的Servlet中使用动态代理模式,将Manager类封装到TransactionHandler,Manager的事务边界控制到TransactionHandler类中,以在TransactionHandler中完成Connection的事务控制。TransactionHandler类会调用ConnectionManager在ThreadLocal中创建一个connection,并设置其事务状态。在Servlet中还有两个重要的任务:一、完成对数据的封装,在这里把从表单传递过来的数据封装成类,传递给Manager;二、对页面跳转的控制。

在Manager中对业务进行了的封装,通过调用BeanFactory来创建一个Dao来完成对数据库的操作。

在BeanFactory中通过注入的方式从bean-config.xml文件中读取相应Dao接口对应的实现类名,然后通过类加载器加载到JVM中,最后返回一个Dao接口的实现。

在Dao中将会调用ConnectionManager来会的一个connection,这个connection是在上面由TransactionHandler创建的(因为每一次操作是在一个事务中)。然后完成对数据库的操作。


----EOF-----

扫码关注,或者搜索微信公众号:码农悟凡


其他分类: