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条)

报告相同问题?

悬赏问题

  • ¥30 python代码,帮调试
  • ¥15 #MATLAB仿真#车辆换道路径规划
  • ¥15 java 操作 elasticsearch 8.1 实现 索引的重建
  • ¥15 数据可视化Python
  • ¥15 要给毕业设计添加扫码登录的功能!!有偿
  • ¥15 kafka 分区副本增加会导致消息丢失或者不可用吗?
  • ¥15 微信公众号自制会员卡没有收款渠道啊
  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条