1 ITK:P2 F9 HTTP, Java servlets och Apache Tomcat DSV Peter Mozelius.

Slides:



Advertisements
Liknande presentationer
En Dag i Ramadan Ramadan
Advertisements

Datavalidering med JavaScript
Producerad av Publiciteta&Co Sundsbussarna Förslag på ny design av hemsida Publiciteta&Co 2006.
FTP, HTTP, HTML, XML och XHTML
1 MSPEL Föreläsning 1 DSV Peter Mozelius XML, XHTML, CSS och Java applets.
Maria Kihl och Jens A Andersson Kapitel 9: Applikationer.
Copyright Lars Valentin1 Navigera på Internet en kortfattad introduktion.
Programmering B PHP Lektion 1
Leif Håkansson’s Square Dancer Rotation
Next previous Internetprogrammering 2000 Internetprogrammering 2000 Föreläsning 10 Distribuerad programmering med Javas RMI, Remote Method Invocation.
2I1070 Lektion 2 KTH-MI Peter Mozelius Servlets och databaskopplingar.
Eddie Arnold - Make The World Go Away Images colorées de par le monde Déroulement automatique ou manuel à votre choix 1 för dig.
Elkraft 7.5 hp distans: Kap. 3 Likströmsmotorn 3:1
Metoder i java Det finns två typer av metoder i java
Välkommen Vahid Mosavat
Programmeringsteknik för K och Media
Att programmera i språket Java
NETinfo 2009–10-09 Magnus Persson Epost: Telefon: 046 –
Föreläsning 8 Appletprogram/fristående grafiska program Rita linjer, rektanglar mm Skriva text Byta färg Appletprogram html.
Next previous Innehåll Inledning Några enkla exempel Pekare till och kort beskrivning av större exempel Speciella referenser (som används i marginalen)
Next previous Lite mer om CGI-programmering Innehåll Vad är CGI? Vad är Forms? Vad är Perl? Forms, CGI och Perl. Något om Cookies. Internetprogrammering.
Next previous Lite mer om CGI-programmering Innehåll Vad är CGI? Vad är Forms? Vad är Perl? Forms, CGI och Perl Internetprogrammering F 14 Läs också: Kursboken.
WEBMASTER DAG 13 Mahmud Al Hakim
V E R S I O N N R 2. 0 T A V E L I D É E R I M I L J Ö.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Kapitel 13: I/O-system.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Kapitel 11: Implementation av filsystem.
Programmering B PHP Lektion 2
1 ITK:P1 Föreläsning 5 Iteration, slumpning och arrayer DSV Peter Mozelius.
INFÖR NATIONELLA PROVET
OOP F4:1 Marie Olsson OOP Objekt-orienterad programmering Föreläsning 4 Metoder klass-metoder instans-metoder.
Programmering B PHP Lektion 1 Mahmud Al Hakim Folkuniversitetet
15 x 25 meter. Skriv banenavn Skriv designet af Skriv dato MÅL sväng vänster 6 sväng höger 5 runt 7 Vänster runt hund höger runt.
Datasamlingar och generiska enheter
Internet Styrdatorer och kablar Uppkopplade användare Servrar 182.QRZN.
UTVECKLING MED RAMVERKET.NET Marcus Medina. Dagens visdomsord ” Ingen vet vad han klarar innan han har försökt. ” - Publilius Syrus (85 f.Kr.-43 f.Kr.).
TÄNK PÅ ETT HELTAL MELLAN 1-50
1 Joomla © 2009 Stefan Andersson 1. 2 MÅL 2 3 Begrepp Aktör: en användare som interagerar med webbplatsen. I diagrammet till höger finns två aktörer:
Kouzlo starých časů… Letadla Pár foteček pro vzpomínku na dávné doby, tak hezké snění… M.K. 1 I Norrköping får man inte.
Best pictures on the internet 2007 Awards 1http:// Är vänsteralliansen trovärdig i Norrköping.
1 ITK:P2 F2 Stilsättning av XHTML DSV Peter Mozelius.
PROCESSPROGRAMMERING Föreläsning ‏ Innehåll: Högnivå objekt för trådprogrammering: - Trådgrupper (”Thread pools”)‏ - Exekverare (Executor.
Mitt första Java program Mahmud Al Hakim Copyright, Mahmud Al Hakim, 1.
Best pictures on the internet 2007 Awards 1http:// (s), (v), och (mp) i Norrköping, gillar inte att vi använder grundlagarna.
Servlets — Java på serversidan. previous next 2 Servlets Introduktion Javaservlets är en i raden av SUN:s många tillämpningar av Java. Servlets kan grovt.
Täckningsgrad Dec 2014 – feb 2015 Täckningsgrad Dec 2014 – feb 2015.
Föreläsning 14 ”Enkel” Filhantering.
Java servlets och databaskopplingar
1 Föreläsning 6 Programmeringsteknik och Matlab 2D1312/2D1305 Metoder & parametrar Array API och klassen ArrayList.
1 ITK:P1 Föreläsning 8 Multimedia för spelkonstruktion DSV Peter Mozelius.
Next previous RMI, Remote Method Invocation Om du har boken av Marty Hall, läs avsnitt 15.8 För fler exempel se:
Föreläsning 1 Reserverade ord Javas API Identifierare Litteraler Variabler Kompilering och interpretering.
1 Logging and monitoring of TCP traffic in SSH tunnels Masters thesis Anton Persson.
Java paket och jar-filer
Abelli, B. (2004). Programmeringens Grunder – med exempel i C#. Lund: Studentlitteratur 11 C# I/O Streams C# använder “strömmar” för in- och utmatningsoperationer.
Informationsteknologi - Lektion 2 Trådlöst nätverk (WLAN) Trådlöst nätverk (WLAN) Filarkivet: Filarkivet:
Jonny Karlsson PROCESSPROGRAMMERING Föreläsning 8 ( )‏ Innehåll:  Introduktion till Java EE (Enterprise Edition)  Enterprise Java Beans.
2I1073 Föreläsning 2 KTH-MI Peter Mozelius Server, servlets och databaskopplingar.
1 ITK:P2 F6 Sortering av generiska containerklasser DSV Peter Mozelius.
PROGRAMMERINGSTEKNIK Övningsgrupp 3 Marcus Hjelm
Räkna till en miljard 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,14,15,16,17,18,19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, En miljard är ett.
ITK:P1 Föreläsning 2 Introduktion till objektorientering DSV Marie Olsson.
BVForum - en genomgång för revisorer Sören Thuresson.
PROCESSPROGRAMMERING Föreläsning 1 ( )‏ Innehåll: Introduktion till paralellprogrammering (“concurrent programming”)‏ Introduktion till parallellprogrammering.
Föreläsning 13 Appletprogram/fristående grafiska program Arv Rita linjer, rektanglar mm Skriva text, byta färg Appletprogram & HTML Grafiska användargränssnitt.
1 Jan Lundström OV’s Hemsida Utbildning Ledare. 2 Jan Lundström OV’s Hemsida Standard Lagrum.
1 2I1073 Föreläsning 1 KTH-MI Peter Mozelius XHTML, stilmallar och Javascript.
Ladda ner och installera JAVA Mahmud Al Hakim DynamicOS
När infaller Julafton och hur ofta?
Java Beans
Övning 3. Repetition Metoder class RepetitionMetoder { public static void main(String [] args) double längd = 2.0; double bredd = 1.0; double area =
Presentationens avskrift:

1 ITK:P2 F9 HTTP, Java servlets och Apache Tomcat DSV Peter Mozelius

2 Klienter och servrar

3 HTTP  HTTP (HyperText Transfer Protocol) är ett protokoll som framför allt talas mellan webbläsare och webbservrar  HTTP-protokollet började användas 1990 som en ersättare till det äldre Gopher  Första versionen var HTTP/0.9  HTTP/0.9 har ett enda kommando: GET  Senare versioner är 1.0 och 1.1 (1996)

4 URL  Uniform Resource Locator  URL-syntaxen finns specificerad för en rad olika protokoll i RFC 1738  Vi tittar här på hur den ser ut för HTTP som är protokollet för hemsidor/webben (+ eventuell följande ?query_string)

5 URL  Vi tittar på den URL som leder fram till en hemsida med lite material till denna kurs:  protocol/protokoll är  host/värddator är  port är defaultport :80  path/sökväg är ~mozelius/ITKP2 /  filename/filnamn blir index.html

6 HTTP kommandon GET POST HEAD TRACE PUT DELETE

7 GET och POST  I 99% så handlar det om GET och POST  GET  tänkt för att hämta saker från servern  skickar data med URL + frågesträng  vissa servrar klipper av frågesträngen efter x antal tecken  POST  skickar data till servern utan att klienten ser  passar bättre för stora mängder data  säkrare än GET

8 Java servlets  Som applets fast på serversidan  Skrivs i språket Java precis som applets och vanliga applikationer import javax.servlet.*; Grundläggande servletklasser import javax.servlet.http.*; Klasser som hanterar HTTP kommandon

9 Java servlets  Ett effektivt alternativ till CGI-lösningar  CGI startar en ny process för varje anrop  Servlets startar bara en ny tråd  CGI avslutar processen efter anropet  Servlets ligger kvar i minnet

10 Klient-server med servlets

11

12 Servlets och HTTP  Metoder för HTTP i en servlet  doGet()  doPost()  doHead()  doTrace()  doPut()  doDelete()

13 doGet() och doPost() När du behöver bägge metoderna i en servlet så kan de med fördel kombineras enligt:  public void doGet(HttpServletRequest request, HttpServletResponse response) {  Här finns koden som gör jobbet; }}  public void doPost(HttpServletRequest request, HttpServletResponse response) {  doGet(request, response); }}

14 HttpServletRequest  Ett sätt att få tag i viktig information  HTTP Request = klientens förfrågan Request Header  Läs innehållet i Request Header genom:  request.getHeader()  request.getHeaderNames()  request.getContentType()  request.getContentLength()

15 HttpServletRequest  Andra användbara metoder är:  request.getMethod()  request.getProtocol()  request.getRequestURI()  request.getParameter()  request.getCookies()

16 HttpServletResponse  HTTP Response = serverns svar  Här finns metoder som t ex  response.addCookie() //lägg till en kaka En annan användbar metod är: response.getWriter() PrintWriter Öppnar en PrintWriter för utskrifter

17 Cookies/Kakor  Med kakor så kan besökarnas individuella önskemål registreras och kommas ihåg  En vanlig MEN omdiskuterad teknik  I en del webbläsare är kakfunktionen avstängd  Cookies är inte en del av HTTP utan en bit data som kan bäddas in i en request | response Netscape extension  Från början en Netscape extension

18 En liten enkel servlet Vi ska nu titta på koden för en riktigt enkel servlet som inte gör mer än att skriva ut det gamla vanliga Hello World ! Först behövs följande importsatser: import java.io.*; import javax.servlet.*; import javax.servlet.http.*;

19 En liten enkel servlet public class HelloWorld extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { String protokoll = request.getProtocol(); response.setContentType("text/html"); PrintWriter out = response.getWriter(); out.println(" ");

20 En liten enkel servlet out.println(" Hello World! "); out.println(" "); out.println(" Hallå klient! "); out.println(" Protokollet är: "); out.println(protokoll + ” "); out.println(" "); } } Paus 15 minuter

21 Apache Tomcat  Det finns flera sätt att köra servlets  Ett mycket vanligt sätt är m h a Tomcat  Som alltid när det gäller Apacheprodukter  helt fri att använda  öppen källkod  Följer servlet- och JSP-specifikatioerna  Det sätt som vi kommer att använda  MEN det finns kommersiella alternativ

22 Apache Tomcat  Det kommer hela tiden nya versioner  Det finns en del smådetaljer som skiljer Mer information finns på:

23 Apache Tomcat  Starta Tomcat: startup.bat startup.sh  Stoppa Tomcat: shutdown.bat shutdown.sh

24 Apache Tomcat  Anropa Tomcat genom:  

25 Apache Tomcat  Om du använder SDK standard edition  Se till att servlet.jar finns med i din CLASSPATH  Exempelvis:  SET CLASSPATH=.;E:\tomcat\lib\servlet.jar servlet-api.jar  OBS jar-filen heter fr o m version5 servlet-api.jar  I autoexec.bat för Win9X  I kontrollpanelen/miljövariabler för WinXP

26 Apache Tomcat  Två andra miljövariabler är:  JAVA_HOME ( Exempelvis: C:\jdk1.5.x\ )  och  CATALINA_HOME ( Sökvägen till Tomcat )

27 Konfigurationsfiler Tomcat har många konfigurationsfiler Två av dem är:  web.xml servlets  mappning av servlets CATALINA_HOME\webapps\context\WEB-INF\  server.xml servlet context mm  Mappning av servlet context mm CATALINA_HOME\conf\

28 XHTML för servlets  Vanligt är att starta en servlet från ett XHTML-dokument  Användbara taggar är   type = "text”  type = "submit "

29 XHTML för servlets Hej, fyll i för och efternamn: <form action = " method = "get">

30 Uppgift D  Nu kan ni köra igång med Uppgift D Tack för idag!