2009-04-27 10 views
49

La cartella WEB-INF è nello CLASSPATH di un'applicazione Web Java?WEB-INF è in CLASSPATH?

+0

Questa domanda sembra chiedere una cosa simile: http://stackoverflow.com/questions/305285/servlet-containers-and-class-path – andri

risposta

69

Suppongo che tu ti stia riferendo alla /WEB-INFdirectory nella radice della struttura della cartella dell'applicazione web.

No, non è nel classpath.

/WEB-INF/classes si trova sul classpath, così come i file JAR in /WEB-INF/lib.

+4

Se/WEB-INF non è sul classpath, allora perché sono ufficiali 'file descrittori di deployment', come web.xml, in quella cartella? Vengono comunque caricati in qualche modo anche se non sono sul percorso di classe? – djangofan

10

I file aggiuntivi in ​​WEB-INF sono protetti contro la richiesta del contenitore Web, ovvero sono invisibili al mondo esterno.

+0

A meno che non inoltrate la richiesta (sebbene BEA abbia avuto una implementazione fallita di questo molti anni fa). –

+1

È quasi sempre possibile eludere la protezione. –