Avatar billede mythsolar Nybegynder
06. november 2003 - 16:05 Der er 10 kommentarer

Skal lave en web server i Java

Jeg skal have skabt en web server baseret på Java. Den skal kunne håndtere kald til en database (vil anv. Oracle) kunne køre en session og arbejde på et sessions objekt. Endvidere skal der anv. HTML og XML. Jeg har et mindre "script" at gå efter, se nedenstående Java kode, men er ellers lidt usikker på fremgangsmåden. Er der nogle der har nogle solide inputs så jeg kan komme videre? Det skal dog ikke være alt for kompliceret, da det kun skal anv. til at få en forståelse for emnet - læs udd. projekt!

import java.io.*;
import java.net.*;
public class Httpserver
{
  public static void main(String arg[])
  {
    try {
      ServerSocket værtssokkel = new ServerSocket(80);
      System.out.println("HTTP-server startet....");
      while (true)
      {
        Socket forb = værtssokkel.accept();

        PrintWriter ud = new PrintWriter(forb.getOutputStream());

        BufferedReader ind =
          new BufferedReader(new InputStreamReader(forb.getInputStream()));

        String anmodning = ind.readLine();

        System.out.println("Anmodning: "+anmodning);
                System.out.println(forb);
        ud.println("HTTP/0.9 200 OK");
        ud.println();
       
        ud.println("<html><head><title>HTTP-Server-test</title></head>");
        ud.println("<body><h1>Hypertext Transfer Protocol test</h1>");
        ud.println("Din klient har anmodet om: "+anmodning);
        ud.println("<br><br>Du sidder på:  " + forb);
        ud.println("</body></html>");
        ud.flush();
        forb.close();
      }
    } catch (Exception e) {
      e.printStackTrace();
    }
  }
}
Avatar billede mythsolar Nybegynder
06. november 2003 - 17:01 #1
Der må da være nogle der kan hjælpe med dette? Flere point på banen...
Avatar billede mythsolar Nybegynder
06. november 2003 - 21:04 #2
I første omgang skal jeg have konstrueret en server, hvorpå jeg kan afvikle et HTML dokument. Ovenstående er måske for voldsomt at starte ud med!
Avatar billede arne_v Ekspert
06. november 2003 - 21:22 #3
Du starter med at kigge på indholdet af anmodning.

Det vil normalt indeholder noget a la:

GET /abc.html HTTP/1.1

Du skal så fiske fil navnet ud og åbne den fil og returnere indholdet
i.s.f. den hardcoded HTML.
Avatar billede arne_v Ekspert
06. november 2003 - 21:23 #4
Session er noget mere vanskelig. Du skal sætte en cookie så du kan genkende
requests fra samme session. Det vil kræve noget mere kode.
Avatar billede arne_v Ekspert
06. november 2003 - 21:24 #5
Database er nem.

Du definere f.eks. at /oracle?sql=SELECT+*+FROM+tabel skal connecte til
Oracle of returnere outut fra den query.
Avatar billede simonvalter Praktikant
06. november 2003 - 22:18 #6
dit eksempel ligner meget det i javabog.dk .. hvis du går derind under tråde er der et eksempel på en flertrådet webserver du kan kigge på.
Avatar billede spooloff Nybegynder
06. november 2003 - 22:27 #7
Tak for svarene. Kigger på det og vender tilbage, hvis jeg skal have mere hjælp.
Avatar billede arne_v Ekspert
16. november 2003 - 22:08 #8
Kommet videre ?
Avatar billede arne_v Ekspert
16. november 2003 - 22:08 #9
Et svar såfremt du kunn ebruge mine kommentarer.
Avatar billede arne_v Ekspert
11. december 2003 - 21:30 #10
??
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester