isaquebressy

January 8, 2016

[Aprendendo Spring MVC] Interceptors

Os interceptors são os filtros do Spring. Eles são executados sempre que há uma requisição. Assim, é possível interceptar uma chamada antes de processa-la e fazer algumas verificações, permitindo ou bloqueando o fluxo da requisição.
Para criar um interceptor, deve-se estender HandlerInterceptorAdapter e sobrescrever um dos seus métodos.
Geralmente o preHandle é o método mais utilizado, pois ele é executado antes da requisição ser processada. Para continuar com o processamento da requisição deve-se retornar true. Caso contrário, false bloqueará o fluxo da requisição.

public class LoginInterceptor extends HandlerInterceptorAdapter {
  @Override
  public boolean preHandle(HttpServletRequest req,HttpServletResponse res,
    Object controller) throws Exception {
    return true;
  }
}

Mas somente criar o interceptor não fará a requisição ser interceptada. Para que o Spring conheça os interceptors criados, é necessário registrar os mesmos no spring-context.xml através da tag <mvc:interceptors>

<mvc:interceptors>
  <bean class="endereco.da.classe.interceptor.no.pacote" />
</mvc:interceptors>

Após este registro, o Spring está apto a interceptar as requisições.
É interessante que, dentro do interceptor, seja verificada a URL da requisição para tratar quais endereços serão interceptados e quais regras serão aplicadas.


Category: java learning spring-mvc

Tags: framework java mvc


# Back