Verzeichnis auf Server auslesen

HarryG32

Mitglied
Hallo,

ich habe ein Applet, das eine XML-Datei von einem Server laden soll. Dabei sollen alle XML-Dateien eines bestimmten Verzeichnisses ausgelesen und in einer Auswahlliste angezeigt werden.

Lokal habe ich das mit einem FileLister gemacht, das ging ganz einfach. Leider funktioniert der FileLister nicht mit URL-Adressen und ich weiss nicht wie ich das anders machen kann.

Bisherige Suche im Internet verlief ohne Ergebnisse, bitte um Hilfe!
 

irgendjemand

Top Contributor
hmm ... da man aus sicherheits gründen den server immer so konfigurieren sollte das er keine ordner-ansichten preisgibt *in der regel durch ne HTTP 403* wird das schwer ...
bau dir auf dem server doch einfach ein kleines php-script welches dir alle XML-files z.b. als tabelle darstellt ... diese parsed du dann mit java und kannst dir so etwas zusammen bauen


btw : das File-objekte und -methoden nicht mit URLs funktionieren sollte eigentlich anhand des verwendeten protokolls *HTTP* klar sein ...
 

HarryG32

Mitglied
Ich habe mir ein php-Skript gebaut bzw. abgeschaut, da ich noch nie was mit php gemacht habe. Das Skript funktioniert supa, hab ma ned gedacht, dass das so einfach geht. :) Leider habe ich jetzt das Problem, das ich nicht weiss wie ich die Daten weiterverarbeitete bzw. ob das wirklich der Weg ist den ich gehen will, weil ich ja eigentlich nur Java verwenden wollte (sollte).

Was mach ich jetzt mit meinem Servlet?? Kann ich das trotzdem für's übertragen (per Stream) von den den Daten des geladenen XML-File verwenden?? Ich brauche ein Feedback welches File geladen werden soll, könnte das so gehen??

Applet verbindet sich mit Servlet und übergibt Parameter "Laden"-> Servlet ruft php-Skript auf ->
Php liest das Verzeichnis aus und erzeugt eine HTML-Seite-> User wählt ein File aus Seite aus und drückt "Laden" -> php übergibt den Filenamen an das Servlet -> Servlet gibt den Datenstrom an das Applet zurück -> Applet erzeugt ein XML-File daraus.

Ja das mit dem FileLister ist klar, hab das in der Hoffnung erwähnt, dass Java etwas vergleichbares für URLs bereitsstellt...
 

irgendjemand

Top Contributor
gut ... solche infos wie "mit applet auf servlet zu greifen" wären im ersten post wichtig gewesen ...

dann brauchst du auch nicht den umweg über php machen sondern kannst das auslesen des DIR direkt im servlet machen ...

ansonsten : WIE sollte deiner meinung nach denn sowas aussehen das von wild-fremden servern die vermutlich gar nicht dafür konfiguriert sind irgendwelche dateisystemstrukturen geladen werden können ...
wenn der server mit ner meldung antwortet das es einem user nicht erlaubt ist dies zu sehen *was wirklich immer der fall sein sollte* dann kann java da auch nich viel machen

*manche leute haben immer träume*
 

HarryG32

Mitglied
Ja, mein Traum ist, dass dieses Programm endlich so läuft wie ich es gern hätte bzw. es den Anforderungen gerecht wird.

@irgendjemand: ich verstehe nicht, warum du von "wildfremden Servern" sprichst. Ich habe mir eine Domain zugelegt, für die ich bezahle und dort werd ich wohl den Inhalt eines Verzeichnisses auslesen dürfen? Oder nicht? Leider fehlt es mir in diesem Bereich an Erfahrung, deshalb habe ich auch dieses Projekt gewählt. Glaubst du, dass ich mit dem Servlet Probleme bekomme wegen der Zugriffsrechte (Lese-& Schreibrechte) ??

Das Applet läuft auf dem Client und beim Laden sollten eben alle Dateien (XML-Files) des "Save-Ordners" auf dem Server, wo das Applet liegt, ausgegeben werden. Das mach ich jetzt doch mit einem Servlet, leider muss ich mir halt was anderes als einen "Filelister" überlegen, wahrscheinlich werde ich die Filenamen in einem String speichern, mit Separator-Zeichen und diesen auf Applet-Seite wieder zerlegen und grafisch aufbereitet ausgeben.
 
Zuletzt bearbeitet:

irgendjemand

Top Contributor
richtig ... du bezahlst eine DOMAIN ... vermutlich mit ein bissl webspace und ner datenbank ...
das macht dich aber weder zum eigentümer noch zum administrator des servers ... ergo kannst du die auf diesem server festgelegten sicherheitsrichtlinien nicht ändern ... und darunter fällt nun mal auch das du den server nicht global zur anzeige von verzeichnissen freigeben kannst ...

desshalb würde auch eine lib nicht funktionieren ... weil diese lib keinen einfluss auf den server hätte ... auf dem du ja noch nicht mal rechte dazu hast das was du brauchst überhaupt einzustellen

dir bleibt also nur übrig mit server-sprachen wie eben PHP , JSP , ASP das selbst in die hand zu nehmen ... hat auch wiederum den vorteil das du dir die ausgabe so zusammenbauen kannst das du diese in deinem applet schnell laden kannst ...


btw : wenn ich das schon lese : "save-order mit dateien" ... AUA

gerade dafür hat man webservices erfunden ...
das sind scripte in einer server-sprache die daten vom client entgegen nehmen und auch wieder an diesen senden ... und sich für den client nicht erkennbar um die daten-organisation kümmern ...

ergo : wenn du versuchst in deinem client diese organisation einzubauen hast du hier schon den ersten großen denkfehler ... und eine verdammt große sicherheitslücke
 

HarryG32

Mitglied
Ok, dieser Weitblick fehlt mir einfach noch....

Lt. Wikipedia stellen Servlets Pendants zu PHP, JSP,.. dar, wenn es um das Erzeugen dynamischer Webinhalte geht. Leider sagt das natürlich nix über die Zugriffsrechte aus...

Ich habe eben ein Applet und da bietet sich das Servlet an (als serverseitiges Applet). Warum das mit Servlets nicht gehen soll, aber mit z.B.: PHP doch, habe ich leider bis jetzt nicht nicht ganz begriffen...aber egal, wenn's so ist, dann ist es so.

Ich habe heute meinem Betreuer eine Email geschrieben und ihm die von dem Sachverhalt berichtet, mal schauen...

Leider weiss ich immer noch nicht wie ich es am besten realisieren soll. JSP wäre eine Option, ist eine Java-Technologie und gemacht habe ich auch schonmal was damit, aber das ist schon eine Weile her.

Danke für deine Hilfe und die Denkanstösse.

... hat auch wiederum den vorteil das du dir die ausgabe so zusammenbauen kannst das du diese in deinem applet schnell laden kannst ...

Da gebe ich dir vollkommen recht, das ist ein großer Vorteil!
 

HarryG32

Mitglied
Kann ich es so machen???

Das Applet kommuniziert mit dem Servlet und das Servlet erledigt das Lesen und Speichern mithilfe von Skripts.

Beim Laden ruft das Servlet ein "Lesen-Skript" auf, das eine HTML-Seite mit Auswahlliste erzeugt. Beim Bestätigen wird aus der HTML-Seite heraus ein zweites Skript geladen, das das gewählte File ausliest und den Inhalt an das Servlet übergibt. Das Servlet schickt den Content an das Applet per Stream zurück.

Beim Schreiben wird das File vom Applet an das Servlet geschickt, das Schreiben im Webspace übernimmt wieder ein Skript. Das Servlet schickt die Bestätigung an das Applet zurück?
 

irgendjemand

Top Contributor
ja ... so umständlich kannst du es dir machen ... nur verstehe ich immer noch nicht earum du den umweg über irgendwelche scripte machen willst .... das servlet kann das genau so gut ...

auch was du hier von irgendwelchen re hten faselst will mir nich klar werden ...
im groben hast du rechte zum lesen und schreiben innerhalb deines space *also alles wo du mit deinem FTP account hinkommst* ...
und innerhalb dieser struktur kannst du mit einem jspservlet auch java.io.File verwenden um dir deinen output zu erzeugen ...

du machst dir das alles gerade etwas zu umständlich ...
 

HarryG32

Mitglied
War wohl mein Fehler, hab am Anfang nicht gleicht erwähnt, dass ich eine Applet<->Servlet-Kommunikation machen will.
Dachte danach, dass ich noch unbedingt ein Skript zum Datenschaufeln brauche . Habe Probleme mit den Pfaden, jetzt werd
erstmal ein TestServlet erzeugen und die Sache von Grund auf angehen.

Ein JSPServlet kenn ich nicht, hoffe ein Normales tut's auch...
 
B

...ButAlive

Gast
Ein JSPServlet gibt es auch nicht, da hat irgendjemand mal wieder Quatsch geschrieben.

Du brauchst 2 Servlets, das erste Servlet gibt eine Liste der Namen der möglichen XML-Dateien zurück. Um die Liste zu finden kannst du deinen FileLister verwenden. Die Liste wird dann an das Applet geschickt. Als Format kannst du XML verwenden, das könnte dann so aussehen:

[XML]
<xmlfiels>
<xmlfile>file1.xml</xmlfile>
<xmlfile>file2.xml</xmlfle>
</xmlfiles>
[/XML]

Auch gängig wäre Json, damit würdest du weniger Daten schicken müssen. Das sieht dann so aus:

Code:
{xmlfiles:[file1.xml, file2.xml]}

Falls du dich dafür entscheidest wäre gson einen Blick wert.

Dein Applet muss nun die Ausgabe des Servlets auswerten und anzeigen. Wenn nun eine Datei gewählt wurde kommt das 2. Servlet ins Spiel. Dieses bekommt als Parameter den Dateinamen geschickt. Es ist egal ob per GET oder POST, wobei ich eher GET nehmen würde. Daraufhin liest es die Datei vom Server und schickt sie zurück zu deinem Applet.

Das ist nur eine Möglichkeit so etwas zu lösen. Der Vorschlag geht in Richtung RESTful-Service, dafür gibt es auch Frameworks die dir die Arbeit ein bisschen abnehmen. Weitere Möglichkeiten wären Binärprotokolle wie RMI oder Hessian, oder schwere Geschütze wie SOAP. Ich denke aber, dass das was ich dir vorschlage vollkommend in Ordnung für deinen Anwendungsfall ist.
 

HarryG32

Mitglied
Ein JSPServlet gibt es auch nicht, da hat irgendjemand mal wieder Quatsch geschrieben.
Da wollte mich wohl irgendjemand verwirren. Das hat er auch geschafft....

Danke, endlich mal eine Antwort mit der ich was anfangen kann, i'm back on track. JSON kenn ich, XML verwende ich, ein Servlet hab ich, zweites dazu...auf geht's!
 

irgendjemand

Top Contributor
laut einem sehr guten JSP buch was ich hier habe ist SERVLET eine spezielle form eines JSP-dokuments ...
der unterschied ist nur das JSP dierekt verwendet mehr ähnlichkeit mit PHP hat ... nämlich die dynamische erzeugung von HTML oder was auch immer ...
die spezielle unter-art von JSP ... die sog. SERVLETS gleichen mehr einer richtigen anwendung ... laufen aber in wirklichkeit auf einem java-application-server ...
der vorteil hier ist das man z.b. dierekt über die streams mit dem browser kommunizieren kann ...

ergo : laut meinem buch sind SERVLETS nichts weiter als speziell programmierte JSP-seiten ... und damit eine unter-art davon *wird im übrigen auf wikipedia ähnlich erklärt* ... ob man das ganze nun nur servlet ... oder spezifizierter JSP-servlet nennt ... das ist nun egal ... aber die behaupt das es JSP-servlets nicht geben würde ist falsch ...

ich habe bewusst die bezeichnung JSP-servlet gewählt da es auch z.b. mit ASP und IIS als app-server möglich ist etwas ähnliches zu bauen was dann von M$ ebenfalls servlet genannt wird ... und gerade hier ist dann die bezeichnung offiziell ASP-Servlet ... warum also nicht der verwirrung verbeugen und JSP-Servlet sagen ? ...

manchmal pwnt ihr euch alle i-wie so ein bisschen selbst
 
B

...ButAlive

Gast
JavaServer Pages werden von einer ServletEngine wie Tomcat in ein Servlet compiliert. Das heißt aus so einer JSP-Seite:

PHP:
<%= "Hallo Welt" %>

macht der Compiler, in etwa so ein Servlet:

Java:
public class HelloServlet extends HttpServlet {
  
   public void doGet (HttpServletRequest req,
                                   HttpServletResponse res)
       throws ServletException, IOException
    {
       PrintWriter out = res.getWriter();

       out.println("Hallo Welt");
       out.close();
  }
}

Das heißt für mich, aus einer JSP wird ein Servlet erzeugt, aber nicht dass eine JSP ein Servlet ist. Bei Resultat könnte man von einem JSPServlet sprechen, es gibt auch eine Basisklasse in der Hierarchie vom Tomcat die so heißt, von der leiten die erzeugten Servlets (bei Tomcat) auch ab.

Wenn man dem TO sagt er soll ein JSPServlet schreiben, heißt das dann er soll das Kompilat einer JSP auf einem Tomcat schreiben. Das halte ich auch für mindestens verwirrend.

ich habe bewusst die bezeichnung JSP-servlet gewählt da es auch z.b. mit ASP und IIS als app-server möglich ist etwas ähnliches zu bauen was dann von M$ ebenfalls servlet genannt wird ... und gerade hier ist dann die bezeichnung offiziell ASP-Servlet ... warum also nicht der verwirrung verbeugen und JSP-Servlet sagen ? ...

Wir sind hier im Forum nun mal in der Java-Welt, da ist es verwirrend in .NET Sprache zu sprechen.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
F HTTP HTTP-Download: Dateien in einem Verzeichnis ermitteln Netzwerkprogrammierung 8
M ganymed-ssh2.jar: Verzeichnis wechseln Netzwerkprogrammierung 3
B FTP - Verzeichnis Download Netzwerkprogrammierung 3
S Verzeichnis auslesen (FTP Jakarta Commons Net) Netzwerkprogrammierung 2
G Verzeichnis eines Rechners übers Netzwerk auslesen Netzwerkprogrammierung 5
F http Post auf einen Grafana Server Netzwerkprogrammierung 3
W Socket Server -> lesen von / schreiben zu php-script Netzwerkprogrammierung 6
E Server mit GUI Netzwerkprogrammierung 4
E FTP FTPS Server gibt Fehlernachricht "522 SSL/TLS required on the data channel" zurück Netzwerkprogrammierung 1
I Performanteste Kommunikationsmethode zwischen Client u. Server Netzwerkprogrammierung 4
L Socket Automatische Zuweisung von Server und Client Rolle Netzwerkprogrammierung 12
Eigenen Rechner als Server? Netzwerkprogrammierung 16
FrankenDerStein HTTP Https Server Bibliothek für Linux und Android gesucht. Netzwerkprogrammierung 7
ExceptionOfExpectation Server/Client-Kommunikation Netzwerkprogrammierung 34
M Server-Client-System für Browsergame Netzwerkprogrammierung 5
J Datei Download vom Server Netzwerkprogrammierung 8
izoards Mehrere TCP Verbindungen auf einen Server [alles Local] Netzwerkprogrammierung 2
Yonnig Threads mit Client/Server und GUI (laufend bis button-click) Netzwerkprogrammierung 9
J Client-Server und SOAP Netzwerkprogrammierung 23
K Threads/Server/telnet Fehler Netzwerkprogrammierung 2
J Multithreaded-Server Netzwerkprogrammierung 21
JaXnPriVate Java HTTPS Server (Secure Sockets) Netzwerkprogrammierung 15
L30nS RMI RMI-Server kann Dialog nicht volkommen anzeigen Netzwerkprogrammierung 2
L30nS RMI Aufruf einer Client-Methode von einem RMI-Server Netzwerkprogrammierung 3
L Server-Socket liest Input-Stream nicht Netzwerkprogrammierung 5
T String von Client zu Server kommt nicht an Netzwerkprogrammierung 92
D WebSocket Server mit HTML Client und Java Server Netzwerkprogrammierung 5
S Von Java auf passwortgeschützten Server zugreifen + Umgang mit Ports Netzwerkprogrammierung 28
S Probleme bei Java-Installation auf Server (Linux/Shell/Terminal) Netzwerkprogrammierung 6
S Java: Anbindung an einen realen Server? (+ Portfreigabe) Netzwerkprogrammierung 8
D Server - Client Informationsaustausch, Möglichkeiten Netzwerkprogrammierung 3
H Socket Kann ein Socket server 2 dimensionale Arrays empfangen und versenden? Netzwerkprogrammierung 3
H Socket Chat entwickeln mit Java Server Client Netzwerkprogrammierung 4
X Kann ich einen Client/Server verbindung hinkriegen die mir alle paar Sekunden die aktuellen Daten per Realtime zuschickt ? Netzwerkprogrammierung 9
Z Kann nicht Daten vom Server lesen Socket Netzwerkprogrammierung 10
S HTTP Post?!? - Java Server Netzwerkprogrammierung 7
F Verbindung zu einem LDAP Server über Java Netzwerkprogrammierung 4
D Slf4j - Logging - Client-Server Architektur Netzwerkprogrammierung 3
F NodeJs-Server auf Firebase hosten ? Netzwerkprogrammierung 3
J client server mit nur einem PC Netzwerkprogrammierung 33
M Socket Nachricht von TCP-Client an Server schicken Netzwerkprogrammierung 12
M Socket Verbindung Matlab(Server) Java(Client) Netzwerkprogrammierung 1
H HTTP Glassfish (v5) Application Server - Bibliothek zur Verfügung stellen Netzwerkprogrammierung 4
B HttpClient - Server (Jetty) - getInputStream - EOF Netzwerkprogrammierung 3
P TCP-Server Netzwerkprogrammierung 1
R Socket FATAL EXCEPTION MAIN bei Socket based client/server app Netzwerkprogrammierung 2
F Server für Java Applikationen Netzwerkprogrammierung 16
H Einfacher Server funktioniert nicht Netzwerkprogrammierung 1
G Server-Client IO Problem Netzwerkprogrammierung 6
T Mikrofonaudio über Java Server an Webbrowser streamen Netzwerkprogrammierung 13
I Socket Das erste Server-Client Programm Netzwerkprogrammierung 16
T HTTPS-Requests an Server: POST-Parameter kommen nicht an Netzwerkprogrammierung 5
L Socket Wie kann ich checken ob ein User eine Nachricht per Outputstream an den Server gesendet hat? Netzwerkprogrammierung 1
T Jetty Server LOGGING Netzwerkprogrammierung 1
L Strings an Server senden und in MYSQL speichern? Netzwerkprogrammierung 3
Aruetiise Socket Java Programm auf Server Netzwerkprogrammierung 3
T server empfängt nur 1 Buchstaben vom String Netzwerkprogrammierung 1
S Spiel mit Server programmieren Netzwerkprogrammierung 2
N Post u Head Request an Server Netzwerkprogrammierung 4
J Socket Ein Chat Server Tutorial Netzwerkprogrammierung 8
M Socket Server antwortet dem Client nicht Netzwerkprogrammierung 6
J Socket Tutorial zu Multiplayer Server schreiben? Netzwerkprogrammierung 5
S Java Chat Server Netzwerkprogrammierung 8
E Kurze Textnachrichten über einen Server von meinem Handy auf den Computer laden. Netzwerkprogrammierung 9
I Client/Server Kommunikation bei einem Spiel Netzwerkprogrammierung 4
E Objekte versenden, Client-Server Netzwerkprogrammierung 25
C Mini Client-Server-Anwendung funktioniert nicht Netzwerkprogrammierung 8
D Socket Message an einen Server senden? Netzwerkprogrammierung 8
J FTP FTP Zugriff über Proxy Server Netzwerkprogrammierung 1
KaffeeFan Programmierung mit Cloud-Server Netzwerkprogrammierung 0
L Socket Problem mit Server Netzwerkprogrammierung 1
cezary Socket Paralleler Server ? Netzwerkprogrammierung 1
I Socket Leicht zu DDosender Server Netzwerkprogrammierung 4
agent47 HTTPs Server Netzwerkprogrammierung 5
J Chat Server starten über GUI problem Netzwerkprogrammierung 4
J Prüfen, ob remote UDT Server erreichbar ist Netzwerkprogrammierung 0
P Server als Client nutzen Netzwerkprogrammierung 8
S Server Kommunikation Netzwerkprogrammierung 1
V einfaches hin und her von Text über Server Netzwerkprogrammierung 2
D Socket Run Args Client/Server Socket Netzwerkprogrammierung 1
Cromewell Socket Multithreaded Server und Client Netzwerkprogrammierung 1
Y Client/Server/DB communication Netzwerkprogrammierung 3
JavaWolf165 Socket mit .writeUtf etwas vom Client zum Server schicken Netzwerkprogrammierung 13
P RMI Client Server Programm über Internet Netzwerkprogrammierung 2
brainless Client Server Kommunikation verschlüsseln Netzwerkprogrammierung 13
gamebreiti Socket Server / Client Anwendung Manipulation von Objekten durch Server Netzwerkprogrammierung 9
T Socket Server/Client Kommunikation Netzwerkprogrammierung 8
S Webservice - Server Netzwerkprogrammierung 0
M Java Eingabe auf FTP Server übergeben Netzwerkprogrammierung 4
F Server Client Anwendung mit UDP Netzwerkprogrammierung 2
A RMI Wo treten Exceptions bei RMI Aufrufen auf? Auf Client oder auf Server? Netzwerkprogrammierung 3
M Socket Java Server: NullPointerException Netzwerkprogrammierung 4
A ByteBuffer - Client/Server Netzwerkprogrammierung 9
J Java Server empfängt php inhalt nicht Netzwerkprogrammierung 1
K C# Server - Android Client Netzwerkprogrammierung 0
J Framework mehrere Clients/ Server-Broadcast/oracle XE/ XML Netzwerkprogrammierung 1
D Mit Server Daten austauschen Netzwerkprogrammierung 4
V Server / mehrere Clients / MySQL / Konzept Netzwerkprogrammierung 2
P HTTP Bild von einem Server per http kopieren Netzwerkprogrammierung 1
F Verbindung zwischen Server und handy Netzwerkprogrammierung 1

Ähnliche Java Themen

Neue Themen


Oben