在web.xml

时间:2018-12-06 19:36:40

标签: java-ee

我正在研究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>

我猜,我错过了一些东西,不知道要解决此错误。

谢谢。

1 个答案:

答案 0 :(得分:1)

您正在实现java.util.logging.Filter,而不是javax.servlet.Filter。您需要实施正确的解决方案。