2015-08-25 18 views
8

Ho il seguente riga di codice:Perché servletContext.getRealPath restituisce null su tomcat 8?

servletContext.getRealPath("resources/images/video_icon.png") 

Wen corro applicazione utilizzando pontile (con plugin di Maven) questa riga di codice restituire valore corect.

Quando eseguo l'applicazione utilizzando tomcat 8 (su tomcat 7 funziona) - l'applicazione restituisce null.

struttura dell'applicazione:

enter image description here

1.How per risolvere il problema?
2. Perché è successo?

risposta

12

dopo l'aggiunta / nel percorso inizia funziona sia: molo e tomcat 8

servletContext.getRealPath("/resources/images/video_icon.png") 
+0

Il motivo è Tomcat richiede/all'inizio – tangobee

+0

Grazie Tangobee, gentilmente fammi sapere perché Tomcat 8 sta facendo questo o è possibile perché questa cosa è cambiata. Potrebbe esserci qualche ragione dietro a questo sto indagando su quella cosa. – user1061865

4

Funziona in Tomcat 7 perché le versioni precedenti di Tomcat autorizzati senza / separatore iniziale ma Tomcat 8 richiede includere / separatore all'inizio.

per risolvere il problema è sufficiente aggiungere /

servletContext.getRealPath("/resources/images/video_icon.png") 
0

Grazie ragazzi per la soluzione ma chiunque può farmi sapere il motivo per cui Tomcat 8 ha fatto questo. Ci potrebbe essere qualche motivo se Tomcat 8 è stato aggiornato per funzionare in questo modo.

Gentilmente fammi sapere come questa cosa risolve qualsiasi scopo.

+0

Assolutamente nessuno può esserci. Probabilmente il modo in cui è stato scritto il codice. Per alcuni di noi schierando dalla A7 alla A8 e scoprendo che questo è nel bel mezzo della notte - un'altra opportunità di perdere l'ultimo treno. –

Problemi correlati