Ressourcen in War Files

Status
Nicht offen für weitere Antworten.
G

Guest

Gast
Also für mein Servlet brauche ich ein bestimmtes File, das hab ich auch in mein entsprechendes WAR-File mit reingepackt. Nun will ich später aber auf das File im Servlet zugreifen, leider weiß ich dann nicht wohin das ganze deployed wird, d.h ich weiß den Pfad nicht. Gibts da ne Möglichkeit, das ganze irgendwie zu finden. (per getRessourceStream o.ä)
 
G

Guest

Gast
Habs jetzt mal so probiert.


Code:
InputStream is = getServletContext().getResourceAsStream("Vorlage.xls");
HSSFworkbook wb = new HSSFWorkbook((FileInputStream)is);

wobei er mir aber hier ne NullException wirft. Das XLS hab ich im WAR-Verzeichnis mal zur Klasse gepackt,d.h. im Verzeichnis "classes". [/quote]
 

LordSam

Mitglied
Da gibts dann aber nen Unterschied. Wenn Du das File aus dem Classpath lesen willst, musst du es wie folgt machen:

Code:
InputStream is = getClass().getResourceAsStream("Vorlage.xls");

Wenn Du die Funktion von dem ServletContext verwendest, wird vom root der WebApp ausgegangen. Das müsste dann wie folgt aussehen:
Code:
InputStream is = getClass().getResourceAsStream("/WEB-INF/classes/Vorlage.xls");

Allerdings ist der erste weg über den Classloader besser, da deine Anwendung vlt. später mal in nem JAR liegt und dann immer noch gefunden wird...
 
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen

Neue Themen


Oben