Domanda

Stavo usando quanto segue in web.xml per configurare un servlet per generare dinamicamente PDF.

<servlet-mapping>
    <servlet-name>pdfServlet</servlet-name>
    <url-pattern>*.pdf</url-pattern>
</servlet-mapping>

Ora devo anche servire alcuni file PDF statici. Qual è il modo più pulito per configurarlo? Attualmente sto servendo solo quattro o cinque file dinamici e non mi aspetto che aumenti, se ciò aiuta affatto.

È stato utile?

Soluzione

Non è necessario configurare affatto i file statici; se Tomcat riesce a trovare un file, lo servirà. La configurazione è necessaria solo quando si desidera che Tomcat invochi del codice.

Altri suggerimenti

Questo è un problema sorprendentemente irritante a cui devo ancora trovare una soluzione soddisfacente.

La base del problema, come sono sicuro che tu sappia, è che il tuo web.xml è configurato per inviare tutte le richieste per * .pdf al tuo servlet Spring. La cosa ovvia da provare è che il servlet riconosca quali richieste sono per PDF statici e quindi inoltra la richiesta internamente a quel file statico, ma poiché il file probabilmente finirà con .pdf, la richiesta tornerà indietro attraverso il servlet di nuovo, fino alla nausea.

L'unica soluzione per questo che ho provato è che il servlet legga manualmente il PDF statico dal contesto servlet (usando ServletContext.getResource () ) e lo scriva sull'output servlet stream, assicurandoti di impostare correttamente le varie intestazioni. Non è molto carino.

L'unica opzione che mi viene in mente è di rendere url-pattern in web.xml un po 'meno ampio, in modo che solo le richieste PDF dinamiche vengano indirizzate al servlet e le richieste di PDF statici vengono instradate al file, ma ciò richiederebbe una sorta di convenzione di denominazione per i tuoi documenti, che potrebbe non essere un'opzione.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top