猿问

难道就是用struts2中的拦截器功能吗?

struts2和dwr2都是属于MVC的C,也就是控制器的作用,何必把两种同种功能的框架整合起来使用,dwr可以直接使用dao,而action也是调用的dao,有时候dwr去用action是不是多次一举啊?既然dwr调用action可以实现无刷新显示,那为什么不去直接调用dao,还要去用struts2中的action啊?难道就是用struts2中的拦截器功能吗? 
小弟一直对此问题很迷惑,还请高手明示!

慕妹3242003
浏览 84回答 2
2回答

茅侃侃

dwr是不能直接条用dao层的,因为这样就会把你dao层直接暴漏出去了。一般dwr是调用service层的。

慕的地10843

dwr确实可以调用任何一层,但是一个项目,总得有层次的划分,每一层干自己的事儿,一般来说,事务会包住dao层,假如你将要做的工作与事务提交有关,那么你直接调用dao,岂不是还得把事务下放到dao中去?可以是可以,但是破坏了程序的一致性,很难扩展和修改。   再者,dwr所做的任何操作,其实就是一个个action,只是说是ajax形式的,和跳转连接在本质上差距不大。   至于你说的拦截功能,也有这方面考虑,试想,你action要是用拦截器来做了(或者过滤器)权限控制,你要是越过action,直接调用dao或service,那么你还非得重新编写权限拦截是吧。  而且本质上,dwr可以直接调用dao其实是一个假象,它里面会自动给你弄个servlet,让你看不到而已。
随时随地看视频慕课网APP

相关分类

Java
我要回答