在过滤器doFilter方法里,怎么取得Spring的bean
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在过滤器doFilter方法里,怎么取得Spring的bean相关的知识,希望对你有一定的参考价值。
参考技术A Filter的init方法中暴露了FilterConfig接口,通过该接口可以获取ServletContextFilterConfig.getServletContext().
Spring web容器加载完成后,将在ServletContext中存放ApplicationContext,以WebApplicationContext.ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE为储存的Key值,所以,ServletContext.getAttribut(WebApplicationContext.ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE)可以获取ApplicationContext本回答被提问者采纳
java 过滤器(自己的理解)
filter继承javax.servlet.*
必须实现doFilter方法
chain.doFilter(request, response);这句话必须写在doFilter方法内部(以便调用其他的过滤器)
在web.xml配置filter(filter要放在上面)
这里的<url-pattern> /* 是过滤所有的链接
则加载工程运行结果如下:
在加载的时候过滤器就已经给初始化了
此时,我访问工程链接
则显示的结果如下:
过滤器依赖于servlet容器,所以只有在servlet容器销毁时,过滤器的destory销毁方法才被调用
过滤器过滤的是链接地址 url(也可以理解为只有在特定链接的情况下过滤器才会被调用,至于链接就看web.xml里的filter下的url-pattern是什么东西了)
以上是关于在过滤器doFilter方法里,怎么取得Spring的bean的主要内容,如果未能解决你的问题,请参考以下文章