Java servlets och databaskopplingar

Slides:



Advertisements
Liknande presentationer
Tomas Sandström, Adtollo
Advertisements

• Frågeledaren är den som vet svaren. De finns under en länk på sidan i kalendern. • Ni behöver antingen en 12-tärning eller två vanliga tärningar. • Slå.
Relationsdatabasdesign
Access med Sebastian och Robert
Datavalidering med JavaScript
Producerad av Publiciteta&Co Sundsbussarna Förslag på ny design av hemsida Publiciteta&Co 2006.
FTP, HTTP, HTML, XML och XHTML
Videokonsultation med medborgare
Programmering B PHP Lektion 1
DATABASHANTERING för programmerare
Hämta företagsdata till Excel
Webbkollen hemma Följ upp förbättringsåtgärder för att säkra en trygg utskrivning Intervjustödet Webbkollen hemma kan användas vid uppföljning av åtgärder.
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.
Klassarv och inkapsling
1 ITK:P2 F9 HTTP, Java servlets och Apache Tomcat DSV Peter Mozelius.
Elkraft 7.5 hp distans: Kap. 3 Likströmsmotorn 3:1
Metoder i java Det finns två typer av metoder i java
Att programmera i språket Java
NETinfo 2009–10-09 Magnus Persson Epost: Telefon: 046 –
Att integrera databaser med Java
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)
Mahmud Al Hakim Webmaster DAG 11 VT09 Mahmud Al Hakim
WEBMASTER DAG 13 Mahmud Al Hakim
Vägen till lycka…..
Stora additionstabellen
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Kapitel 11: Implementation av filsystem.
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.
Programmering B PHP Lektion 2
1 ITK:P1 Föreläsning 5 Iteration, slumpning och arrayer DSV Peter Mozelius.
Programmering B PHP Lektion 1 Mahmud Al Hakim Folkuniversitetet
Datasamlingar och generiska enheter
DATABASHANTERING för programmerare
Bild 1 Hur använder vi KursInfo idag? Högskolan i Skövde.
Det handlar om multiplikation
DATABASHANTERING för programmerare Lektion 3 Mahmud Al Hakim
TÄNK PÅ ETT HELTAL MELLAN 1-50
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.
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:
Stöd till en evidensbaserad praktik för god kvalitet inom socialtjänsten – brukarmedverkan vid brukarundersökningar inom LSS • • SKAPAD.
1 Föreläsning 7 Repetition Instansvariabler och klassvariabler Klassmetoder och Instansmetoder.
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.
Flexicon – Din systempartner
1 Föreläsning 6 Programmeringsteknik och Matlab 2D1312/2D1305 Metoder & parametrar Array API och klassen ArrayList.
1 Föreläsning 5 Programmeringsteknik och Matlab 2D1312/2D1305 Repetition Metoder Array API och klassen ArrayList.
Next previous RMI, Remote Method Invocation Om du har boken av Marty Hall, läs avsnitt 15.8 För fler exempel se:
Java paket och jar-filer
1 Windows Azure Mikael ÖstbergTorkel Ödegaard. 2 Äshur Ashore Azzuure.
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.
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.
DATABASHANTERING för programmerare Lektion 6 Mahmud Al Hakim
DATABASHANTERING för programmerare Lektion 5 Mahmud Al Hakim
1 Jan Lundström OV’s Hemsida Utbildning Ledare. 2 Jan Lundström OV’s Hemsida Standard Lagrum.
Ladda ner och installera JAVA Mahmud Al Hakim DynamicOS
Java Beans
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.
IT Fördjupning Del 2 Lotta Annell. Mål Kursen ger grundläggande kunskaper inom området databaser. Den studerande erhåller kunskaper om att skapa en databas.
Föreläsning 9 Inläsning och utskrift på fil –SimpleTextFileReader –SimpleTextFileWriter Felsökning Java API.
DA7351 Programmering 1 Databas SQL Föreläsning 24.
Från databas till Excel
Repetition Del 1.
Presentationens avskrift:

Java servlets och databaskopplingar ITK:P2 F10 Java servlets och databaskopplingar DSV Peter Mozelius

Repetition Tomcat Anropa Tomcat genom: http://127.0.0.1:8080/ http://localhost:8080/index.jsp

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

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

Tomcat konfigurationsfiler Tomcat har flera konfigurationsfiler Två av dem är: web.xml mappning av servlets CATALINA_HOME\webapps\P2\WEB-INF\ server.xml CATALINA_HOME\conf\

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

JDBC Gemensamt API Olika drivrutiner

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

MSAccess Skapa t ex en tabell som heter ITK i en databas som heter p2

MSAccess från Java Tabellen ITK kan också skapas med kod från en servlet: Statement statement = connection.createStatement(); statement.execute("create table ITK (kolumn integer)"); (om det finns en koppling till databasen p2)

Att registera datakällan I WinXP ska en Access-databas också registreras som en ODBC-datakälla Detta görs i Kontrollpanelen under Administrationsverktyg

Att koppla datakällan Datakällans namn ska sedan anges när en koppling skapas från koden i din servlet: Connection connection = DriverManager.getConnection(… 15 minuters rast!

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å: http://dev.mysql.com/doc/ Den som vill får även ett kompendium för framtida bruk

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

Registrera drivrutinen Innan JDBC-drivrutinen kan användas så ska den registreras: 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://localhost/uppgiftE?user=mia&password=47x2");

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 ITKP2");

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

Koppla ner och stäng Stäng ner det som öppnats: out.close(); statement.close(); connection.close(); Vi tittar nu på kompendiumet som samman- fattar det vi har gått igenom OCH tar även 15 minuters PAUS!

ITK:ID Att känna till lite om hur man kopplar sig till en databas är inte enbart bra att veta när man skriver P2s tentamen Databaser och servlets är mycket användbart för ITK:ID

Servlet-tekniker request.getParameter() HttpServletRequest har en metod som hämtar in användarens angivna parametrar request.getParameter() Parametrarna skrivs in på klientsidan i rutor skapade med <input …

Parametrar I din XHTML-fil: <form … <input type = "text" name = "fnamn" value ="James" /> <input type = "text" name = "enamn" value ="Gosling" />

Parametrar I din servlet: String fNamn = req.getParameter("fnamn"); public void doGet(HttpServletRequest req, HttpServletResponse res){ String fNamn = req.getParameter("fnamn"); String eNamn = req.getParameter("enamn");

Cookies 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 Från början en Netscape extension Cookies är inte en del av HTTP utan en bit data som kan bäddas in i en request | response

Cookies Cookies finns i ett flertal språk I Java finns javax.servlet.http.Cookie Cookie kaka = new Cookie(name, value); allaSessionensKakor = request.getCookies()

Samla ihop dina kakor Lägg in dem i en kakburk: Cookie[] kakburk = req.getCookies(); Skriv ut dina kakor: for(int i = 0; i < kakburk.length; i++) { out.println("<tr><td>" + kakburk[i].getName() + "</b></td>"); out.print("<td>" + kakburk[i].getValue() + "</td></tr>"); }

Slut på P2s föreläsningar Tack för i år!