Servlets Innehll Java och Servlets Utvecklingsmilj Java och

  • Slides: 20
Download presentation
Servlets

Servlets

Innehåll • Java och Servlets • Utvecklingsmiljö

Innehåll • Java och Servlets • Utvecklingsmiljö

Java och Servlets • Vanligt Java-program som: – Importerar: java. io. *; javax. servlet.

Java och Servlets • Vanligt Java-program som: – Importerar: java. io. *; javax. servlet. http. *; – Ärver Http. Servlet: public class X extends Http. Servlet {

Java och Servlets – Har några speciella metoder: • init() Anropas av servern efter

Java och Servlets – Har några speciella metoder: • init() Anropas av servern efter instansen av servleten har skapats men före några förfrågningar • do. Get(Http. Servlet. Request request, Http. Servlet. Response response) • do. Post(Http. Servlet. Request request, Http. Servlet. Response response) • destroy() Anropas av servern efter att servleten har tagits ut ur service och alla nuvarande förfrågningar genomförts

Java och Servlets Exempel 1 import java. io. *; import javax. servlet. http. *;

Java och Servlets Exempel 1 import java. io. *; import javax. servlet. http. *; public class X extends Http. Servlet { private int count = 0; public void do. Get(Http. Servlet. Request request, Http. Servlet. Response response) throws IOException, Servlet. Exception { response. set. Content. Type("text/plain"); Print. Writer out = response. get. Writer(); count++; out. println(count); } Några } problem?

Java och Servlets Exempel 1 • I början av en Servlets livscykel så instansierar

Java och Servlets Exempel 1 • I början av en Servlets livscykel så instansierar HTTP-servern klassen och vi får ett objekt • För varje anrop till Servleten så skapar HTTP-servern en tråd som i sin tur använder objektet • Flera trådar använder objektet och det kan då uppstå krockar

Java och Servlets Exempel 2 import java. io. *; import javax. servlet. http. *;

Java och Servlets Exempel 2 import java. io. *; import javax. servlet. http. *; public class X extends Http. Servlet { private int count = 0; public synchronized void do. Get(Http. Servlet. Request request, Http. Servlet. Response response) throws IOException, Servlet. Exception { response. set. Content. Type("text/plain"); Print. Writer out = response. get. Writer(); count++; out. println(count); } }

Java och Servlets Exempel 3 • http: //localhost: 8080/XTest? x =1&y=2 – Namn=värde par

Java och Servlets Exempel 3 • http: //localhost: 8080/XTest? x =1&y=2 – Namn=värde par – ? innan första paret – & mellan paren

Java och Servlets Exempel 3 import java. io. *; import javax. servlet. http. *;

Java och Servlets Exempel 3 import java. io. *; import javax. servlet. http. *; public class X extends Http. Servlet { public synchronized void do. Get(Http. Servlet. Request request, Http. Servlet. Response response) throws IOException, Servlet. Exception { response. set. Content. Type("text/plain"); Print. Writer out = response. get. Writer(); String s. X = request. get. Parameter("x"); String s. Y = request. get. Parameter("y"); out. println("x: " + s. X); out. println("y: " + s. Y); } } Måste inte synkroniseras, varför?

Utvecklingsmiljö • Använd egen HTTP-server Tomcat på localhost • Tomcat = HTTP-server som stöder

Utvecklingsmiljö • Använd egen HTTP-server Tomcat på localhost • Tomcat = HTTP-server som stöder Servlets • Använd den för kursen konfigurerade • Hämta och zippa upp filen: – jakarta-tomcat-4. 1. 24. zip

Utvecklingsmiljö • Katalog-struktur: – bin: Exe-filer mm – links: Länkar till exempel mm –

Utvecklingsmiljö • Katalog-struktur: – bin: Exe-filer mm – links: Länkar till exempel mm – webapps: Alla webapplikationer En webapplikation är en samling av Servlets, HTML, CSS, bilder, ljud mm

Utvecklingsmiljö • Starta Tomcat genom att dubbelklicka på: – jakarta-tomcat 4. 1. 24/bin/startup_2. bat

Utvecklingsmiljö • Starta Tomcat genom att dubbelklicka på: – jakarta-tomcat 4. 1. 24/bin/startup_2. bat Tomcat startar i ett eget kommandofönster

Utvecklingsmiljö • Katalog webapps: – Varje katalog är en webapplikation • Vi arbetar i

Utvecklingsmiljö • Katalog webapps: – Varje katalog är en webapplikation • Vi arbetar i ROOT

Utvecklingsmiljö • Katalog ROOT: – HTML-mallar – CSS – Bilder – Ljud – Filmer

Utvecklingsmiljö • Katalog ROOT: – HTML-mallar – CSS – Bilder – Ljud – Filmer – Mm

Utvecklingsmiljö • Katalog WEB-INF: – web. xml: XML-fil som beskriver alla Servlets (ändra inte

Utvecklingsmiljö • Katalog WEB-INF: – web. xml: XML-fil som beskriver alla Servlets (ändra inte i den om man inte är säker på vad man gör) – classes: Alla Javaoch class-filer – lib: Alla tillbehör

Utvecklingsmiljö • Starta en browser • Skriv in URL: – http: //localhost: 8080/ •

Utvecklingsmiljö • Starta en browser • Skriv in URL: – http: //localhost: 8080/ • Tomcat svarar • Samma dator både server och klient

Utvecklingsmiljö • Gå till katalogen: – links • Klicka på: – test 01 –

Utvecklingsmiljö • Gå till katalogen: – links • Klicka på: – test 01 – test 02 – Osv

Utvecklingsmiljö • Ta reda på egna datorns IP-adress: ipconfig • Berätta det numret för

Utvecklingsmiljö • Ta reda på egna datorns IP-adress: ipconfig • Berätta det numret för en kompis och låt kompisen surfa in på din dator från en annan

Utvecklingsmiljö • Dubbelklicka på: linkstest 01 • Nu står det: Hej 1! • Dubbelklicka

Utvecklingsmiljö • Dubbelklicka på: linkstest 01 • Nu står det: Hej 1! • Dubbelklicka på filen: – webappsROOTWEBINFclassesTest 01. java • Ändra i koden: – Från: out. println("Hej 1!"); – Till: out. println("Hej 2!");

Utvecklingsmiljö • Starta ett kommandofönster i denna katalog • Sätt classpath: sc • Kompilera:

Utvecklingsmiljö • Starta ett kommandofönster i denna katalog • Sätt classpath: sc • Kompilera: javac Test 01. java • Vänta 5 sekunder • Klicka på ”omladda” i browsern • Nu står det: Hej 2!