# Wie gibt man einem GUI Programm ein Web interface?



## PersonImpl (6. Dez 2009)

Sorry für diese Noob-Frage, aber ich weiß leider nicht so recht, wonach ich suchen soll...
Also, ich habe ein einfaches Java-Programm mit Benutzeroberfläche und würde dem Programm gerne ein zusätzliches Web-Interface spendieren. So weit ich das verstehe, müsste das Programm einen Port einnehmen, und wenn man über einen Browser diesen Port öffnet, sollte eine entsprechende Website erscheinen. Nur weiß ich nicht, wie es von da weitergeht, d. h. welche Technologien / Libraries man für so etwas typischerweise verwenden würde. Im Voraus danke für alle Antworten!


----------



## MrWhite (6. Dez 2009)

Dafür musst du einen Webserver integrieren. JDK6 bringt anscheinend schon eine simple API dafür mit:

Java HTTP Server

Wenn dir das nicht ausreicht und du mehr brauchst, integrierst du besser einen bereits existierenden Webserver in deine Applikation.


----------



## Gelöschtes Mitglied 5909 (6. Dez 2009)

nehm einen embedded Jetty


----------



## Toni55 (6. Dez 2009)

...oder xLightweb (http://xlightweb.sourceforge.net/):


```
IHttpRequestHandler srvHdl = new IHttpRequestHandler() {
			
    public void onRequest(IHttpExchange exchange) throws IOException, BadMessageException {
         
         IHttpRequest request = exchange.getRequest();
         exchange.send(new HttpResponse(200, "text/plain", "test"));
    }
};

HttpServer server = new HttpServer(srvHdl);
server.start();
```


----------



## tuxedo (7. Dez 2009)

Oder NanoHttpd: NanoHTTPD


----------



## HoaX (8. Dez 2009)

MrWhite hat gesagt.:


> Dafür musst du einen Webserver integrieren. JDK6 bringt anscheinend schon eine simple API dafür mit:
> 
> Java HTTP Server
> 
> Wenn dir das nicht ausreicht und du mehr brauchst, integrierst du besser einen bereits existierenden Webserver in deine Applikation.



Von dem würde ich die Finger lassen, das wurde von uns schonmal in einem andren Thread diskutiert. Denn diese Klasse ist nicht Bestandteil der Javaspec und somit nicht in den VMs von IBM usw enthalten.

Am einfachten wird es sein einen Jetty oder Tomcat zu nehmen und darin ein Servlet laufen zu lassen. Die anderen genannten Möglichkeiten bieten nur den HTTP-Service an und um die Dynamik der Seiten musst du dich selbst kümmern, daher lieber ein Servlet und an die bekannten Standards halten, den meisten Rest erledigen beliebige Frameworks.


----------

