Io ho due webapp di esempio sotto tomcat: App1 e App2.
Ognuna di queste App ha una piccolissima servlet: Serv1 e Serv2.
Ho la necessità che Serv1 richiami Serv2 di modo che la sessione rimane identica.
Ho provato a fare così da Serv1:
codice:
ServletContext sc = this.getServletContext().getContext("/App2");
sc.getRequestDispatcher("Serv2").forward(request, response);
Ma l'istanza sc risulta sempre uguale a null...ho impostato anche il crossContext come da te suggerito (e riavviato Tomcat), ma il risultato è sempre null.
Questo è il context.xml:
codice:
<?xml version="1.0" encoding="utf-8" ?>
<Context crossContext="true">
<WatchedResource>WEB-INF/web.xml</WatchedResource>
</Context>
Ma il codice che ho scritto è corretto?
Ho avuto dubbi sul path ma sembra corretto...infatti se mi faccio restituire il context path da Serv2 in App2 attraverso il getContextPath ottengo proprio /App2.