Dos formas ...
1. Tener un Servlet que haga el conteo, la insercion y luego redireccione al archivo. Esto implica que todos los requests deben pasar por este Servlet y debes pasar algun parametro que identifique al archivo.
http://localhost:8080/ServletConteoD...chivo=12345951
Donde ese Servlet se encarga de hacer algo tan sencillo como una consulta a la base de datos (cosa que veo ya sabes) y luego redireccione al archivo real para que sea descargado.
Con el método onClick tienes que usar Javascript y AJAX. Pones una función que haga una petición asíncrona a un Servlet que haga el conteo, solo que este Servlet no hará la redireccion al archivo real.