Eigener Webserver + Eigener Webbrowser

Bizarrus

Bekanntes Mitglied
Huhu.

Bin zurzeit ein kleines Webentwickler-Tool am schreiben:
Der "Editor" hat einen kleinen Webserver Implementiert, besizt einen Quellcodeeditor mit Syntax-highlighting, etc.

Ich habe gestern versucht einen Webserver zu implementieren.
Relativ einfach, wenn man dies einmal verstanden hat.

Der Webserver spuckt z.B. diverse Errors aus, sofern diese verursacht werden (404 - Nicht gefunden, 500 - Servererror, 200 - OK, etc), Directorylisting eingebaut, selbst PHP habe ich dort implementiert.

Alles soweit so gut.
Über jedem Webbrowser (Firefox, IE, etc.) ist der Webserver auch über localhost erreichbar - HTML-Files werden ausgegeben, Bilder auch, PHP wird ausgeführt und macht seine Ausgaben, und so weiter und so fort.

Ich habe mir jezt folgendes Gedacht:
Neben dem Quelltext-Editor möchte ich dort noch eine "Preview" einbauen, sodass z.B. PHP-Dateien über den Webserver angesprochen werden.
Eigendlich etwas nettes. So sieht man beim Programmieren direkt das Resultat (Beispielsweise bei PHP).

Da ich der Absolute PHP-Freak bin, und auch schon über 5 Jahre lang damit arbeite, möchte ich nun meine Programmierkünste vereinfachen. Es ist nämlich hin und wieder sehr lästig, wenn man ein Editor offen hat (beispielsweise Notepad++), dann noch ein FTP Programm (Ich arbeite meist über SSH mit WinSCP) und gleichzeitig noch einen Webbrowser, wo man ständig hin und Her wurschteln muss.

Das möchte ich mit meinem Toolbewerkstelligen möchte.

Nun zum Hauptthema:
Der Editor besizt einen Eingebauten Webserver (der über einer socket-connection arbeitet, natürlich Multithreaded) - Dieser ist erreichbar und dieser ist auch soweit fertiggestellt, das man sagen kann "OK, Geil - Es läuft so wie ich es mir vorstelle".

Jezt möchte ich zum Editor noch einen kleinen Webbrowser implementieren.
Gut - Nehmen wir nen JEditorPanel und lassen ihn mit dem Webserver (Domain ist reserviert) verbinden und z.B. eine index.html ausgeben.

Genau dies bereitet mir schwierigkeiten, wobei ich nicht weiß ob dies an meinem kleinen Webserver liegt.
Google & Co (wie auch andere Seiten) gibt er richtig aus. Die Seiten werden dort 1a Angezeigt.
Sobald ich aber versuche den Inhalt von meinem kleinen Webserver anzeigen zu lassen, so bekomme ich nur den quelltext ausgegeben anstatt der seite.

Jezt zu meiner Frage:

Was muss ich generell bei der Implementierung eines Webservers beachten, damit ich eine gezielte ausgabe habe? (diverse eigenschaften wie Dateilänge, Mime-Type, etc werden übermittelt)
Wie visualisiere ich den "Browser" so, das er die Seite richtig ausgibt (Muss ich einen HTML-Parser benutzen?)?


Infos zu meinem Webserver:

> Socket wird auf definiertem Port aufgebaut
> Bei Client-Connect neuer Thread
> Lese "Root-dir"
> Lese angeforderte Datei ein (beispielsweise index.html)
> angeforderte Datei als text/html-Mime Type erkannt, setze dies im Header-request
> Contentlänge im Header-request setzen
> Sende Datei an Client
--> Ausgabe der Datei im Browser

Das so kurz und knapp zur arbeitsweise.

Habe schon einige "Java Browser" beispiele angeschaut, alles das selbe Prinzip, selber aufbau.
Aber irgendwie will der nur den Quelltext der Datei ausgeben ^^

Sry das ich momentan keinen Code posten kann.
Bin gerade nach hause gekommen und habe die Source vom Editor leider im Büro.

Ich danke euch für Infos :)
 

earlgrey_tea

Aktives Mitglied
Huhu zurück,

ich kann dir deine Fragen zwar nicht direkt beantworten, kann dir aber auf jeden Fall zwei Bücher empfehlen in denen deine Fragen verständlich mit Beispielquelltexten geklärt werden (beide Bücher sind "open-books"):


Ich hoffe die Bücher helfen dir weiter.
Viele Grüße
earlgrey_tea

Ps.: Solltest du das erste Buch niicht herunterladen können..... PM an mich
 
B

Bizzi

Gast
Jetty? Noch nie benuzt.

Ich will keine 5.000 verschiedenen Software-Systeme benutzensondern ein Editor schaffen, der alles in einem besizt.
Was nüzt es, wenn der Endbenutzer später 10 Programme Installieren muss, um mein Editor benutzen zu können?

Deswegen habe ich geschaut, das ich im Editor einen kleinen Webserver implementiere.
Funktioniert ja auch.

Nur ich habe probleme mit dem "Browser".
Internetseiten wie google.de gibt er aus, nur mein localhost als Quelltext...

Aber danke erstmal für die Informationen :)
 

musiKk

Top Contributor
Jetty? Noch nie benuzt.

Dann ist das ja jetzt eine gute Gelegenheit. :)

Ich will keine 5.000 verschiedenen Software-Systeme benutzensondern ein Editor schaffen, der alles in einem besizt.
Was nüzt es, wenn der Endbenutzer später 10 Programme Installieren muss, um mein Editor benutzen zu können?

Das erste schließt sich ja nicht aus. Wenn Du alles in einem auslieferst, muss der Anwender auch nur Dein Programm installieren und nicht mehrere.

Internetseiten wie google.de gibt er aus, nur mein localhost als Quelltext...

Naja, das kann sicher viele Ursachen haben. Grob gesagt müsstest Du die beteiligten RFCs lesen und entsprechend umsetzen. Die "quick and dirty"-Lösung ist, ein paar Requests im Wireshark (oder mit entsprechenden Browser-Tools) anzusehen und sich danach zu richten.
Ich bin auch ein Freund davon, Dinge selbst zu implementieren. Man lernt etwas über das Thema und mehr Spaß macht es sowieso. Aber wenn es einfach darum geht, ein relativ komplexes Feature X als Teil einer Anwendung zu nutzen, nehme ich lieber Bibliotheken.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
H String verschlüsseln - eigener Algorithmus Java Basics - Anfänger-Themen 104
D importieren eigener Klassen Java Basics - Anfänger-Themen 12
W Dez-->Binär mit eigener bit Anzahl Erkennung. Java Basics - Anfänger-Themen 3
N ArrayList in eigener Klasse erzeugen mit Zugriff Java Basics - Anfänger-Themen 7
B Eigener Validierungseditor? Java Basics - Anfänger-Themen 3
W Eigener Iterator soll mehrdimensionales Array durchlaufen Java Basics - Anfänger-Themen 4
Bluedaishi Jar mit eigener JRE Java Basics - Anfänger-Themen 7
I equals (Override) mit eigener Exception (keine Runtime-Exception) Java Basics - Anfänger-Themen 9
J Threads Problem mit eigener ArrayList Java Basics - Anfänger-Themen 2
E MCLauncher eigener Client workt nicht? Java Basics - Anfänger-Themen 4
A Input/Output Datenströme schließen in eigener Methode Java Basics - Anfänger-Themen 5
J Interface ActionListener in eigener Klasse Java Basics - Anfänger-Themen 27
F Get/Post als eigener Thread mit Rückgabe Java Basics - Anfänger-Themen 5
M Messandwendung nach Zeit und eigener Eingabe Java Basics - Anfänger-Themen 4
N Schlüsselworte Bubble Sort nach eigener Ordnung Java Basics - Anfänger-Themen 8
E Compare-Funktion bei eigener Klasse Java Basics - Anfänger-Themen 4
Q ArrayList mit eigener Klasse in Java sotieren Java Basics - Anfänger-Themen 2
N BierSpiel von "Kopf bis Fuss" eigener Code...kleine Problemstellung. Java Basics - Anfänger-Themen 11
C OOP Erstellen eigener Objekte die es schon gibt "schlau"? Java Basics - Anfänger-Themen 3
V Arrays aus eigener Klasse erstellt, zuweisung aber spuckt Fehler in verbindung mit main Methode aus. Java Basics - Anfänger-Themen 3
L Eigener FilterReader Java Basics - Anfänger-Themen 12
E Mein eigener Listener (Hilfe gesucht) Java Basics - Anfänger-Themen 2
M import von eigener Klasse Java Basics - Anfänger-Themen 12
P ArrayList aus eigener Klasse "überschreibt" Werte nicht Java Basics - Anfänger-Themen 4
M xPos und yPos eigener Klassen geben lassen Java Basics - Anfänger-Themen 3
H Exit Befehl in eigener Konsole Java Basics - Anfänger-Themen 9
S Eigener InputStream, Hilfe bei read-Methode Java Basics - Anfänger-Themen 6
S Überladener Konstruktor und aufruf aus eigener Klasse Java Basics - Anfänger-Themen 2
D Klassen Problem mit Eigener Array-Klasse Java Basics - Anfänger-Themen 10
S [JUnit] eigener Testsuite Runner + Ausgabe Java Basics - Anfänger-Themen 6
G Eigener Autoboxing Datentyp Java Basics - Anfänger-Themen 3
M Eigener InputStream will nicht mit BufferedReader Java Basics - Anfänger-Themen 3
B Datentypen Probleme mit eigenem Get() bei eigener HashMap Java Basics - Anfänger-Themen 6
B OOP Eigener Event-Listener erstellen Java Basics - Anfänger-Themen 4
G Datentypen "Liste" eigener Objekte durchsuchen Java Basics - Anfänger-Themen 6
S mit eigener Klasse JTextField ändern Java Basics - Anfänger-Themen 3
N Vektor mit eigener Datenstruktur sortieren Java Basics - Anfänger-Themen 20
I Datentypen Eigener DatenTyp Java Basics - Anfänger-Themen 2
B Ordner öffnen (eigener Dateibrowser) Java Basics - Anfänger-Themen 8
I eigener "Abstandshalter" vs. LayoutManager Java Basics - Anfänger-Themen 6
X eigener Mergesort auf generischen Typen mit Comparator Java Basics - Anfänger-Themen 6
K Sinn eigener Exceptions Java Basics - Anfänger-Themen 11
D Container mit eigener Klasse Java Basics - Anfänger-Themen 5
B Verwenden eigener Object-Klassen Java Basics - Anfänger-Themen 9
H Eigener Button Java Basics - Anfänger-Themen 2
M Eigener Iterator für LinkedList Java Basics - Anfänger-Themen 20
I Java eigener MSN Messenger schreiben Java Basics - Anfänger-Themen 3
R Event in eigener Klasse implementieren ? Java Basics - Anfänger-Themen 8
G Fortlaufende Aktualisierung bei eigener Klasse Java Basics - Anfänger-Themen 2
G IOException Problem in eigener Klasse Java Basics - Anfänger-Themen 8
B Import Problem mit eigener Klasse. Java Basics - Anfänger-Themen 8
G Eigener Parser Java Basics - Anfänger-Themen 4
T Problem mit eigener Klasse Java Basics - Anfänger-Themen 7
A eigener Explorer via Java? Java Basics - Anfänger-Themen 9
D Thread und Process Kommunikation bei eigener Console Java Basics - Anfänger-Themen 2
T Öffnen externer Datei als eigener Prozess Java Basics - Anfänger-Themen 8
G Datei aus eigener JAR-Datei verwende Java Basics - Anfänger-Themen 2
N Porblem mit dem Importieren eigener Pakete Java Basics - Anfänger-Themen 4
T ActionListener in eigener Klasse Java Basics - Anfänger-Themen 10
T ActionListener in eigener Klasse Java Basics - Anfänger-Themen 5
L ActionListener in eigener Klasse Java Basics - Anfänger-Themen 3
T Erstellen eigener packages Java Basics - Anfänger-Themen 6
G JMenuBar in eigener Klasse erstellen Java Basics - Anfänger-Themen 3
A Eigener Datentyp? Java Basics - Anfänger-Themen 39
F Eigener IP-Paket-Header Java Basics - Anfänger-Themen 15
Robin Gentele XML von Webserver lesen und ausgeben Java Basics - Anfänger-Themen 5
R Eigenes Protokoll zur Übermittlung von Daten zum Webserver? Java Basics - Anfänger-Themen 4
F Daten auf Webserver laden - wiederholen bei Fehler Java Basics - Anfänger-Themen 0
J App auf einen Webserver laden Java Basics - Anfänger-Themen 14
T Webserver erstellen und hochladen Java Basics - Anfänger-Themen 5
T Umgebungsvariable IIS-Webserver Variablen ändern Java Basics - Anfänger-Themen 3
O webserver für Applet und php Java Basics - Anfänger-Themen 7
R Applet auf Webserver Java Basics - Anfänger-Themen 12
J Webserver für Java Programm Java Basics - Anfänger-Themen 6
F Webserver Zugriff per Java Java Basics - Anfänger-Themen 3
S Webservice: Dateien downloaden vom Webserver auf den Client Java Basics - Anfänger-Themen 7
G Seite von eigenem Webserver anfordern Java Basics - Anfänger-Themen 15
H Info von Webserver prüfen und per TrayIcon visualisieren Java Basics - Anfänger-Themen 4
J Kompletten Ordner auf Webserver laden. Java Basics - Anfänger-Themen 6

Ähnliche Java Themen

Neue Themen


Oben