Gyakorlat8
A MathWikiből
A lap korábbi változatát látod, amilyen Kkovacs (vitalap | szerkesztései) 2013. november 6., 02:40-kor történt szerkesztése után volt.
Grizzly életre keltése
- Az elsõ dolog, hogy töltsük le a szükséges fájlokat:
- Majd kezdjünk egy új projectet. A projectet kijelölve, jobb klikk és properties, majd java build path, itt a libraries fül, végül add external jars gomb. Itt jelöljük ki az összes letöltött file-t, aminek NINCS a végén a sources szó.
- Ezek után már minden mûködni fog, ez a lépés opcionális. Nyissátok le a projectet, majd referenced libraries itt jobb klikk valamelyikre, properties, gyõzõdjetek meg, hogy a java source attachment van kijelölve bal oldalt. Ha igen, akkor external jar gomb, és jelöljétek ki azt a source file-t, ami az épp kiválasztott library-hez tartozik. Majd végezzétek el ezt a maradék 2-vel.
- Az utolsó lépés által fogunk látni hasznos információkat amikor valami nem mûködik, vagy ha az egérrel egy metódus fölé megyünk, amit a szerver definiál. Valamilyen szintû dokumentációt ad, így megkönnyítheti a munkánkat nagyban.
- Ezeket a lépéseket mindig újra el kell végezni amikor új projectet hoztok létre. (Természetesen újra letölteni nem kell.)
Elsõ próba
Hozzatok létre egy Main nevû osztályt a korábban létrehozott projectben, majd másoljátok bele ezt a kódot:
import java.text.SimpleDateFormat; import java.util.Date; import java.util.Locale; import org.glassfish.grizzly.http.server.*; public class Main { public static void main(String[] args) { HttpServer server = HttpServer.createSimpleServer("../html", ); server.getServerConfiguration().addHttpHandler( new HttpHandler() { public void service(Request request, Response response) throws Exception { final SimpleDateFormat format = new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss zzz", Locale.US); final String date = format.format(new Date(System.currentTimeMillis())); response.setContentType("text/plain"); response.setContentLength(date.length()); response.getWriter().write(date); } }, "/time"); try { server.start(); System.out.println("Press any key to stop the server..."); System.in.read(); } catch (Exception e) { System.err.println(e); } } }
Egy hibát fog jelezni az eclipse, méghozzá a HttpServer létrehozásakor. Direkt nem adtam meg ott egy paramétert. Mindenki a táblázatból nézze meg, melyiket portot rendeltem hozzá, majd ezt írja be az üresen hagyott helyre.
Így már jó lesz a kód és megpróbálhatjátok futtatni.