springmvc下,web服务(restful)异常 和非web服务异常 的统一处理

业务场景很简单,就是在一个j2ee的web应用里同时需要两种异常处理,一种是restful的返回json异常,一种是普通的出现500或者404页面的异常。

当然最好的处理方法还是分开成两个应用来处理,一个专门做web服务。可是一般小应用不会分这么细,而且web服务异常还可以用作ajax的异常处理,也是不错的。

基本内容和一年前的帖子差不多, http://leobluewing.iteye.com/admin/blogs/1777704

当时写完以后一直没时间整理,同时也有不少bug,年前年后总算有点空闲,于是整理出了一个可以跑的例子来,同时改写了点代码,大致思路没有变化。

架构基于springmvc3,项目组织架构上参考的springside和jeesite,只不过在这个示例里面都删光了,因为不需要展示数据持久化,但是由于是从大的项目里剥出来的,可以看到在core文件夹内保留了很多空文件夹。


使用maven,请先在project下执行install安装到本地。因为web是引用了core jar包的。

具体思路就是捕捉所有的异常,首先交给restful异常处理类来判断是否为restful异常,如果不是,则由springmvc来处理普通的页面异常。

跑起来后界面如下:



git地址: https://github.com/wwlleo0730/restjplat

同时我也打了个包上传。

猜你喜欢

转载自leobluewing.iteye.com/blog/2017470