请问spring里面怎样能将HttpServletResponse对象注射进一个aspect类

ty263 2010-11-17 03:27:09
环境:spring mvc,没用struts。

我们的项目有一个web目录,所有客户端请求对应的服务器端入口都在这个目录里面。
为了进行安全性检查,我们在这个web目录上加了一个@Before的aspect,在这个aspect里面进行参数检查,
aspect是通过<aop:aspectj-autoproxy proxy-target-class="true" />对web目录下类的glibc proxy进行检查的。

现在的问题是:在这个aspect里面能够注射进当前的HttpServletRequest对象,但是HttpServletResponse对象注射不进去,请问有什么办法能在这个aspect对象里面注射当前的HttpServletResponse对象?

请教,多谢。

filter的方案这次不被考虑,多谢!!
...全文
228 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
ty263 2010-11-19
  • 打赏
  • 举报
回复
day day up.....
  • 打赏
  • 举报
回复
Servlet 不属于 Spring 管理的,用 Spring AOP 应该是做不了的吧?
  • 打赏
  • 举报
回复
JoinPoint#getTarget() 不就是了么?
panhaichun 2010-11-18
  • 打赏
  • 举报
回复
不过我上面说的是2年前的做法,现在可能spring mvc变化不一样了,不晓得你什么情况
panhaichun 2010-11-18
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 ty263 的回复:]

引用 1 楼 panhaichun 的回复:

单独对一个类做aop有什么意义??

对response做个wraper不是就能达到目的了么

不是对单独的一个类,是整个web目录/包下的所有类。
我们的想法就是对response做个wrapper,可是作wrapper需要有原始的response对象才可以啊,所以需要当前的response对象。
[/Quote]

知道你的意思了,

你用的spring mvc,那好办的。最简单方法就是在基类覆盖handlerRequest方法,把将response换成你包装过的response。
ty263 2010-11-17
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 panhaichun 的回复:]

单独对一个类做aop有什么意义??

对response做个wraper不是就能达到目的了么
[/Quote]
不是对单独的一个类,是整个web目录/包下的所有类。
我们的想法就是对response做个wrapper,可是作wrapper需要有原始的response对象才可以啊,所以需要当前的response对象。
tubage408 2010-11-17
  • 打赏
  • 举报
回复
没这么干过,应该注不进去吧。能不能利用ThreadLocal,只是个思路
panhaichun 2010-11-17
  • 打赏
  • 举报
回复
单独对一个类做aop有什么意义??

对response做个wraper不是就能达到目的了么

81,095

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧