簡體   English   中英

ClasscastException:MyClass無法轉換為javax.servlet.Filter

[英]ClasscastException : MyClass cannot be cast to javax.servlet.Filter

我正在嘗試為身份驗證設置過濾器。

我的過濾器類如下

public class AuthenticationFilter extends HttpServlet{

    /**
     * 
     */
    private static final long serialVersionUID = -7678740843612123432L;

    public void destroy() {
        // TODO Auto-generated method stub

    }
   ///Other methods...
    public void doFilter(HttpServletRequest request, HttpServletResponse response,
            FilterChain chain) throws IOException, ServletException {

        Map<String,String> map = getHeadersInfo(request);

        chain.doFilter(request, response);
    }
        ///Other methods.

相應的web.xml如下。

 <filter>
    <filter-name>AuthFilter</filter-name>
    <filter-class>com.mypackage.AuthenticationFilter</filter-class>
</filter>

<filter-mapping>
    <filter-name>AuthFilter</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>

搜索后,我發現很多人由於pom.xml中不正確的依賴關系而面臨此問題。 但是我已經確保相應的jar已provided范圍。

<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.0.1</version>
<scope>provided</scope>

<dependency>
    <groupId>com.sun.jersey</groupId>
    <artifactId>jersey-server</artifactId>
</dependency>

<dependency>
    <groupId>com.sun.jersey</groupId>
    <artifactId>jersey-servlet</artifactId>
</dependency>
<!-- Other dependencies-->

關於我可能做錯了什么的任何想法? 鏈接/建議表示贊賞。

您的過濾器應該implement它聲稱的那個Filter接口,並且不要 extend HttpServlet ,除非您將這兩個函數組合到一個類中,這不是一個好主意。

暫無
暫無

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

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