为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

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

2 回答

?
茅侃侃

TA贡献1842条经验 获得超21个赞

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

查看完整回答
反对 回复 2023-04-23
?
慕的地10843

TA贡献1785条经验 获得超8个赞

dwr确实可以调用任何一层,但是一个项目,总得有层次的划分,每一层干自己的事儿,一般来说,事务会包住dao层,假如你将要做的工作与事务提交有关,那么你直接调用dao,岂不是还得把事务下放到dao中去?可以是可以,但是破坏了程序的一致性,很难扩展和修改。 

  再者,dwr所做的任何操作,其实就是一个个action,只是说是ajax形式的,和跳转连接在本质上差距不大。 
  至于你说的拦截功能,也有这方面考虑,试想,你action要是用拦截器来做了(或者过滤器)权限控制,你要是越过action,直接调用dao或service,那么你还非得重新编写权限拦截是吧。  而且本质上,dwr可以直接调用dao其实是一个假象,它里面会自动给你弄个servlet,让你看不到而已。

查看完整回答
反对 回复 2023-04-23
  • 2 回答
  • 0 关注
  • 72 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信