Presentation laddar. Vänta.

Presentation laddar. Vänta.

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

Liknande presentationer


En presentation över ämnet: "1 ITK:P2 F10 Java servlets och databaskopplingar DSV Peter Mozelius."— Presentationens avskrift:

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

2 2 Repetition Tomcat  Anropa Tomcat genom:  

3 3 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 servlet.jar  OBS jar-filen heter i äldre versioner servlet.jar  I autoexec.bat för Win9X  I kontrollpanelen/miljövariabler för WinXP

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

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

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

7 7 JDBC Gemensamt API Olika drivrutiner

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

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

10 10 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)

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

12 12 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!

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

14 14 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å: Den som vill får även ett kompendium för framtida bruk

15 15 Databaskoppling i Java  En databaskoppling till MySQL 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

16 16 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)

17 17 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://lo calhost/uppgiftE?user=mia&password=47x2");

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

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

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

21 21 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!

22 22 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

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

24 24 Parametrar  I din XHTML-fil:


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

26 26 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 Netscape extension  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

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

28 28 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(" " + kakburk[i].getName() + " "); out.print(" " + kakburk[i].getValue() + " "); }

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


Ladda ner ppt "1 ITK:P2 F10 Java servlets och databaskopplingar DSV Peter Mozelius."

Liknande presentationer


Google-annonser