weixin_42365484 2010-05-11 16:11
浏览 574
已采纳

怎样用spring aop 拦截servlet

附件中的小例子可以用spring aop拦截普通类的方法,但是不能拦截servlet,可能是因为servlet是由web容器实例化而不是有spring容器实例化。请问怎样可以实现spring aop拦截servlet?或者怎样用spring实例化servlet?谢谢!

  • 写回答

8条回答 默认 最新

  • jiangyongyuan 2010-05-23 14:18
    关注

    这里的理解显然是没有弄清servlet开发中的一些理解
    [quote]
    这样确实可以解决,应该还要更好的方案吧,spring可以实例化struts2的antion,肯定是可以实例化servlet的

    还是感谢mginobili[/quote]

    struct的action、spring mvc等是通过自定义Servlet实现的,如struct的ActionServlet,spring mvc的DispatcherServlet。
    他们都是在servlet规范之上构建的。

    spring如何在servlet中启动,是通过配置listener启动spring容器。spring容器再去管理spring的bean.

    spring为何能管理action,因为action是简历在spring容器之中。

    以上三点可以看到。无论是action,还是spring bean,都是在servlet规范之上整合的。

    servlet的由servlet容器管理,tomcat,jetty等,如果你想通过spring实例化servlet,那么就需要在spring中操作tomcat,jetty实例化servlet的代码。

    是否可行没有操作过。

    不过我们可以看到,spring自己的启动(listener启动)、spring mvc都是通过servlet转到spring之上的bean处理。

    不过你的想法可以换一下,servlet转发到spring bean,通过aop处理。网络上很多spring gwt整合的例子。见:
    http://jiangyongyuan.iteye.com/blog/143455

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(7条)

报告相同问题?

悬赏问题

  • ¥15 求差集那个函数有问题,有无佬可以解决
  • ¥15 【提问】基于Invest的水源涵养
  • ¥20 微信网友居然可以通过vx号找到我绑的手机号
  • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
  • ¥15 解riccati方程组
  • ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
  • ¥50 树莓派安卓APK系统签名
  • ¥65 汇编语言除法溢出问题