2013-06-28 44 views
2

我最近开始研究一个使用弹簧安全性的spring MVC项目。在春季调用控制器之前进行预检查MVC

在用户的请求到达控制器之前,我必须做一些预先检查。

这就是我想要实现的,就像我在struts和struts中工作过很多,我们可以将所有的动作类扩展到超类,比如BaseAction,然后在这里写一些验证,以便在调用子类方法。

我想在这里实现同样的事情,但不知道如何开始。

我无法使用过滤器,因为我需要在预检时进行数据库调用和Web服务调用。

我只需要指针。

+0

免责声明:不知道谁是这哥们儿,不是我的博客,只是第一个谷歌命中:http://viralpatel.net/blogs/spring-mvc-interceptor-example/ – Affe

+0

感谢您的链接,我错过了要搜索的术语(拦截器)。 – NullPointerException

回答

3

您可以使用HandlerInterceptorAdapter来实现拦截器。

http://static.springsource.org/spring/docs/3.0.x/reference/mvc.html#mvc-handlermapping-interceptor

在XML配置ApplicationContext中。

<mvc:interceptors> 
    <bean class="my.package.MyInterceptor" /> 
</mvc:interceptors> 

拦截器。

public class MyInterceptor extends HandlerInterceptorAdapter { 

    public boolean preHandle(
     HttpServletRequest request, 
     HttpServletResponse response, Object handler) { 

     // your logic 
     return true; 
    } 
} 

返回 true,如果执行链应与下一个拦截器或处理程序本身进行。否则,DispatcherServlet假定这个拦截器已经处理了响应本身。