我正在研究Web应用程序Maven项目,我需要一个实现javax.servlet.Filter的Filter类。 所以我不能在我的web.xml中正确配置它。我收到“'filter.RestrictionFilter'无法分配给'javax.servlet.Filter'”错误,有人可以帮助我解决它:
这是我的过滤器类:
package filter;
import javax.servlet.*;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.io.IOException;
import java.util.logging.Filter;
import java.util.logging.LogRecord;
//@WebFilter("/RestrictionFilter")
public class RestrictionFilter implements Filter {
//constructor
public RestrictionFilter(){
}
public void init(FilterConfig filterConfig) throws ServletException{
}
public void destroy(){
}
public void doFilter(ServletRequest req, ServletResponse res,
FilterChain filterChain) throws IOException,ServletException{
//cast des objets req et res
HttpServletRequest request =(HttpServletRequest) req;
HttpServletResponse response =(HttpServletResponse)res;
//recuperation de la session depuis la requete
HttpSession session=request.getSession();
//session de l'utilisateur
String usersession=(String)session.getAttribute("userSession");
if(usersession==null){
//aucun utilisateur connecté donc retour vers la page de connexion
request.getRequestDispatcher("/m1if03").forward(request,response);
}else{ //affichage de la page restreinte
filterChain.doFilter(request,response);
}
}
@Override
public boolean isLoggable(LogRecord logRecord) {
return false;
}
}
这是我在web.xml文件中的配置:
<filter>
<filter-name>RestrictionFilter</filter-name>
<filter-class>filter.RestrictionFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>RestrictionFilter</filter-name>
<url-pattern>/RestrictionFilter</url-pattern>
</filter-mapping>
我猜,我错过了一些东西,不知道要解决此错误。
谢谢。
答案 0 :(得分:1)
您正在实现java.util.logging.Filter
,而不是javax.servlet.Filter
。您需要实施正确的解决方案。