Presentation laddar. Vänta.

Presentation laddar. Vänta.

Java servlets och databaskopplingar

Liknande presentationer


En presentation över ämnet: "Java servlets och databaskopplingar"— Presentationens avskrift:

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

2 Repetition Tomcat Anropa Tomcat genom: http://127.0.0.1:8080/

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

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

5 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\

6 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

7 JDBC Gemensamt API Olika drivrutiner

8 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();

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

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

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

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

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

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

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

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 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 Cookies Cookies finns i ett flertal språk I Java finns
javax.servlet.http.Cookie Cookie kaka = new Cookie(name, value); allaSessionensKakor = request.getCookies()

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

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


Ladda ner ppt "Java servlets och databaskopplingar"

Liknande presentationer


Google-annonser