Spring mvc interceptor Basics

时间:2014-08-23 07:31:16

标签: spring

我是Spring的新手,目前正在开发一个spring应用程序。 我对Spring安全中的Spring拦截器和Interceptor非常困惑。

我有些疑惑 1.拦截器有什么用?是否用于修改请求的网址或验证网址?
2.是否有可能通过拦截器我可以修改我的URL / Test / MyTest到/ Test / Intercept / MyTest?
3.如果Interceptor仅用于对url进行vaidate,那么只能通过url-pattern = /" somevalue"它会工作还是需要实现Interceptorhandler?

请帮助我理解拦截器的这些基本功能。

我经历了很多网站,但仍然不清楚所有这些概念。

3 个答案:

答案 0 :(得分:1)

拦截器有点像过滤器。过滤器处理围绕servlet的请求和响应,并且拦截器处理请求以及可选地围绕弹簧控制器的模型。常见用途是预处理请求以确保实现条件(preHandle),或使用不同控制器方法(postHandle)共有的属性填充模型。 afterCompletion主要用于在请求处理结束时执行清理。

答案 1 :(得分:0)

     Actually interceptor can do three things

            preHandle(…) – called just before the action
            postHandle(…) – called immediately after the action
            afterCompletion(…) – called just before sending response to view

        Best example of prehandle is-checking whether the user is logged in or not.


      Hope you have got some idea of interceptor

答案 2 :(得分:0)

Spring MVC 拦截器类似于 Servlet Fiter 概念。 Spring MVC提供了定义一组名为interceptor的类的能力,这些类将在提供请求之前和之后被调用。拦截器将实现HandlerInterceptor,其中需要实现以下方法:

  1. preHandle ():在处理程序执行之前调用
  2. postHandle ():在处理程序执行后调用
  3. afterCompletion ():在完成请求完成后调用
  4. 有一个很好的tutorial by MKYONG,我建议你去看看它,我发现它有助于理解拦截器的基本概念。希望有助于您入门。