gpt4 book ai didi

java - ClasscastException : MyClass cannot be cast to javax. servlet.Filter

转载 作者:行者123 更新时间:2023-12-01 22:27:36 35 4
gpt4 key购买 nike

我正在尝试设置一个身份验证过滤器。

我的过滤器类如下

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-->

对我可能做错的事情有什么想法吗?感谢链接/建议。

最佳答案

您的过滤器应该实现它声称的任何Filter接口(interface),并且扩展HttpServlet,除非您将这两个函数合并到一个类中,这不是一个好主意。

关于java - ClasscastException : MyClass cannot be cast to javax. servlet.Filter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28442268/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com