URL geordnet auslesen

Status
Nicht offen für weitere Antworten.

Ferro79

Neues Mitglied
Hallo,

ich verzweifel hier an einer Aufgabe...die zunächst recht einfach klingt. nur bekomme ich es nicht hin...
Also zu Aufgabe:
Ziel ist es einen Webserver, der die Aktuellen Aktienkurse beinhaltet und diese dann per HTTP Get ausgeben...
anfragen soll so aussehen "http://localhost:8081/?stock=sap"...
Diese soll dann mit Java abgefangen werden, was erst mal über ein Socket relativ einfach ist.
Das Problem liegt darin die GET anweisung auszuwerten und dann ein Packet zu schnüren das der Browser zurück bekommt...Komme gerade nicht weiter....
 
Und der Webserver muss selbst geschrieben sein? Ein Servlet in den Tomcat zu schubsen ist keine Option?

Ebenius
 
leider nicht...
kommen wir mal zu meinem wirklich unschönen Lösungsansatz

die Main
[highlight=Java]
public static void main(String[] args) throws Exception {
ServerSocket server = new ServerSocket( 8081 );
while ( true )
{
Socket client = null;
try {
client = server.accept();
verabreiteDaten ( client );
}
catch ( IOException e ) {
e.printStackTrace();
}
finally {
if ( client != null )
try { client.close(); } catch ( IOException e ) { }
}
}
}
[/highlight]

und nun noch die Funtion zum Verabeiten des Headers
[highlight=Java]
private static void verabreiteDaten( Socket client )throws IOException{
DataOutputStream toClient=new DataOutputStream(client.getOutputStream());
BufferedReader fromClient=new BufferedReader(new InputStreamReader(client.getInputStream()));

String line = fromClient.readLine();

StringTokenizer st = new StringTokenizer(line, " ");
String[] stock= new String[5]; int i=0;
while(st.hasMoreTokens()){
stock[i++] = st.nextToken("=/? ").toLowerCase();
}
if(stock[2].equals("daimler")){
toClient.writeBytes("<h1>Daimler</h1>");
toClient.writeBytes("<h3>19,08 EUR</h3>");
toClient.writeBytes("<h4>+ 0,93</h4>");
}
else if(stock[2].equals("bmw")){
toClient.writeBytes("<h1>BMW</h1>");
toClient.writeBytes("<h3>21,79 EUR</h3>");
toClient.writeBytes("<h4>+ 1,25%</h4>");
}
...
}
[/highlight]

Vieleicht hat jemand ja einen ansatz der etwas schönes ist???
 
verwende eine Netzwerk Library/Framework wie JBoss Netty, Apache MINA, xSocket,...
 
Status
Nicht offen für weitere Antworten.

Zurück
Oben