Servlets Innehll Java och Servlets Utvecklingsmilj Java och
- Slides: 20
Servlets
Innehåll • Java och Servlets • Utvecklingsmiljö
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 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. *; 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 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. *; 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 – ? innan första paret – & mellan paren
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 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 – 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 Tomcat startar i ett eget kommandofönster
Utvecklingsmiljö • Katalog webapps: – Varje katalog är en webapplikation • Vi arbetar i ROOT
Utvecklingsmiljö • Katalog ROOT: – HTML-mallar – CSS – Bilder – Ljud – Filmer – Mm
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/ • Tomcat svarar • Samma dator både server och klient
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 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 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: javac Test 01. java • Vänta 5 sekunder • Klicka på ”omladda” i browsern • Nu står det: Hej 2!
- Core servlets
- Servlets notes
- Hinduism och buddhism skillnader
- Tjock och smal liten och stor
- Java import java.io.*
- Import java.awt.*
- Import java.util
- Import java.awt.* import java.awt.event.*
- Perbedaan java swing dan awt
- Import java.util
- Import java.io.* in java
- Import java.util.scanner;
- Programming language b
- Import java.io.file;
- Import java.util.*;
- Java import java.util.*
- What is rmi and ejb in java
- Gcd java
- Socialisation
- Klassindelad tabell
- Vad är segregation och integration