O que eu preciso fazer é bem simples, mas aparentemente bem difícil…
Se eu acesso uma página JSP, digamos /hello/hello.jsp, ela eventualmente é entregue ao org.apache.jasper.servlet.JspServlet que vai processar esse JSP. Mesma coisa acontece com um forward para uma página JSP.
O que eu preciso fazer é modificar essa página dinamicamente antes que o JSP seja processado, ou seja:
-
Acesso a /hello/hello.jsp
-
Um filtro de servlet carregaria essa página hello.jsp do disco, faria suas modificações e passaria ela adiante para que o JspServlet processasse ela.
Outra opção, que também resolveria é:
-
Acesso a /hello/hello.jsp
-
O filtro checa se hello.jsp foi modificado
-
Se foi ele gera um hello_.jsp com as modificações que ele precisa fazer
-
Troca-se o request hello.jsp para hello_.jsp
-
Passe-se o request adiante
A pergunta é: Seria isso impossível ou dá para fazer?