簡體   English   中英

在過濾器類中獲取自動裝配服務

[英]get the Autowired service in filter class

有一個錯誤:

java.lang.IllegalStateException: 
No WebApplicationContext found: no ContextLoaderListener registeredatorg.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:252)at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)

並且我的web.xml配置被聲明為DelegatingFilterProxy 如果有不同的身份驗證規則,如何在過濾器中編寫? 那些差異網址名稱?

public class SecurityFilter implements Filter{
@Autowired
private TokenService tokenService;
@Override
public void init(FilterConfig filterConfig) throws ServletException {
}

@Override
public void doFilter(ServletRequest request, ServletResponse response,
        FilterChain chain) throws IOException, ServletException {
    String token = request.getParameter("token");//:TODO}}

和彈簧配置是:

<bean id="securityFilter" class="xx.filter.SecurityFilter"></bean>

過濾器類不是彈簧指定的類,因此不會加載任何與彈簧相關的相關類。 理想情況下,如果將UserFilter注釋為spring組件,則也會加載@autowired依賴項。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM