helloworld:web:java:filter
Filtres
Il est possible d'exécuter une action lors de l'affichage d'une page depuis une classe, implémentant l'interface servlet.Filter
, qui sera exécuté en fonction des filtres définis dans le fichier web.xml.
Ci-dessous un exemple où si la rubrique admin
est accédée sans être administrateur, l'utilisateur est renvoyé sur la page principale du site.
- Filtre.java
package com.llgc; import java.io.IOException; import javax.servlet.Filter; import javax.servlet.FilterChain; import javax.servlet.FilterConfig; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; import javax.servlet.annotation.WebFilter; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; /** * Servlet Filter implementation class Filtre */ @WebFilter ("/admin/*") public class Filtre implements Filter { /** * @see Filter#doFilter(ServletRequest, ServletResponse, FilterChain) */ public void doFilter (ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { if (((HttpServletRequest) request).isUserInRole ("admin")) { chain.doFilter (request, response); } else { ((HttpServletResponse) response).sendRedirect ("/EF/indexjsf5.xhtml"); } } @Override public void destroy () { } @Override public void init (FilterConfig arg0) throws ServletException { } }
helloworld/web/java/filter.txt · Dernière modification : 2015/08/11 09:56 de root