Comment déterminer quelles pages JSP sont rendus?
-
19-09-2019 - |
Question
Je travaille sur une application héritée qui utilise de simples pages JSP qui sont imbriquées en utilisant <jsp:include>
.
Pas de cadres sont utilisés -. Simplement JSP et servlets filtres
Quelqu'un peut-il suggérer une façon de tracer les pages JSP sont rendus?
Peut-être il y a un journal, ou peut-être un crochet dans le moteur de rendu (Jasper).
La solution
Créer un filtre qui écoute sur une url-pattern
de *.jsp
et le régulateur de INCLUDE
seulement.
<filter>
<filter-name>includeFilter</filter-name>
<filter-class>com.stackoverflow.q2242429.IncludeFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>includeFilter</filter-name>
<url-pattern>*.jsp</url-pattern>
<dispatcher>INCLUDE</dispatcher>
</filter-mapping>
Obtenir la page parent par HttpServletRequest#getServletPath()
et incluent la page par HttpServletRequest#getAttribute()
avec javax.servlet.include.servlet_path
clé:
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
throws IOException, ServletException
{
HttpServletRequest httpreq = (HttpServletRequest) request;
String parentPage = httpreq.getServletPath();
String includePage = (String) httpreq.getAttribute("javax.servlet.include.servlet_path");
// Log it here?
chain.doFilter(request, response);
}
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow