Server Pfad

Status
Nicht offen für weitere Antworten.

MQue

Top Contributor
Hallo,

mal wieder eine unmögliche Frage, ich komm leider nicht drauf, ich hab in meiner Webanwendung eine Plain Old Java Klasse, in der ich einen Pfad auf ein Bild benötige, welche am Server im Ordner

Web Pages -> pics -> MeinBild.png (NetBeans hat den Ordner Web Pages für die Webdateien)

liegt.

Habs schon so probiert:

Java:
file = new File("./pics/MeinBild.png");

Da bekomme ich vom Tomcat die Fehlermeldung:

Code:
java.io.FileNotFoundException: C:\Programme\Apache Software Foundation\Apache 
Tomcat 6.0.18\bin\.\pics\MeinBild.png (Das System kann den 
angegebenen Pfad nicht finden)

Wie gebe ich den Pfad richtig an, damit ich am Server auf das Bild zugreifen kann?

Vielen Dank für die Hilfe
 

mvitz

Top Contributor
Oder direkt in einer JSP mit (vorrausetzung Core Tag Library inkludiert)
HTML:
<img src="<c:url value="/pics/MeinImage.png" />" />

Weiß ja nicht, ob du mit dem Bild noch was außer dem anzeigen machen möchtest.
 

MQue

Top Contributor
Im dist- Ordner meiner IDE gibt es eine *.war in der sich ja alles befindet, der pics Ordner, der WEB-INF Ordner, in der sich die Ordner "classes" und "lib" befinden und ich weiß jetzt eben nicht wie ich in meiner *.class Datei im Ordner "classes" auf die Bilder im "pics" ordner komme, Ich möchte die Bilder im "pics"- Ordner lassen und nicht in eine *.jar verpacken und diese dann in den Classpath hinzufügen,

gibt es da eine Möglichkeit,

lg
 
M

maki

Gast
Wo genau liegen denn die Bilder, im Classpath (WEB-INF/classes, WEB-INF/lib) oder einfach nur so in Ordnern?

Wenn sie im Classpath liegen, dann wird das mit der JSP nicht mehr funktionieren, da kein Client direkt auf WEB-INF zugreifen darf.
Würde da wohl ein sog. "Stream Servlet" bauen und dieses dann per JSP aufrufen, mit den entsprechenden Parametern in der URL, dann wie von FArt vorgeschlagen über den Classloader laden und streamen.

Oder einfach in einen Ordner der Webapp und dann so wie von habi55 vorgeschlagen aus der JSP laden.
 

MQue

Top Contributor
Wo genau liegen denn die Bilder, im Classpath (WEB-INF/classes, WEB-INF/lib) oder einfach nur so in Ordnern?

Liegen einfauch nur so in einem Ordner auf gleicher ebene wie WEB-INF, da wird mir nichts anderes übrigbleiben als den "pics"- Ordner in den WEB-INF- Ordner zu kopieren, oder?

Vielen Dank,
lg
 
M

maki

Gast
Nein, einfach wie von habi55 vorgeschlagen in der JSP einbinden.
 

FArt

Top Contributor
Mein Tipp: mach es richtig und baue nicht irgendeine Workaround, den du (wie man sieht) auch nur mit Mühe und Not hinbekommst...
Annahme: dir ist die Struktur eines WARs bekannt und du weißt auch was man wann wo darin ablegt. Greife NIE direkt (z.B. Fileoperationen) auf Ressorucen außerhalb der Webapplikation zu!
 

MQue

Top Contributor
Mein Tipp: mach es richtig und baue nicht irgendeine Workaround, den du (wie man sieht) auch nur mit Mühe und Not hinbekommst...
Annahme: dir ist die Struktur eines WARs bekannt und du weißt auch was man wann wo darin ablegt. Greife NIE direkt (z.B. Fileoperationen) auf Ressorucen außerhalb der Webapplikation zu!

Komm leider nicht hin, ich poste mal die Verzeichnisstruktur hier, vielleicht könntet Ihr dann nochmal schreiben, wies gehen könnte, ich hab schon (fast) alles ausprobiert.
Ich möchte also von einem Source Package raus uf pics zugreifen.

lg

michael1234-albums-applikation-picture43-vs.png
 
M

maki

Gast
Mein Tipp: mach es richtig und baue nicht irgendeine Workaround, den du (wie man sieht) auch nur mit Mühe und Not hinbekommst...
Annahme: dir ist die Struktur eines WARs bekannt und du weißt auch was man wann wo darin ablegt. Greife NIE direkt (z.B. Fileoperationen) auf Ressorucen außerhalb der Webapplikation zu!
Ist doch hier gar nicht der Fall ;)

Was er will ist einfach Bilder die in der WebApp liegen aus einem Servlet laden, der Weg wurde schon beschrieben.

Nebenbei, wie würdest du das machen ohne direkt auf das Dateisystem zuzugreifen, wenn deine WebApp permantente Dateien speichert? Innerhalb der WebApp ist das imho keine gute Idee.
Den Weg den ich da gehe ist in der web.xml ein Init-Param zu erzeugen mit dem Pfad zum Ordner für die Dateien.

Klar, in einem EJB Server würde da ein JCA Connector diesen Dienst leisten, aber für WebApp kenne ihc so etwas nicht.

@Michael, wo ist denn jetzt das Problem, oder läuft alles?
 

MQue

Top Contributor
@Michael, wo ist denn jetzt das Problem, oder läuft alles?

Das Problem ist noch immer, dass ich nicht weiß, was ich da für einen Pfad herschreiben soll:

Java:
file = new File("keine Ahnung was ich da für einen Pfad herschreiben soll");
 
M

maki

Gast
Hab dir doch den Link gepostet... den ServletContext holen, dann mit getRealPath("/pics") den Pfad holen und schon hast du den Pfad zum Verzeichnis, dann noch das Unterverzeichnis + den Dateinamen angeben.
 

FArt

Top Contributor
Was er will ist einfach Bilder die in der WebApp liegen aus einem Servlet laden, der Weg wurde schon beschrieben.

Eben. Das macht man wenn ich richtig informiert bin über einen Classloader oder (wenn es um statische Inhalte aus der Webapplikation geht) über den ServletContext mit getResource bzw. getResourceAsStream (zumindest steht das so in der Servlet Spec SRV.3.5).

Nebenbei, wie würdest du das machen ohne direkt auf das Dateisystem zuzugreifen, wenn deine WebApp permantente Dateien speichert? Innerhalb der WebApp ist das imho keine gute Idee.
Den Weg den ich da gehe ist in der web.xml ein Init-Param zu erzeugen mit dem Pfad zum Ordner für die Dateien.
Klar, in einem EJB Server würde da ein JCA Connector diesen Dienst leisten, aber für WebApp kenne ihc so etwas nicht.
Von schreiben war ja nicht die Rede, denn das macht die Sache (wie du schon gesagt hast) komplizierter und ist in einer Webapplikation keine gute Idee (laut J2EE-Spec verboten).
 
M

maki

Gast
Eben. Das macht man wenn ich richtig informiert bin über einen Classloader oder (wenn es um statische Inhalte aus der Webapplikation geht) über den ServletContext mit getResource bzw. getResourceAsStream (zumindest steht das so in der Servlet Spec SRV.3.5).
Ok, da stand ich vorhin auf dem Schlauch.
Hast recht, sollte nicht als File geladen werden!

@Michael1234, nimm lieber diese Mthode: : Interface ServletContext)

Von schreiben war ja nicht die Rede, denn das macht die Sache (wie du schon gesagt hast) komplizierter und ist in einer Webapplikation keine gute Idee (laut J2EE-Spec verboten).
Soweit ich weiss bezieht sich das aber auf EJBs, aber wenn man die WebApp in einem Cluster hat, ist es natürlich genauso daneben.
 
Zuletzt bearbeitet von einem Moderator:

FArt

Top Contributor
Soweit ich weiss bezieht sich das aber auf EJBs, aber wenn man die WebApp in einem Cluster hat, ist es natürlich genauso daneben.

Webapplikation und JEE kann man nicht so einfach trennen, ganz abgesehen von Clustering usw. Beide Specs haben durchaus Überschneidungen bzw. enge Berührungspunkte. Auch Webserver wie Tomcat bewegen sich immer mehr in Richtung Applikationsserver.

Man sollte als Entwickler im Entperpriseumfeld beide Specs kennen und sich immer entsprechend konform verhalten. Das hat einfach viele Vorteile, denn man spart sich oft viel Ärger (der meistens erste sehr spät eintritt, nämlich im produktiven Betrieb oder bei einer Migration oder nach Einspielen eines Patches). Dazu kommt, dass in der Regel das Design davon profitiert, z.B. durch klare Trennung der Verantwortlichkeiten.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
thor_norsk Glassfish Server unter Windows startet nicht! Allgemeines EE 20
L Tcp-IP Server an Rest Schnittstelle Allgemeines EE 20
4a61766120617274697374 Managed Server im J2EE Umfeld Allgemeines EE 0
B Integrierte Datenbank in Wildfly Server Allgemeines EE 2
N wildfly | jax-ws | Server mit WS-Reliable Messaging Allgemeines EE 0
N WebService WAR-File auf Tomcat-Server Allgemeines EE 1
E Wie kann ich über einen Suchfeld in Java Server Pages nach Datenbankinhalten suchen? Allgemeines EE 11
B Ordner von Client an Server senden Allgemeines EE 2
N JBOSS7 server.log rotieren Allgemeines EE 3
J Client Request vom Server aus. Allgemeines EE 2
P Subprozess auf Application Server ausführen Allgemeines EE 6
P Context and Dependency Injection (CDI) ohne Server Allgemeines EE 6
S Jboss Server Allgemeines EE 5
F Gesucht: Gratis Server für Java Entwickler Allgemeines EE 4
T "normales" Java Programm auf einen Server laufen lassen Allgemeines EE 3
Evil-Devil Server/Tech-Empfehlung für Web-App? Allgemeines EE 12
Y Jasperreport Pfadprobleme am Server Allgemeines EE 11
F Java EE Server nutzung kostenlos an Schule? (zB. mit Glassfish) Allgemeines EE 6
T MS SQL Server, GlassFish, JDBC Allgemeines EE 2
G XML vom Server zum Client Allgemeines EE 4
T The server does not support version 3.0 of the J2EE Web module specification. Allgemeines EE 6
MQue Datei vom Server downloaden Allgemeines EE 2
S Unterschied zwischen Tomcat und Application Server? Allgemeines EE 3
P Eclipse Tomcat Plugin funktioniert nicht mit externem TC-Server? Allgemeines EE 4
MQue Server -> Client zyklische Daten senden Allgemeines EE 20
MQue Application Server Allgemeines EE 61
GFEMajor EJB auf externem Server aus GWT aufrufen Allgemeines EE 13
musiKk Langlebige Berechnungen auf Server ausführen Allgemeines EE 5
N erstes Java EE Projekt - Server/ EJB-Verbindung-Anfängerfage Allgemeines EE 17
H Server VM warning: bailing out to foreground collection Allgemeines EE 1
K Java Application Server + ganttproject *.jar Anwendung Allgemeines EE 6
K Sriplets & Servlets: Offline Projekt auf Server realisie Allgemeines EE 2
B Welchen Applikation-Server verwendet ihr? Allgemeines EE 6
A Windows 2003 Server, ActivDirectory,Zertifikatslösung mit J? Allgemeines EE 2
M Bibliotheken ins Projekt oder auf den Server stellen? Allgemeines EE 4
S Suche gutes JSF(Java Server Faces)-Tutorial Allgemeines EE 2
flashfactor Gibt es ein Case Management für Java Application Server? Allgemeines EE 6
E Portal Server Evaluation Allgemeines EE 3
M Überblick verloren, viele Frameworks, Server & Co Allgemeines EE 3
G Deployen am JBoss Server Allgemeines EE 14
M Objektübergabe von Client zum Server Allgemeines EE 11
M Java Application Server in einem ungesunden Zustand Allgemeines EE 4
S Java Server Faces & Google Web Toolkit verheiraten ? Allgemeines EE 2
M "Auto Client-Request" oder Server-Push oder Ajax – Allgemeines EE 2
R Jboss-Server mit Beispielanwendung füttern Allgemeines EE 2
M probleme mit client server kommunikation Allgemeines EE 3
I Sun App Server JDBC MySQL Allgemeines EE 2
D Servlet Problem über Server Allgemeines EE 26
L Tomcat auf Windows Server 2003 Allgemeines EE 10
M datei liste (jsp,html) von einem Server Allgemeines EE 4
W Eine Form an einen fremden Server schicken. Allgemeines EE 3
N Wie heisst das was der Client beim Http Server anfragt? Allgemeines EE 6
karambara weiterleiten zu url (nicht auf dem eigenen server) Allgemeines EE 1
K STRUTS The server encountered an internal error Allgemeines EE 5
D Eure Meinung über Internal Server Error Allgemeines EE 2
X Sun Application Server 9 - EJB3 Zugriffsproblem Allgemeines EE 2
haomomo *.do URLs dont work in apache web server+tomcat Allgemeines EE 3
S Verständnisproblem: WebSphere und HTTP Server Allgemeines EE 2
G properties file im J2EE Server - wo wird genau gesucht? Allgemeines EE 6
R Embedded WebService-Server Allgemeines EE 4
N Einbindung einer Bean in eine JSP (Tomcat-Server 5.5.x) Allgemeines EE 2
clemson Ordner auf Linux-Server erstellen --> Rechteproblem Allgemeines EE 5
C JBoss Server unter Eclipse 3.1 Allgemeines EE 2
TRunKX Wie kriege ich die Auswahl in meinen Server Request? Allgemeines EE 7
clemson [Struts] Validierung server-seitig bringt StackOverflowError Allgemeines EE 5
K Java Server Pages und Images Allgemeines EE 10
W Servlet killt Server? Allgemeines EE 7
G Application Server! Gibt es eine grundsätzliche Architektur? Allgemeines EE 9
M Übersicht über Application Server Allgemeines EE 3
B Sun Application Server 8 --- Nichtsaussagende Fehlermeldung Allgemeines EE 2
K Virtueller Server <> Root Server Allgemeines EE 3
B Was kostet ein Application Server Allgemeines EE 18
K Kostenloser Portal Server Allgemeines EE 2
K Sun Application Server - Servlets laufen nicht Allgemeines EE 2
E Web-, EJB-Container - Application Server Allgemeines EE 6
W Java-APIs in Java ServerPages, Java Server Faces ? Allgemeines EE 2
J server ignoriert jsp code Allgemeines EE 4
T Servlets und Dateizugriff auf dem Server Allgemeines EE 5
T JSP: Eingaben als *.txt auf dem Server Speichern Allgemeines EE 14
T Textdateien mit JSP auf dem Server speichern ? Allgemeines EE 2
N Server mit Servlet- und JSP-Unterstützung Allgemeines EE 5
P relativer Pfad Allgemeines EE 2
S Pfad-Zugriff über Servlet-init() Allgemeines EE 2
P Pfad zu Ressource Allgemeines EE 2
A relativer Pfad in Webanwendung Allgemeines EE 4
K Pfad bei Webprojekt in Eclipse herausfinden Allgemeines EE 11
P [Maven2] maven-jaxb2-plugin - Kein absoluter Pfad für "<schemaDirectory> möglich??? Allgemeines EE 2
I JBOSS Jsp Files Pfad im Servlet? Allgemeines EE 4
S tomcat pfad anpassen, von dem webinhalte gelesen werden Allgemeines EE 2
S tomcat pfad anpassen, von dem webinhalte gelesen werden Allgemeines EE 4
N JSF - absoluter Pfad bei <h:commandButton image= Allgemeines EE 2
H relativer Pfad für stylesheet und Pics Allgemeines EE 5
B Wo ist bei Debian(Sarge) der Pfad zum JDK Allgemeines EE 4
F Pfad zur Webanwendung Allgemeines EE 4
F Pfad Allgemeines EE 5
F Pfad vs. URL Allgemeines EE 3
S Pfad der Webapplikation Allgemeines EE 6
F relativer Pfad in Servlets für Dateien Allgemeines EE 2
clemson [JSP] CSS & Image Pfad Allgemeines EE 7
A relativer Pfad zim Tomcat-Verzeichnis für FileInputStream Allgemeines EE 3

Ähnliche Java Themen

Neue Themen


Oben