# Ressourcen in War Files



## Guest (16. Mai 2006)

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.ä)


----------



## LordSam (16. Mai 2006)

Probiers mal mit 

```
getServletContext().getResourceAsStream(<path>)
```


----------



## Guest (16. Mai 2006)

Habs jetzt mal so probiert.



```
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 (16. Mai 2006)

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


```
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:

```
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...


----------

