servlet式API 与 SpringMVC控制器 的适配

简述

这是个大胆的想法!!可能已经有很多大神早就明白这种做法是可行的,不过我还是笔记一下。
笔者在项目实践中遇到了这样的问题:需要引用的组件,其提供的API是使用servlet的,与项目的Spring框架相性不好。

研究与实践

具体的来说,笔者所使用的组件是实现远程控制guacamole。
笔者debug查看的其在servlet的方法调用栈很浅,从doGet(doPost…)的方法到实现类的核心方法仅仅两层。
然后其在前端的JSAPI中所发请求也是常见的xmlHttpRequest。
最后我实践里一下,确实适配可行。

方法

原理是,本来组件其servlet的继承层很浅,而且组件整体是前后分离式。
于是简便的方式就是,将实现类置于controller的成员中,并将其核心抽象方法的访问级别改为public。然后本需在web.xml里配置的映射就略去了,交给Dispatcher管理。
另一个不美观整洁的方法就是完整把起servlet的继承链所有核心方法直接整理逻辑作为controller的方法。

效果

这样的好处是,将servlet的特殊异常也能归于Spring中可以集中化的异常管理,这样也是一定程度上的代码管理方便。
潜在的威胁可以就不可而知了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值