struts2和dwr2都是属于MVC的C,也就是控制器的作用,何必把两种同种功能的框架整合起来使用,dwr可以直接使用dao,而action也是调用的dao,有时候dwr去用action是不是多次一举啊?既然dwr调用action可以实现无刷新显示,那为什么不去直接调用dao,还要去用struts2中的action啊?难道就是用struts2中的拦截器功能吗? 小弟一直对此问题很迷惑,还请高手明示!
2 回答
慕的地10843
TA贡献1785条经验 获得超8个赞
dwr确实可以调用任何一层,但是一个项目,总得有层次的划分,每一层干自己的事儿,一般来说,事务会包住dao层,假如你将要做的工作与事务提交有关,那么你直接调用dao,岂不是还得把事务下放到dao中去?可以是可以,但是破坏了程序的一致性,很难扩展和修改。
再者,dwr所做的任何操作,其实就是一个个action,只是说是ajax形式的,和跳转连接在本质上差距不大。
至于你说的拦截功能,也有这方面考虑,试想,你action要是用拦截器来做了(或者过滤器)权限控制,你要是越过action,直接调用dao或service,那么你还非得重新编写权限拦截是吧。 而且本质上,dwr可以直接调用dao其实是一个假象,它里面会自动给你弄个servlet,让你看不到而已。
添加回答
举报
0/150
提交
取消