Porque você precisa fazer isto? Não é recomendável o uso de Valve para situações corriqueiras, mas somente críticas.
Acho que isto pode ser feito via ServletFilter mesmo.
O Valve é um componente que está acima (se tratando de importância) em todo processo de requisição HTTP.
Ele é o componente principal pelo qual todos os filtros são executados.
Basicamente, um Valve pode ser implementado da seguinte maneira: