我是Spring的新手,目前正在开发一个spring应用程序。 我对Spring安全中的Spring拦截器和Interceptor非常困惑。
我有些疑惑
1.拦截器有什么用?是否用于修改请求的网址或验证网址?
2.是否有可能通过拦截器我可以修改我的URL / Test / MyTest到/ Test / Intercept / MyTest?
3.如果Interceptor仅用于对url进行vaidate,那么只能通过url-pattern = /" somevalue"它会工作还是需要实现Interceptorhandler?
请帮助我理解拦截器的这些基本功能。
我经历了很多网站,但仍然不清楚所有这些概念。
答案 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,其中需要实现以下方法:
有一个很好的tutorial by MKYONG,我建议你去看看它,我发现它有助于理解拦截器的基本概念。希望有助于您入门。