codice:
<div id="corpo">
            <jsp:include page="${pagina}" flush="true"/>
        </div>
immagino sia questa a dare problemi: la direttiva non si aspetta necessariamente un documento che il browser sia in grado di "digerire": semplicemente prende quel che gli passi, lo interpreta (se fosse una jsp) e lo schiaffa in quel div senza troppi complimenti.

Dovresti quindi creare una piccolo sistema di gestioni di tali inclusioni: controllare in poche parole se ${pagina} è un file "buono" (html, jsp) oppure no. In caso di file "da interpretare" hai un paio di sotto casi:
- per le immagini te ne esci facilmente con un tag img
- per gli altri documenti, prova con un iframe nel cui src metti l'indirizzo del documento doc o pdf

ad ogni modo, crea una pagina di appoggio a cui passi quel che vuoi includere, verificane il tipo e fai stampare quanto necessario (si tratta di fare una jsp e passargli il percorso del file da includere in get, curando gli aspetti relativi alla sicurezza - ovvero controllando che le inclusioni avvengano solo dal contesto della tua applicazione)