2I1070 Lektion 2 KTH-MI Peter Mozelius Servlets och databaskopplingar.

Slides:



Advertisements
Liknande presentationer
Snabbguide och tips.
Advertisements

Tomas Sandström, Adtollo
Array Skriv ett program som frågar följande: ”Hur många tal vill du mata in?” användaren matat in ett tal t.ex n. då frågar programmet n ggr följande.
FTP, HTTP, HTML, XML och XHTML
Programmering B PHP Lektion 1
Lokala teknikmiljöer Utredning GEM-0001-A NUAK Jenny H Svensson, Projektledare.
Hämta företagsdata till Excel
Algoritmer och data strukturer -Länkade listor
2I1049 Föreläsning 11 Modularisering, återanvändning och JavaBeans
Next previous Internetprogrammering 2000 Internetprogrammering 2000 Föreläsning 10 Distribuerad programmering med Javas RMI, Remote Method Invocation.
Föreläsning 3 Repetition Operatorer Styrstrukturer Deklaration och anrop av metoder.
1 ITK:P2 F9 HTTP, Java servlets och Apache Tomcat DSV Peter Mozelius.
Metoder i java Det finns två typer av metoder i java
Nätverkskommunikation
Välkommen Vahid Mosavat
Programmeringsteknik för K och Media
Programmeringsteknik K och Media
Programkodens uppbyggnad
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.
Strömmar Vid läsning och skrivning används något som kallas strömmar.
Databaser i B2KUNO Johan Eklund. Hur går jag vidare? Avancerade tillämpningar:  Analysera data  Generera information Utveckla följande färdigheter:
Mahmud Al Hakim Webmaster DAG 11 VT09 Mahmud Al Hakim
W EBMASTER DAG 11 HT08 Mahmud Al Hakim
WEBMASTER DAG 13 Mahmud Al Hakim
Next previous Introduktion till Java Av Björn Eiderbäck Adress: Rum 1641, 6tr NADA Osquars Backe 2 Tel: OOMPAE 2000.
Föreläsning 13 Polymorfism, Paket och JAR-filer. Polymorfism Ordet härstammar från grekiskan Poly – många Morf – form Polymorf – många former Någonting.
1 ITK:P1 Föreläsning 5 Iteration, slumpning och arrayer DSV Peter Mozelius.
Objektorienterad programmering i Java
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
Datasamlingar och generiska enheter
Jonny Karlsson PROCESSPROGRAMMERING Föreläsning 8 ( ) Innehåll: Trådprogrammering i Java - Avbrott (”interrupts”) - Metoden join() -
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.).
DATABASHANTERING för programmerare Lektion 4 Mahmud Al Hakim
MEOS på två datorer Motionsorientering. TävlingUngdom Korsad nätverkskabel Server Lägg upp tävlingen på denna Används som anmälan Extra batteri Startas.
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.
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 7 ( ) INNEHÅLL: -Klasser -Att definiera egna klasser -Klassvariabler -Klassmetoder.
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.
Jonny Karlsson GRUNDKURS I PROGRAMMERING MED JAVA Föreläsning 9 ( ) INNEHÅLL: -Tabeller av klassobjekt -Användning av Java API specifikationen.
Föreläsning 14 ”Enkel” Filhantering.
Java servlets och databaskopplingar
1 ITK:P1 Föreläsning 8 Multimedia för spelkonstruktion DSV Peter Mozelius.
Mahmud Al Hakim 2  Mål för kursen  Kursplanering  Kurslitteratur  Betygsättning  Grunder om databaser  Tabeller.
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.
Java paket och jar-filer
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.
Föreläsning 4 Klasser Och Objekt.
PROGRAMMERINGSTEKNIK Övningsgrupp 3 Marcus Hjelm
ITK:P1 Föreläsning 2 Introduktion till objektorientering DSV Marie Olsson.
0. Kod, Klassdiagram och Sekvensdiagram import java.awt.event.*; import javax.swing.*; import java.awt.*; public class TwoThreads implements ActionListener.
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 5 ( ) INNEHÅLL: -Introduktion till programmeringsspråket Java -Den allmänna.
PROCESSPROGRAMMERING Föreläsning 1 ( )‏ Innehåll: Introduktion till paralellprogrammering (“concurrent programming”)‏ Introduktion till parallellprogrammering.
ITK:P2 F8 Strömmar och filhantering DSV Peter Mozelius.
Ladda ner och installera JAVA Mahmud Al Hakim DynamicOS
Java Beans
Jonny Karlsson PROCESSPROGRAMMERING Föreläsning 2 ( )‏ Innehåll:Trådar: - Avbrott (”interrupts”)‏ - Metoden join()‏ Högnivå objekt för.
Övning 3. Repetition Metoder class RepetitionMetoder { public static void main(String [] args) double längd = 2.0; double bredd = 1.0; double area =
Windows Live Messenger. MSN. Vad är Windows Live Messenger ? Ett klient program för direktmeddelanden, dvs ett program som laddas ned från Internet och.
Föreläsning 9 Inläsning och utskrift på fil –SimpleTextFileReader –SimpleTextFileWriter Felsökning Java API.
OOP&M - teori1 OOP del III–vecka 15 Mer NetBeans MouseEvent Graphics Threads TIJ Chapter 14 Menus sid Drawing File Dialogs
Från databas till Excel
Medicinska webbapplikationer
Presentationens avskrift:

2I1070 Lektion 2 KTH-MI Peter Mozelius Servlets och databaskopplingar

Internetprogrammering Tidigare på kursen 2I1049 har vi enbart sysslat med fristående program där allt körs på en och samma dator. I internetsammanhang kan det istället se ut enligt: Treskiktsarkitektur – webbklient - webbserver - data – XHTML - Java servlets - databas

Klient-server med servlets

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

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 vanliga Hello World ! Först behövs följande importsatser: import java.io.*; import javax.servlet.*; import javax.servlet.http.*;

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

En liten enkel servlet out.println(" Hello World! "); out.println(" "); out.println(" Hello World! "); out.println(" "); } }

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 visst finns det kommersiella alternativ

Apache Tomcat Det kommer hela tiden nya versioner Det finns en del smådetaljer som skiljer Mer information finns på: 15 min paus!

Apache Tomcat Starta Tomcat: – startup.bat – startup.sh Stoppa Tomcat: – shutdown.bat – shutdown.sh

Apache Tomcat Anropa Tomcat genom: – –

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

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

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

ODBC - JDBC Open Data Base Connectivity Microsoftstandard för databaskopplingar JDBC framtagen av Javasoft Motsvarigheten för koppplingar från Java interoperabilitet En huvudpoäng är interoperabilitet

JDBC Gemensamt API Olika drivrutiner

java.sql metadata Genom import java.sql.*; så får ni tillgång till klasser för metadata: ResultSet resultSet = statement.executeQuery(”SELECT …”); ResultSetMetaData metaData = resultSet.getMetaData();

MySQL En på Internet mycket vanlig relationsdatabas Finns både i kommersiella och gratisversioner Liten, snabb och stabil Det finns andra mer avancerade databaser

MySQL MySQL har blivit enklare att installera och mer lättanvänd i de senaste versionerna MEN, allt är inte intuitivt och lättillgängligt Information och stödprogram finns att hämta på: 15 min paus!

Databaskoppling i Java En databaskoppling kan ske enligt: 1. Registrera JDBC-drivrutinen 2. Etablera kontakten med databasen 3. Exekvera en SQL-fråga 4. Bearbeta resultatet av SQL-frågan 5. Koppla ner och stäng

Registrera drivrutinen Innan JDBC-drivrutinen kan användas så ska den registreras i stil med: try{ Class.forName("org.gjt.mm.mysql.Driver”); } catch (ClassNotFoundException cnfe) { out.println(”Det gick inte att ladda drivrutinen: " + cnfe.getMessage()); } (En JDBC-drivrutin är en javaklass nåbar via CLASSPATH)

Etablera kopplingen När drivrutinen är laddad går det sedan bra att upprätta en koppling till MySQL genom: jdbc:mysql://SERVER/DATABASE_NAME Vilket i en koppling lokalt till den egna datorn kan se ut enligt: Connection connection = DriverManager.getConnection(”jdbc:mysql://localho st/uppg2d?user=rudolf&password=4477x2w32");

Etablera kopplingen En liten databas finns någonstans på den världsvida väven Koppla dig dit enligt: Connection connection = DriverManager.getConnection(” jdbc:mysql://server.adress.se/user=peter &password=hemligt");

Exekvera en SQL-fråga När det finns en koppling till databasen går det sedan bra att köra SQL-frågan: Statement stmt = connection.createStatement(); ResultSet resultSet = stmt.executeQuery("SELECT * FROM studenter");

Bearbeta resultatet Klassen ResultSet har två andvändbara metoder: – next() – previous() while ( resultSet.next() ){ out.println(" "); out.println(" " + resultSet.getString(…

Koppla ner och stäng Stäng ner det som öppnats: out.close(); statement.close(); connection.close(); Vi tittar nu på ett litet kompendium som sammanfattar det vi har gått igenom

Nästa års 2I1073 Vi kommer nästa år på kursen 2I1073 att arbeta med bland annat: – Tomcat – MySQL – Java Servlets – HTML – XML – XHTML Tack för i år!