JEE Web Component Developer Seminar

Save this PDF as:
 WORD  PNG  TXT  JPG

Größe: px
Ab Seite anzeigen:

Download "JEE Web Component Developer Seminar"

Transkript

1 JEE WEB Component Developer Seminar II _jeewcds-ii-1.docx 1

2 JEE - Web Component Developer Seminar Teil II Datenbanken Inhaltsverzeichnis JEE - Web Component Developer Seminar... 2 Teil II Datenbanken... 2 Inhaltsverzeichnis... 2 Kapitel Datenbanken... 3 Datenbank H Datenbank MySQL... 3 Datenbank Oracle oder Postgres... 3 Lib-Verzeichnisse... 3 DRIVER, URL, USER, PASSWORD... 4 DB Connection über DriverManager.getConnection()... 5 DataSource... 8 TOMCAT... 8 JBOSS... 9 DB Connection über DataSource.getConnection() JPA Java Persistence API Kapitel 8 Workshops Workshop 1 Adressverwaltung Workshop 2 Gästebuch _jeewcds-ii-1.docx 2

3 Kapitel 7 Datenbanken Datenbank H2 Installation Es muss nichts installiert werden. Es ist lediglich die Datei h2.jar erforderlich. Der User ist standardmässig sa und hat kein Passwort. Starten javaw -cp h2.jar org.h2.tools.console -tcpallowothers Beenden Rechts-Klick auf das DB Icon im System Tray EXIT Datenbank MySQL Installieren Sie XAMPP. Die Datenbank heisst test, der User root, das Passwort ist leer. Datenbank Oracle oder Postgres Wenn Sie Oracle oder Postgres installiert haben, können Sie auch mit diesen Datenbanken arbeiten. Sie müssen für die Datenbanken, mit denen Sie arbeiten eine jar-datei in die lib-verzeichnisse stellen. h2.jar mysql.jar oracle.jar postgres.jar Lib-Verzeichnisse entweder SERVER wenn man DataSource verwenden will $CATALINA_HOME/lib $JBOSS_HOME/server/default/lib oder PROJECT project/web-inf/lib _jeewcds-ii-1.docx 3

4 DRIVER, URL, USER, PASSWORD Weiter unten wird immer wieder auf DRIVER, URL, USER und PASSWORD Bezug genommen. H2 o DRIVER = "org.h2.driver"; o URL = "jdbc:h2:tcp://localhost/~/test"; o USER = "SA"; o PASSWORD = ""; MySql o DRIVER = "com.mysql.jdbc.driver"; o URL = "jdbc:mysql://localhost:3306/test"; o USER = "root"; o PASSWORD = ""; Postgres o DRIVER = "org.postgresql.driver"; o URL = "jdbc:postgresql://localhost:5432/jees"; o USER = "jees"; o PASSWORD = "jees"; Oracle o DRIVER = "oracle.jdbc.driver.oracledriver"; o URL = o USER = "jees"; o PASSWORD = "jees"; _jeewcds-ii-1.docx 4

5 DB Connection über DriverManager.getConnection() Es benötigt lediglich die database.jar Files damit die DB-Treiber geladen werden können. In einem Java Programm oder eine JSP-Seite sind folgende 5 Schritte erforderlich: 1) Treiber registrieren und die Anwendung mit der Datenbank über den registrierten Treiber verbinden 2) SQL Anweisungsobjekt vorbereiten 3) SQL Anweisung ausführen 4) Resultat der SQL Anweisung verarbeiten 5) Verbindung mit Datenbank schliessen dbzugriff1.jsp page import="java.sql.drivermanager"%> page import="java.sql.connection"%> page import="java.sql.statement"%> page import="java.sql.resultset"%> page import="ch.wcds.tools.webtools"%> <h1>db Zugriff 1 - ohne DataSource</h1> <% String URL = "jdbc:h2:tcp://localhost/~/test"; String DRIVER = "org.h2.driver"; String USER = "sa"; String PASSWORD = ""; String DROP = "drop table test1"; String SELECT = "select * from test1"; String CREATE = "create table test1(id int primary key, wert int)"; try // 1 a) Treiber Registrieren Class.forName(DRIVER); // 1 b) Anwendung mit der Datenbank verbinden Connection conn = DriverManager.getConnection(URL, USER, PASSWORD); // 2) SQL Anweisungsobjekt vorbereiten Statement stm = conn.createstatement(); // 3) SQL Anweisungen ausfuehren try stm.execute(drop); catch (Exception e) stm.execute(create); for (int i = 1001; i <= 1015; i++) stm.execute("insert into test1 values(" + i + "," + i * i + ")"); _jeewcds-ii-1.docx 5

6 ResultSet rs = stm.executequery(select); // 4) Resultat der SQL Anweisung (SELECT) verarbeiten while (rs.next()) int id = rs.getint(1); int wert = rs.getint(2); out.println(wert + " " + id + "<br/>"); %> // 5) Verbindung mit Datenbank schliessen conn.close(); catch (Exception e) out.println("fehler AUFGETRETEN <br />" + e); _jeewcds-ii-1.docx 6

7 DbZugriff1Servlet.java package ch.wcds.servlets; import java.io.ioexception; import java.io.printwriter; import java.sql.connection; import java.sql.drivermanager; import java.sql.resultset; import java.sql.statement; import javax.servlet.servletexception; import javax.servlet.http.httpservletrequest; import javax.servlet.http.httpservletresponse; public class DbZugriff1Servlet extends AbstractServlet private final String DROP = "drop table test1"; private final String INSERT1 = "insert into test1 values(1,'hugo')"; private final String INSERT2 = "insert into test1 values(2,'max')"; private final String SELECT = "select * from test1"; private final String CREATE = "create table test1 (id int primary key, name varchar(100))"; private final String DRIVER = "org.h2.driver"; private final String URL = "jdbc:h2:tcp://localhost/~/test"; private final String USER = "sa"; private final String PASSWD = ""; protected void doget(httpservletrequest request,httpservletresponse response) throws ServletException,IOException response.setcontenttype("text/html"); PrintWriter out = response.getwriter(); out.println("<h1>dbzugriff1...</h1>"); try Class.forName(DRIVER); Connection connection = DriverManager.getConnection(URL,USER, PASSWD); Statement statement = connection.createstatement(); try statement.execute(drop); catch (Exception e) statement.execute(create); statement.execute(insert1); statement.execute(insert2); ResultSet resultset = statement.executequery(select); while (resultset.next()) out.println("<br />" + resultset.getstring("id") + " / " + resultset.getstring("name")); connection.close(); catch (Exception e) out.println("fehler AUFGETRETEN <br />" + e); out.close(); _jeewcds-ii-1.docx 7

8 DataSource Das gerade gezeigte Vorgehen auf DB s zuzugreifen ist für kleinere Objekte OK. In grösseren Projekten sollte man dem Web Container die Verantwortung für die Verbindung zur Datenbank überlassen. Dazu ist eine DataSource nötig. TOMCAT String JNDI_NAME="java:comp/env/jdbc/jeesH2"; InitialContext ctx = new InitialContext(); DataSource ds = (DataSource) ctx.lookup(jndi_name); Connection conn = ds.getconnection(); Im Verzeichnis META-INF des Projekts muss die Datei context.xml stehen. context.xml <Context> <Resource name="jdbc/jeesh2" auth="container" type="javax.sql.datasource" driverclassname="org.h2.driver" url="jdbc:h2:tcp://localhost/~/test" username="sa" password="" /> <Resource name="jdbc/jeesmysql" auth="container" type="javax.sql.datasource" driverclassname="com.mysql.jdbc.driver" url="jdbc:mysql://localhost:3306/test" username="root" password="" /> <Resource name="jdbc/jeespostgres" auth="container" type="javax.sql.datasource" driverclassname="org.postgres.driver" url="jdbc:postgresql://localhost:5432/jees" username="jees" password="jees" /> <Resource name="jdbc/jeesoracle" auth="container" type="javax.sql.datasource" driverclassname="oracle.jdbc.driver.oracledriver" username="jees" password="jees" /> </Context> _jeewcds-ii-1.docx 8

9 JBOSS Im Verzeichnis $JBOSS_HOME/server/default/deploy muss eine XML-Datei mit dem Namen ***-ds.xml stehen. jees-ds.xml <datasources> <local-tx-datasource> <jndi-name>jdbc/jeesh2</jndi-name> <connection-url>jdbc:h2:tcp://localhost/~/test</connection-url> <driver-class>org.h2.driver</driver-class> <user-name>sa</user-name> <password></password> </local-tx-datasource> <local-tx-datasource> <jndi-name>jdbc/jeesmysql</jndi-name> <connection-url>jdbc:mysql://localhost:3306/test</connection-url> <driver-class>com.mysql.jdbc.driver</driver-class> <user-name>root</user-name> <password></password> </local-tx-datasource> </datasources> In WEB-INF muss jboss-web.xml stehen. jboss-web.xml <?xml version="1.0" encoding="utf-8"?> <jboss-web> <resource-ref> <res-ref-name>jdbc/jeesh2</res-ref-name> <res-type>javax.sql.datasource</res-type> <jndi-name>java:jdbc/jeesh2</jndi-name> </resource-ref> <resource-ref> <res-ref-name>jdbc/jeesmysql</res-ref-name> <res-type>javax.sql.datasource</res-type> <jndi-name>java:jdbc/jeesmysql</jndi-name> </resource-ref> </jboss-web> Es würde auch ohne jboss-web.xml gehen. Dann wäre aber lookout("java:comp/env/jdbc/jeesoracle") auf lookout("java:jdbc/jeesoracle") abzuändern. _jeewcds-ii-1.docx 9

10 DB Connection über DataSource.getConnection() Es sind hier ebenso die 5 Schritte erforderlich. Der Schritt 1 ändert sich aber. dbzugriff2.jsp page import="java.sql.connection"%> page import="java.sql.resultset"%> page import="java.sql.statement"%> page import="javax.naming.initialcontext"%> page import="javax.servlet.jsp.jspwriter"%> page import="javax.sql.datasource"%> <h1>db Zugriff 2 - mit DataSource...</h1> <% String DROP = "drop table test1"; String SELECT = "select * from test1"; String CREATE = "create table test1(id int primary key, wert int)"; String JNDI_NAME = "java:comp/env/jdbc/jeesh2"; try InitialContext ctx = new InitialContext(); DataSource ds = (DataSource) ctx.lookup(jndi_name); Connection conn = ds.getconnection(); Statement stm = conn.createstatement(); try stm.execute(drop); catch (Exception e) stm.execute(create); for (int i = 2001; i <= 2015; i++) stm.execute("insert into test1 values(" + i + "," + i * i + ")"); ResultSet rs = stm.executequery(select); while (rs.next()) int id = rs.getint(1); int wert = rs.getint(2); out.println(wert + " " + id + "<br/>"); %> conn.close(); catch (Exception e) out.println("fehler AUFGETRETEN <br />" + e); _jeewcds-ii-1.docx 10

11 DbZugriff2Servlet.java package ch.wcds.servlets; import java.io.*; import java.sql.*; import javax.naming.initialcontext; import javax.servlet.servletexception; import javax.servlet.http.*; import javax.sql.datasource; public class DbZugriff2Servlet extends AbstractServlet private final String DROP = "drop table test1"; private final String CREATE = "create table test1 (id int primary key, name varchar(100))"; private final String INSERT1 = "insert into test1 values(1,'hugo')"; private final String INSERT2 = "insert into test1 values(2,'max')"; private final String SELECT = "select * from test1"; String JNDI_NAME = "java:comp/env/jdbc/jeesh2"; protected void doget(httpservletrequest request, HttpServletResponse response) throws ServletException, IOException response.setcontenttype("text/html"); PrintWriter out = response.getwriter(); out.println("<h1>dbzugriff2...</h1>"); try InitialContext ctx = new InitialContext(); DataSource ds = (DataSource) ctx.lookup(jndi_name); Connection connection = ds.getconnection(); Statement statement = connection.createstatement(); try statement.execute(drop); catch (Exception e) statement.execute(create); statement.execute(insert1); statement.execute(insert2); ResultSet resultset = statement.executequery(select); while (resultset.next()) out.println("<br />" + resultset.getstring("id") + " / " + resultset.getstring("name")); connection.close(); catch (Exception e) out.println("fehler AUFGETRETEN <br />" + e); out.close(); _jeewcds-ii-1.docx 11

12 JPA Java Persistence API Eine weitere Möglichkeit, Datenbank Zugriffe zu realisieren bietet JPA. JPA in Servlets und JSPs wird nur in Tomcat verwendet. Soll JPA auch in JBoss verwendet werden, nutzt man EJB s. Der JPA Provider soll EclipseLink sein. Wie für alle DB Zugriffe braucht es die JAR-Files mit den DB-Treibern. Zusätzlich benötigt es für Tomcat noch die beiden EclipseLink-JAR-Files elipselink.jar javax.persistence.jar die nach projekt/web-inf/lib kopiert werden müssen. Des Weiteren benötigt es ein persistence.xml File das im CLASSPATH gefunden werden muss (src/meta-inf/persistence.xml). src/meta-inf/persistence.xml <?xml version="1.0" encoding="utf-8"?> <!-- persistence.xml WCDS JPA 2.0 ECLIPSELINK JTA=RESOURCE_LOCAL --> <persistence version="2.0" xmlns=" xmlns:xsi=" xsi:schemalocation=" <!-- persistence-unit name= H2 MYSQL ORACLE POSTGRES --> <!-- eclipselink.ddl-generation= none create-tables drop-and-create-tables --> <!-- eclipselink.logging.level= OFF SEVERE WARNING INFO CONFIG FINE FINER FINEST ALL --> <!-- eclipselink.ddl-generation.output-mode= sql-script database both --> <persistence-unit name="h2" transaction-type="resource_local"> <provider>org.eclipse.persistence.jpa.persistenceprovider</provider> <exclude-unlisted-classes>false</exclude-unlisted-classes> <properties> <property name="javax.persistence.jdbc.driver" value="org.h2.driver" /> <property name="javax.persistence.jdbc.url" value="jdbc:h2:tcp://localhost/~/test"/> <property name="javax.persistence.jdbc.user" value="sa" /> <property name="javax.persistence.jdbc.password" value="" /> <property name="eclipselink.ddl-generation" value="drop-and-create-tables" /> <property name="eclipselink.logging.level" value="finer" /> <property name="eclipselink.ddl-generation.output-mode" value="both" /> </properties> </persistence-unit> </persistence> _jeewcds-ii-1.docx 12

13 public private int id; private String name; public Person() public Person(String name) this.name = name; // getter und public String tostring() return "Person [id=" + id + ", name=" + name + "]"; dbzugriff3.jsp page import="java.sql.*"%> page import="javax.naming.*"%> page import="javax.servlet.jsp.*"%> page import="javax.persistence.*"%> page import="ch.wcds.entities.*"%> <h1>db Zugriff 3 - mit JPA...</h1> <% EntityManagerFactory emf = Persistence.createEntityManagerFactory("H2"); EntityManager em = emf.createentitymanager(); Person p = new Person("fritz"); em.gettransaction().begin(); em.persist(p); em.gettransaction().commit(); em.close(); %> out.println(p); _jeewcds-ii-1.docx 13

14 DbZugriff3Servlet.java package ch.wcds.servlets; import java.io.*; import javax.persistence.*; import javax.servlet.*; import javax.servlet.http.*; import ch.wcds.entities.person; public class DbZugriff3Servlet extends HttpServlet protected void doget(httpservletrequest request, HttpServletResponse response) throws ServletException, IOException response.setcontenttype("text/html"); PrintWriter out = response.getwriter(); out.println("<h1>dbzugriff3...</h1>"); EntityManagerFactory emf = Persistence.createEntityManagerFactory("H2"); EntityManager em = emf.createentitymanager(); Person p = new Person("hugo"); em.gettransaction().begin(); em.persist(p); em.gettransaction().commit(); em.close(); out.println(p); out.close(); _jeewcds-ii-1.docx 14

15 Kapitel 8 Workshops Nutzen Sie Eclipse für Ihre Workshop Projekte new Project, Web, Dynamic Web Workshop 1 Adressverwaltung Die erste Aufgabe für unseren Workshop ist es, einen Adressbestand pflegen zu können. Die Adressdaten sollen in H2 oder MySql gespeichert werden. Fest verdrahtet im Programm aber leicht änderbar. Die Datenbank Connection soll über den DriverManager gemacht werden. Grund: dieses kleine Projekt soll in jedem WEB-Server deployed werden können und ohne Anpassungen laufen. Der Web Server hat keine Ahnung von den Datenbanken. Dazu ist es nötig, dass alle benötigten DB-jar-Files im lib-verzeichnis des Projekts vorhanden sind. Eingabe: Die Eingabemaske soll ein Formular beinhalten. Die Aktionen im Formular sollen in ein Servlet zur Erstellung einer JavaBean führen. addrverw.jsp ADRESSVERWALTUNG ID NAME ADDR CREATE DROP SELECT INSERT UPDATE DELETE Verarbeitung: AddrVerwServlet.java Das Servlet liest die Parameter aus der Eingabe, erstellt eine Bean in der die Parameter verarbeitet werden und ein Ergebnis erstellt wird, speichert diese Bean mit Scope REQUEST ab. Das Ergebnis wird in einer JSP ausgegeben. Ausgabe: addrverw.jsp Ausgabe des Ergebnisses aus der ErgebnisBean. Diese Bean könnte eventuell gleich wieder das Formular für eine erneute Aktion beinhalten. Da die Ausgabe meistens auch das Eingabeformular beinhaltet (Fehlerkorrektur muss möglich sein) wird die Eingabe und die Ausgabe im selben JSP gemacht. Zu erstellende Artefakte: 1. AddrVerw.jsp 2. AddrVerwServlet.java 3. AddrVerwBean.java 4. Address.java 5. AddressDAO.java _jeewcds-ii-1.docx 15

16 Workshop 2 Gästebuch Die zweite Aufgabe in unseren Workshop ist es, ein Gästebuch zu erstellen. Auch hier sollte darauf geachtet werden, dass als Datenbanken sowohl H2 als auch MySql dienen können. Der Zugriff auf die Datenbanken soll über DataSources und DAO s gemacht werden. Des Weiteren soll das Gästebuch sowohl in Tomcat als auch in JBOSS ausgeführt werden können. Dieses Projekt könnte auch mit JPA realisiert werden (optional). Tabellen: gbuser (name,passw, ); varchar(8) primary key varchar(8) varchar(40) gbentry (id int primary key,date timestamp,username varchar(8) references gbuser(name),stichwort varchar(20),text varchar(500) ); Use Cases: Login: Ein Benutzer kann sich einloggen: Als neuer User anmelden: Ist der Benutzer noch nicht registriert, kann er sich neu registrieren. Anzeigen Einträge des Gästebuches: Alle Einträge werden tabellarisch angezeigt. Die einzelnen Einträge können vom Verfasser geändert oder gelöscht werden. Erfassen eines neuen Eintrags im Gästebuch: Ein User kann einen neuen Eintrag erstellen Administration: Der Administrator (admin/admin) kann die Datenbank auswählen (H2/MySql/Oracle) und die Tabellen neu aufsetzten (drop/create). _jeewcds-ii-1.docx 16

17 Workflow welcome.jsp login.jsp ANMELDEN/NEW_USER => LoginServlet.java ANMELDEN,ID,PW ID und PW muessen in DB sein USER -> REQUEST GB Daten in DB_BEAN speichern DB_BEAN > REQUEST => anzeigen.jsp NEW_USER,ID,PW ID und PW duerfen nicht in DB sein USER wird erfasst (newuser.jsp) und in DB gespeichert => LoginServlet (ANMELDEN, ID, PW) HOME => welcome.jsp anzeigen.jsp welcome.jsp WCDS - Gaestebuch Dies ist eine Uebung im Zuge des Web Component Developer Seminars. Es freut mich, dass Sie mein Gaestebuch besuchen. Es ist jetzt... Mon Nov 13 09:00:00 CET 2006 Ihre Glueckszahl koennte sein Nachdem Sie sich eingeloggt haben, koennen Sie sich die Eintraege im Gaestebuch ansehen, neue Eintraege erfassen und eigene Eintraege loeschen oder aendern. Sollten Sie Ihre User Id oder Ihr Passwort vergessen haben, melden Sie sich einfach als neuer User an. Keine Sorge, Sie koennen das System nicht zumuellen. Ihre Eintraege werden sowieso nicht gelesen und immer wieder geloescht. Der Weg ist das Ziel. LOGIN ADMIN _jeewcds-ii-1.docx 17

18 login.jsp Login UserID Passwort joe london ANMELDEN NEW_USER HOME anzeigen.jsp Anzeigen Gaestebuch EINTRAG VERFASSEN User: joe die letzten Eintraege DELETE UPDATE SELECT HUGO WAS HERE DELETE UPDATE SELECT HUGO WAS HERE AGAIN DELETE UPDATE SELECT MORITZ WAS HERE DELETE UPDATE SELECT MORITZ WAS HERE AGAIN HOME insert.jsp update.jsp delete.jsp _jeewcds-ii-1.docx 18

19 Zu erstellende Artefakte: 1. welcome.jsp (login/admin) 2. admin.jsp (usedb/create/drop/home) 3. AdminServlet.java 4. AdminBean.java 5. login.jsp (anmelden/newuser/home) 6. LoginServlet.java 7. LoginBean.java 8. anzeigen.jsp (eintragverfassen/home) 9. eintragverfassen.jsp 10. EintragVerfassenServlet.java 11. EintragVerfassenBean.java 12. GaestebuchDAO.java 13. GbUser.java 14. GbEntry.java 15. Tools.java 16. DBTools.java 17. ServiceLocator.java _jeewcds-ii-1.docx 19

JDBC. Es kann z.b. eine ODBC-Treiberverbindung eingerichtet werden, damit das JAVA-Programm auf eine ACCESS-DB zugreifen kann.

JDBC. Es kann z.b. eine ODBC-Treiberverbindung eingerichtet werden, damit das JAVA-Programm auf eine ACCESS-DB zugreifen kann. JDBC in 5 Schritten JDBC (Java Database Connectivity) ist eine Sammlung von Klassen und Schnittstellen, mit deren Hilfe man Verbindungen zwischen Javaprogrammen und Datenbanken herstellen kann. 1 Einrichten

Mehr

6.9 Java Server Pages

6.9 Java Server Pages DocumentCollection dc = db.ftsearch(abfrage); Document d = dc.getfirstdocument(); while (d!= 0) { String Name = db.gettitle(); out.println(name + ""); d = dc.getnextdocument(); catch (NotesException

Mehr

Java Database Connectivity (JDBC) 14.07.2009 Walther Rathenau Gewerbeschule 1

Java Database Connectivity (JDBC) 14.07.2009 Walther Rathenau Gewerbeschule 1 Java Database Connectivity (JDBC) 14.07.2009 Walther Rathenau Gewerbeschule 1 Was ist JDBC? Hauptsächlich eine Sammlung von Java Klassen und Schnittstellen für eine einfache Verbindung von Java Programmen

Mehr

Praktikum Datenbanksysteme. Ho Ngoc Duc IFIS Universität zu Lübeck 28.05.2003

Praktikum Datenbanksysteme. Ho Ngoc Duc IFIS Universität zu Lübeck 28.05.2003 Praktikum Datenbanksysteme Ho Ngoc Duc IFIS Universität zu Lübeck 28.05.2003 Nullwerte und Primitive Typen Wenn parent==null, was wird in der Datenbank gespeichert? Wenn man aus der DB liest, wie kann

Mehr

seit Java 1.1 Bestandteil der API: packages java.sql, javax.sql

seit Java 1.1 Bestandteil der API: packages java.sql, javax.sql JDBC inoffizielle Abkürzung für: Java Database Connectivity seit Java 1.1 Bestandteil der API: packages java.sql, javax.sql ist eine Menge von Klassen und Methoden, um aus Java-Programmen relationale Datenbanken

Mehr

Schritt 4: Hallo Enterprise Bean

Schritt 4: Hallo Enterprise Bean Prof. Dr. Th. Letschert FB MNI JEE Schritt 4: Hallo Enterprise Bean Einstieg: EJBs erzeugen und nutzen Meine erstes EJB Projekt Enterprise Beans sind eine Backend Technologie, die mit unterschiedlichen

Mehr

Praktikum Datenbanksysteme. Ho Ngoc Duc IFIS - Universität zu Lübeck 01.06.2005

Praktikum Datenbanksysteme. Ho Ngoc Duc IFIS - Universität zu Lübeck 01.06.2005 Praktikum Datenbanksysteme Ho Ngoc Duc IFIS - Universität zu Lübeck 01.06.2005 Tomcat-Installation $JAVA_HOME (z.b. /home/dbp00/j2sdk1.4.2) $CATALINA_HOME (/home/dbp00/jakarta-tomcat-4) Skripte zum Start/Stop:

Mehr

Internet-Datenbanken. Grundlagen des WWW. Web-Anbindung von Datenbanken XML HTML HTTP. Servlets JSP JDBC

Internet-Datenbanken. Grundlagen des WWW. Web-Anbindung von Datenbanken XML HTML HTTP. Servlets JSP JDBC Internet-Datenbanken Grundlagen des WWW HTML HTTP Web-Anbindung von Datenbanken Servlets JSP JDBC XML Datenmodell Schemabeschreibungssprachen Anfragesprachen Literatur: Kapitel 18 aus... HTML-Grundlagen

Mehr

Datenbanksysteme 2 Fachbereich Angewandte Informatik WS 11/12 Dipl.-Inf. Christian Pape. 6. Übung

Datenbanksysteme 2 Fachbereich Angewandte Informatik WS 11/12 Dipl.-Inf. Christian Pape. 6. Übung Datenbanksysteme 2 Fachbereich Angewandte Informatik WS 11/12 Dipl.-Inf. Christian Pape 6. Übung Aufgabe 1: In dieser Übung sollen Sie eine kleine Java-Anwendung schreiben, die auf die Oracle-Datenbank

Mehr

Erstellung eines Frameworks für Shop Systeme im Internet auf Basis von Java

Erstellung eines Frameworks für Shop Systeme im Internet auf Basis von Java Erstellung eines Frameworks für Shop Systeme im Internet auf Basis von Java Präsentation zur Diplomarbeit von Übersicht Java 2 Enterprise Edition Java Servlets JavaServer Pages Enterprise JavaBeans Framework

Mehr

Benutzung eines Login Modules zur Authentifizierung unter JBoss 5.0

Benutzung eines Login Modules zur Authentifizierung unter JBoss 5.0 Benutzung eines Login Modules zur Authentifizierung unter JBoss 5.0 Erstellung der Datenbank Tabellen Als Login Module soll das in der JBoss Installation bereits vorhandene DatabaseServerLoginModule verwendet

Mehr

Java Application 1 Java Application 2. JDBC DriverManager. JDBC-ODBC Br idge. ODBC Driver Manager. Dr iver C. Dr iver D.

Java Application 1 Java Application 2. JDBC DriverManager. JDBC-ODBC Br idge. ODBC Driver Manager. Dr iver C. Dr iver D. 1 Copyright 1996-1997 by Axel T. Schreiner. All Rights Reserved. 7 Datenbankzugriff Prinzip Dieser Abschnitt beschäftigt sich mit dem Paket java.sql, das eine SQL-Schnittstelle für Java verkapselt. Java-Programme

Mehr

Java Server Pages (JSP)

Java Server Pages (JSP) Überblick über Internet-Technologien Server-Technologien Datenbankkopplung Servlets JSP PHP CGI XML+XSL Dokumentsprachen Client-PGM ruft DB-Server Web-Server ruft Datenbankserver HTML+Javascript HTML+Applets

Mehr

MySQL 101 Wie man einen MySQL-Server am besten absichert

MySQL 101 Wie man einen MySQL-Server am besten absichert MySQL 101 Wie man einen MySQL-Server am besten absichert Simon Bailey simon.bailey@uibk.ac.at Version 1.1 23. Februar 2003 Change History 21. Jänner 2003: Version 1.0 23. Februar 2002: Version 1.1 Diverse

Mehr

Probleme bei der Nutzung der Bean Validation in JPA

Probleme bei der Nutzung der Bean Validation in JPA Probleme bei der Nutzung der Bean Validation in JPA Die aktuelle Netbeans-Installation 6.9.1 bietet als JPA-Realisierung EclipseLink in der Version 2.0.2, die in der Zusammenarbeit mit der Referenzimplementierung

Mehr

Oracle & Java HOW TO

Oracle & Java HOW TO Oracle & Java HOW TO Helge Janicke, Niels-Peter de Witt, Karsten Wolke 21. Januar 2002 Inhaltsverzeichnis 1 Java-Anbindung an Oracle-DB 2 2 Benötigte Programme und Daten 2 3 Einbinden der Klassen 2 4 Aufbau

Mehr

Java und Datenbanksysteme Datenbankanbindung mit JDBC

Java und Datenbanksysteme Datenbankanbindung mit JDBC Java und Datenbanksysteme Datenbankanbindung mit JDBC 30.05.2001 Stefan Niederhauser sn@atelier-w.ch 1-Einführung Datenbanksysteme Java und Datenbanken: JDBC Geschichte der JDBC-Versionen Vergleich von

Mehr

Kapitel 10. JDBC und SQLJ. Prof. Dr. Wolfgang Weber Vorlesung Datenbanken 1

Kapitel 10. JDBC und SQLJ. Prof. Dr. Wolfgang Weber Vorlesung Datenbanken 1 Kapitel 10 JDBC und SQLJ 1 JDBC und SQLJ Bisher: Einbettung von SQL (statisch bzw. dynamisch) in C, C++, COBOL, ADA (embedded SQL) bzw. prozedurale Erweiterungen für SQL in Oracle (PL/SQL) Was ist mit

Mehr

i n g e n i e u r b ü r o f ü r s o f t w a r e t e c h n o l o g i e w w w. v o e l t e r. d e Servlet Debugging

i n g e n i e u r b ü r o f ü r s o f t w a r e t e c h n o l o g i e w w w. v o e l t e r. d e Servlet Debugging Servlet Debugging Markus Völter, voelter@acm.org, www.voelter.de Bei der Arbeit mit Servlets kommt man recht schnell an den Punkt, an dem man Servlets vernünftig testen oder debuggen will. Mit Hilfe des

Mehr

Benutzung eines Login Modules zur Authentifizierung unter JBoss 4.0.5

Benutzung eines Login Modules zur Authentifizierung unter JBoss 4.0.5 Benutzung eines Login Modules zur Authentifizierung unter JBoss 4.0.5 Erstellung der Datenbank Tabellen Als Login Module soll das in der JBoss Installation bereits vorhandene DatabaseServerLoginModule

Mehr

JDBC. Java DataBase Connectivity

JDBC. Java DataBase Connectivity JDBC Java DataBase Connectivity JDBC-Schichten JDBC besteht aus 2 Teilen, 1. aus Datenbanktreibern, die den Anschluß von Java-Anwendungen an Datenbanksysteme wie Sybase, DB/2, Oracle, MS ACCESS oder Mini

Mehr

4. Servlets Ein kleiner Einstieg

4. Servlets Ein kleiner Einstieg 4. Servlets Ein kleiner Einstieg Erinnerung: HTTP und HTML Idee von Web Servern und Containern Erstellung einfacher Servlets (zunächst software technisch übelst unstrukturiert) Literatur: B. Basham, K.

Mehr

Web- Applikationen. in Java-Web

Web- Applikationen. in Java-Web Einführung in Java-Web Web- Applikationen Frank Huber Humboldt-Universität zu Berlin Allgemeines Java: Programmierung ist Programmierung nach Konvention Insbesondere bei Web-Applikationen wurde eine API

Mehr

Acrolinx IQ. Verbindung mit einer externen Terminologiedatenbank herstellen 2.7

Acrolinx IQ. Verbindung mit einer externen Terminologiedatenbank herstellen 2.7 Acrolinx IQ Verbindung mit einer externen Terminologiedatenbank herstellen 2.7 2 Inhalt Einleitung 3 Über diesen Leitfaden...3 Verbinden mit externen Terminologiedatenbanken 4 Erstellen von Sicherungen

Mehr

Beispiel: DB-Mock (1/7)

Beispiel: DB-Mock (1/7) Beispiel: DB-Mock (1/7) Aufgabe: DB, auf die vereinfachend nur lesend zugeriffen wird mocken warum: benötigte keine DB-Lizenz, garantiert gleiche Werte ohne aufwändiges reset, kein Zeitverlust durch Verbindungsaufbau

Mehr

Benutzung eines Login Modules zur Authentifizierung unter JBoss 4.2.x

Benutzung eines Login Modules zur Authentifizierung unter JBoss 4.2.x Benutzung eines Login Modules zur Authentifizierung unter JBoss 4.2.x Erstellung der Datenbank Tabellen Als Login Module soll das in der JBoss Installation bereits vorhandene DatabaseServerLoginModule

Mehr

Workshop Java Webentwicklung Einführung in Hibernate. Ulrich Stärk

Workshop Java Webentwicklung Einführung in Hibernate. Ulrich Stärk Workshop Java Webentwicklung Einführung in Hibernate Ulrich Stärk Ablauf Montag bis Donnerstag 09:00 Uhr s.t. Beginn, bis ca. 17:00 Uhr 1 Stunde Mittagspause Donnerstag Experiment Aufzeichnung der Programmiertätigkeit

Mehr

Anwendung eines Enterprise Java Beans

Anwendung eines Enterprise Java Beans Anwendung eines Enterprise Java Beans EJB Server EJB Container Remote Interface Home Interface EJB Object Der EJB Container kümmert sich um die Kommunikation des Beans mit anderen Komponenten, wobei er

Mehr

Datenbanksysteme SS 2007

Datenbanksysteme SS 2007 Datenbanksysteme SS 2007 Frank Köster (Oliver Vornberger) Institut für Informatik Universität Osnabrück Kapitel 9b: Datenbankapplikationen Statische Web-Seiten Nutzung von HTML Beispiel:

Mehr

DB-Programmierung. Lehr- und Forschungseinheit Datenbanken und Informationssysteme 1. Ziele. DB2 Zugriff mit Java selbst programmieren

DB-Programmierung. Lehr- und Forschungseinheit Datenbanken und Informationssysteme 1. Ziele. DB2 Zugriff mit Java selbst programmieren DB-Programmierung Lehr- und Forschungseinheit Datenbanken und Informationssysteme 1 Ziele static SQL verstehen Build-Prozess / Art des Datenzugriffs Host-Variablen Vor- / Nachteile dynamic SQL verstehen

Mehr

JSF (JavaServer Faces) Erstellen einer Webseite

JSF (JavaServer Faces) Erstellen einer Webseite Universität Bayreuth Lehrstuhl für Angewandte Informatik IV Datenbanken und Informationssysteme Prof. Dr.-Ing. Jablonski JSF (JavaServer Faces) Erstellen einer Webseite Dipl. Inf. Manuel Götz Dipl. Inf.

Mehr

Application Server und Continuous Integration

Application Server und Continuous Integration Application Server und Continuous Integration Outline 2 Einleitung Application Server Java EE Enterprise Applikationen vs. Web Applikationen Web Application Life Cycle Servlets JavaServer Pages verschiedene

Mehr

Hilfe meine Oracle Datenbank spricht nicht mit meiner JSP

Hilfe meine Oracle Datenbank spricht nicht mit meiner JSP Hilfe meine Oracle Datenbank spricht nicht mit meiner JSP Diese Dokumentation, soll die grundlegenden Schritte vermitteln wie man mithilfe einer JSP Seite auf eine Oracle Datenbank zugreift und Daten abfragt

Mehr

Softwareentwicklung mit Enterprise JAVA Beans

Softwareentwicklung mit Enterprise JAVA Beans Softwareentwicklung mit Enterprise JAVA Beans JPA - JAVA Persistence API Problem In JAVA-programmen arbeitet man mit Hauptspeicherobjekten. Nach Beendigung des Programmes sind diese nicht mehr vorhanden.

Mehr

Datenbanken & Informationssysteme Übungen Teil 1

Datenbanken & Informationssysteme Übungen Teil 1 Programmierung von Datenbankzugriffen 1. Daten lesen mit JDBC Schreiben Sie eine Java-Anwendung, die die Tabelle Books in der Datenbank azamon ausgibt. Verwenden Sie dabei die SQL-Anweisung select * from

Mehr

Acrolinx IQ. Verbindungen mit externen Terminologiedatenbanken 2.9

Acrolinx IQ. Verbindungen mit externen Terminologiedatenbanken 2.9 Acrolinx IQ Verbindungen mit externen Terminologiedatenbanken 2.9 2 Inhalt Einleitung 3 Über diesen Leitfaden...3 Verbinden mit externen Terminologiedatenbanken 4 Erstellen von Sicherungen vorhandener

Mehr

Praktikum Datenbanken und verteilte Systeme SS Java Server Pages und Servlets -

Praktikum Datenbanken und verteilte Systeme SS Java Server Pages und Servlets - Praktikum Datenbanken und verteilte Systeme SS 2008 - Java Server Pages und Servlets - Verteilte Systeme und Informationssysteme (VSIS) Department Informatik Universität Hamburg Infrastruktur vsispoolx

Mehr

PostgreSQL auf Debian System

PostgreSQL auf Debian System PostgreSQL auf Debian System Inhaltsverzeichnis 1. Installation 1.1 Installation 1.2 Mit postgres anmelden 2. Benutzer anlegen 3. Datenbank anlegen 3.1 Optionen 3.2 Datenbank mydatabase anlegen 4. Datenbank

Mehr

Grundlagen von Datenbanken SS 2010 Kapitel 8: Datenbank-Einbettung in Programmiersprachen Prof. Dr. Stefan Böttcher Universität Paderborn

Grundlagen von Datenbanken SS 2010 Kapitel 8: Datenbank-Einbettung in Programmiersprachen Prof. Dr. Stefan Böttcher Universität Paderborn Grundlagen von Datenbanken SS 2010 Kapitel 8: Datenbank-Einbettung in Programmiersprachen Prof. Dr. Stefan Böttcher Universität Paderborn Grundlagen von Datenbanken - SS 2010 - Prof. Dr. Stefan Böttcher

Mehr

6 Web Datenbanken. Web Datenbank Anbindungen: Servlets. Applets. JAVA Server Pages. Sprachen: JAVA, PHP, Python,

6 Web Datenbanken. Web Datenbank Anbindungen: Servlets. Applets. JAVA Server Pages. Sprachen: JAVA, PHP, Python, Vorlesung Datenbanken Wintersemester 2007/08 6 Web Datenbanken Web Datenbank Anbindungen: Servlets Applets JAVA Server Pages Sprachen: JAVA, PHP, Python, Prof. Dr. Dietmar Seipel 481 6.1 Web Datenbank

Mehr

Datenbank - Teil 3. Ziele: Eine Datenbank anlegen mit SQL. Daten eingeben mit SQL. Abfragen stellen mit SQL und PHP.

Datenbank - Teil 3. Ziele: Eine Datenbank anlegen mit SQL. Daten eingeben mit SQL. Abfragen stellen mit SQL und PHP. Ziele: Eine Datenbank anlegen mit SQL Daten eingeben mit SQL Abfragen stellen mit SQL und PHP 1 Datenbankserver Entwickelt von der schwedischen Aktiengesellschaft MySQL Unter GNU General Public License

Mehr

Eclipse Tomcat 5.0 und Struts auf der Win32- Plattform integrieren

Eclipse Tomcat 5.0 und Struts auf der Win32- Plattform integrieren Eclipse 2.1.2 Tomcat 5.0 und Struts auf der Win32- Plattform integrieren Die Open Source Entwicklungsumgebung Eclipse kann durch Installation von Plugins für viele Anwendungsbereiche erweitert werden.

Mehr

JSP, Tomcat, JDBC. Agenda. Übung Informationsintegration 3.5.2004. JSP & Tomcat JDBC. l Syntax. l Implizite Objekte. l Direktiven

JSP, Tomcat, JDBC. Agenda. Übung Informationsintegration 3.5.2004. JSP & Tomcat JDBC. l Syntax. l Implizite Objekte. l Direktiven JSP, Tomcat, JDBC Übung Informationsintegration 03.05.2004 Agenda JSP & Tomcat Syntax Impizite Objekte Direktiven JDBC 2 Java Server Pages - JSP Was ist eine JSP? Bietet die Mögichkeit, dynamischen Inhat

Mehr

Typo 3 installieren. Schritt 1: Download von Typo3

Typo 3 installieren. Schritt 1: Download von Typo3 Typo 3 installieren Bevor Sie Typo3 installieren, müssen Sie folgende Informationen beachten: Typo3 benötigt eine leere Datenbank. Mit Ihrem Abonnement verfügen Sie über eine einzige Datenbank. Sie können

Mehr

JSF Erstellen einer einfachen Bankanwendung mit Kontoübersicht und Überweisung

JSF Erstellen einer einfachen Bankanwendung mit Kontoübersicht und Überweisung Universität Bayreuth Lehrstuhl für Angewandte Informatik IV Datenbanken und Informationssysteme Prof. Dr.-Ing. Jablonski JSF Erstellen einer einfachen Bankanwendung mit Kontoübersicht und Überweisung Dipl.

Mehr

Datenbanksysteme 2015

Datenbanksysteme 2015 Datenbanksysteme 2015 noch Kapitel 09: Datenbankapplikationen Oliver Vornberger Institut für Informatik Universität Osnabrück Datenbankapplikationen MS Visio MS Access Embedded SQL im C-Programm JDBC /

Mehr

Übungsaufgabe Transaktion als Middleware

Übungsaufgabe Transaktion als Middleware Übungsaufgabe Transaktion als Middleware und Java Persistence API Client/Server Abstraktes Komponentenmodell Entscheidende Punkte Erweiterung der Invoke-Methode Context-Verwaltung Transaktionsbehandlung

Mehr

Dokumentation für das Web-basierte Abkürzungsverzeichnis (Oracle mod_plsql / Apache)

Dokumentation für das Web-basierte Abkürzungsverzeichnis (Oracle mod_plsql / Apache) Dokumentation für das Web-basierte Abkürzungsverzeichnis (Oracle mod_plsql / Apache) vom 8. August 2005 Seite 1 / 7 1.System-Voraussetzungen Um dieses System zu verwenden, muß Oracles HTTP-Server mit dem

Mehr

Oracle: Abstrakte Datentypen:

Oracle: Abstrakte Datentypen: Oracle: Abstrakte Datentypen: Oracle bietet zwei mögliche Arten um abstrakte Datentypen zu implementieren: Varying Array Nested Table Varying Array (kunde) kdnr kdname gekaufteart 1 Mustermann 1 4 5 8

Mehr

Datenbanksysteme 2009

Datenbanksysteme 2009 Datenbanksysteme 2009 Vorlesung vom 15.06.09 noch Kapitel 9: Datenbankapplikationen Oliver Vornberger Institut für Informatik Universität Osnabrück Datenbankapplikationen MS Visio MS Access Embedded SQL

Mehr

Servlet-zentrierte Architektur von Web-Anwendungen mit Java Servlets, Java Server Pages (JSPs) und Java Beans

Servlet-zentrierte Architektur von Web-Anwendungen mit Java Servlets, Java Server Pages (JSPs) und Java Beans Projekt Entwicklung verteilter Softwaresysteme mit Web Services SoSe 2008 - Java Server Pages und Servlets - 7. April 2008 Verteilte Systeme und Informationssysteme (VSIS) Department Informatik Universität

Mehr

Schritt 5: Session Beans

Schritt 5: Session Beans Prof. Dr. Th. Letschert FB MNI JEE Schritt 5: Session Beans Session Beans Übersicht Session Beans dienen dazu serverseitige Geschäftsprozesse zu realisieren. Es gibt sie drei Zustands Varianten: Stateless

Mehr

UNIVERSITÄT ULM Fakultät für Ingenieurswissenschaften und Informatik Institut für Datenbanken und Informationssysteme

UNIVERSITÄT ULM Fakultät für Ingenieurswissenschaften und Informatik Institut für Datenbanken und Informationssysteme UNIVERSITÄT ULM Fakultät für Ingenieurswissenschaften und Informatik Institut für Datenbanken und Informationssysteme 8. Übung zur Vorlesung Datenbanksysteme WS 08/09 Musterlösung Aufgabe 8-1: SQLJ //

Mehr

JDBC. Allgemeines ODBC. java.sql. Beispiele

JDBC. Allgemeines ODBC. java.sql. Beispiele JDBC Java Data Base Connectivity Programmierschnittstelle für relationale Datenbanken Sammlung von Klassen, welche zum Aufbau einer Verbindung zwischen einem Java-Programm und einer Datenbank dienen Verwendet

Mehr

Inhalt: Konfiguration: web.xml ; server.xml Workflow: Weiterleitung von Requests Lektion II-IV Lektion V-VI

Inhalt: Konfiguration: web.xml ; server.xml Workflow: Weiterleitung von Requests Lektion II-IV Lektion V-VI Servlet II Inhalt: Konfiguration: web.xml ; server.xml Workflow: Weiterleitung von Requests Lektion II-IV Lektion V-VI 3-1 1. Grundlagen 2. Servlets 3. JSP 4 1.1. JAR Files 4 1.2. TCP/IP, Sockels 4 1.3.

Mehr

Connection Pooling. Was ist das?? Unter Connection Pooling versteht man generell die Wiederverwendung physischer Datenbankverbindungen.

Connection Pooling. Was ist das?? Unter Connection Pooling versteht man generell die Wiederverwendung physischer Datenbankverbindungen. Connection Pooling Was ist das?? Unter Connection Pooling versteht man generell die Wiederverwendung physischer Datenbankverbindungen. Wo wird es eingesetzt?? Connection Pooling wird vor allem in Verbindung

Mehr

Programmierung von Client/Server- Anwendungen

Programmierung von Client/Server- Anwendungen Programmierung von Client/Server- Anwendungen Komponenten des Web-Containers (Java EE) SoSe2015 Prof. Dr. Andreas Schmietendorf 1 Übersicht zur Vorlesung Entwicklung der Java Enterprise Edition Servlets,

Mehr

Java zur Realisierung von Internetanwendungen

Java zur Realisierung von Internetanwendungen Java zur Realisierung von Internetanwendungen MVC, JSP, Custom und Core Tags Darstellungsschicht Anwendungsschicht Datenschicht Architektur Browser Applikationsserver mit Servlet-Container DB-Server Web2-2

Mehr

Datenbanken für Online Untersuchungen

Datenbanken für Online Untersuchungen Datenbanken für Online Untersuchungen Im vorliegenden Text wird die Verwendung einer MySQL Datenbank für Online Untersuchungen beschrieben. Es wird davon ausgegangen, dass die Untersuchung aus mehreren

Mehr

Java Persistence API 2.x. crud + relationships + jp-ql

Java Persistence API 2.x. crud + relationships + jp-ql Java Persistence API 2.x crud + relationships + jp-ql Grundprinzip 10.02.10 2 Problematik Man muss bei der Persistierung immer das Klassenmodell und dessen Umsetzung im Datenmodell (in der DB) berücksichtigen.

Mehr

Datenbank und Informationssysteme

Datenbank und Informationssysteme Datenbank und Informationssysteme Inhaltsverzeichnis 1 Programmierung von Datenbankzugriffen 3 1.1 Architektur des SQL/CLI am Beispiel JDBC................... 4 1.2 Anfragen und Ergebnismengen in JDBC......................

Mehr

Es wird das Struts <html:option> Element erläutert und anhand von kleinen Beispielen der Umgang veranschaulicht.

Es wird das Struts <html:option> Element erläutert und anhand von kleinen Beispielen der Umgang veranschaulicht. Struts Code Peaces Element Es wird das Struts Element erläutert und anhand von kleinen Beispielen der Umgang veranschaulicht. Allgemeines Autor: Sascha Wolski Sebastian Hennebrüder

Mehr

Einführung in JDBC. IFIS Universität zu Lübeck 18.04.2007

Einführung in JDBC. IFIS Universität zu Lübeck 18.04.2007 Einführung in JDBC IFIS Universität zu Lübeck 18.04.2007 1 Was ist JDBC Standard für relationale DB: SQL Vor JDBC: Open Database Connectivity (ODBC), uniforme Schnittstelle für Zugriff JDBC: Programmierschnittstelle

Mehr

Willkommen. Datenbanken und Anbindung

Willkommen. Datenbanken und Anbindung Willkommen Datenbanken und Anbindung Welche stehen zur Wahl? MySQL Sehr weit verbreitetes DBS (YT, FB, Twitter) Open-Source und Enterprise-Version Libs in C/C++ und Java verfügbar Grundsätzlich ist ein

Mehr

Persistenz von Objekten relationale Datenbank Eigene Datenstruktur XML (JAXB) Proprietäre Dateiformate (Lochkarten)

Persistenz von Objekten relationale Datenbank Eigene Datenstruktur XML (JAXB) Proprietäre Dateiformate (Lochkarten) Persistenz von Objekten relationale Datenbank Eigene Datenstruktur XML (JAXB) Proprietäre Dateiformate (Lochkarten) O/R Mapping - Objekte (Attribute) - 1:1, 1:n, n:m Beziehungen - Vererbungen (- Interfaces)

Mehr

EJB Beispiel. JEE Vorlesung 10. Ralf Gitzel ralf_gitzel@hotmail.de

EJB Beispiel. JEE Vorlesung 10. Ralf Gitzel ralf_gitzel@hotmail.de EJB Beispiel JEE Vorlesung 10 Ralf Gitzel ralf_gitzel@hotmail.de 1 Stundenkonzept Gemeinsame Übung Stoff der letzten Stunde wird gemeinsam in einem Beispiel umgesetzt Details werden nochmals erklärt bzw.

Mehr

Betreutes Programmieren Vorlesung Informatik II, Blatt 7 Musterlösung

Betreutes Programmieren Vorlesung Informatik II, Blatt 7 Musterlösung SS 2011 Fakultät für Angewandte Informatik Lehrprofessur für Informatik 15.06.2011 Prof. Dr. Robert Lorenz Betreutes Programmieren Vorlesung Informatik II, Blatt 7 Musterlösung Programmieraufwand für geübte

Mehr

Verteidigung gegen SQL Injection Attacks

Verteidigung gegen SQL Injection Attacks Verteidigung gegen SQL Injection Attacks Semesterarbeit SS 2003 Daniel Lutz danlutz@watz.ch 1 Inhalt Motivation Demo-Applikation Beispiele von Attacken Massnahmen zur Verteidigung Schlussfolgerungen 2

Mehr

Tag 5 Inhaltsverzeichnis

Tag 5 Inhaltsverzeichnis Tag 5 Inhaltsverzeichnis ODBC / JDBC: Ziel und Prinzip JDBC Überblick Erstes Beispiel Queries (Execute- und UpdateQuery) Der Typ "ResultSet" Diverses Metadata PreparedStatement Transaktionen und Batches

Mehr

Installationsanleitung für die netzbasierte Variante Bis Version 3.5. KnoWau, Allgemeine Bedienhinweise Seite 1

Installationsanleitung für die netzbasierte Variante Bis Version 3.5. KnoWau, Allgemeine Bedienhinweise Seite 1 1 Installationsanleitung für die netzbasierte Variante Bis Version 3.5 Copyright KnoWau Software 2013 KnoWau, Allgemeine Bedienhinweise Seite 1 2 Seite absichtlich leer KnoWau, Allgemeine Bedienhinweise

Mehr

Grundlagen der Informatik 2

Grundlagen der Informatik 2 Grundlagen der Informatik 2 Dipl.-Inf., Dipl.-Ing. (FH) Michael Wilhelm Hochschule Harz FB Automatisierung und Informatik mwilhelm@hs-harz.de Raum 2.202 Tel. 03943 / 659 338 1 Gliederung 1. Einführung

Mehr

Datenbanken SQL Einführung Datenbank in MySQL einrichten mit PhpMyAdmin

Datenbanken SQL Einführung Datenbank in MySQL einrichten mit PhpMyAdmin Datenbanken SQL Einführung Datenbank in MySQL einrichten mit PhpMyAdmin PhpMyAdmin = grafsches Tool zur Verwaltung von MySQL-Datenbanken Datenbanken erzeugen und löschen Tabellen und Spalten einfügen,

Mehr

Client/Server-Programmierung WS2007/08. EJB/JSP: Schritt-für-Schritt Anleitung

Client/Server-Programmierung WS2007/08. EJB/JSP: Schritt-für-Schritt Anleitung Client/Server-Programmierung WS2007/08 EJB/JSP: Schritt-für-Schritt Anleitung Version 1.1, 26.09.07 Eingesetzte Software: - Apache Tomcat 5.5.9 bzw. 5.5.12 (http://tomcat.apache.org/download-55.cgi#5.5.12)

Mehr

4. Servlets Ein kleiner Einstieg. Kurze Java Historie. Erinnerung: Internet Anwendungen. Konzept eines Seitenaufrufs

4. Servlets Ein kleiner Einstieg. Kurze Java Historie. Erinnerung: Internet Anwendungen. Konzept eines Seitenaufrufs 4. s Ein kleiner Einstieg Erinnerung: HTTP und HTML Idee von Web n und Containern Erstellung einfacher s (zunächst software technisch übelst unstrukturiert) Literatur: B. Basham, K. Sierra, B. Bates, Head

Mehr

Gregor Raschke 2008 HIBERNATE. Eine Einführung

Gregor Raschke 2008 HIBERNATE. Eine Einführung 1 HIBERNATE Eine Einführung Inhalt 2 Einleitung Beispielkonfiguration Die hibernate.cfg.xml Eine Beispieltransaktion Abfragemöglichkeiten JPA und Hibernate Ressourcen und Quellen Einleitung (1) - Geschichtliches

Mehr

Wie kommen die Befehle zum DBMS

Wie kommen die Befehle zum DBMS Wie kommen die Befehle zum DBMS Dr. Karsten Tolle Datenbanken und Informationssysteme Wie kommen die Befehle zum DBMS Bisher gesehen: SQL direkt zum DBMS Workbench Kommandozeile IBM Query Tool Weitere?

Mehr

Sitzungszustand. Vorläufige Version 309 c 2005 Peter Thiemann

Sitzungszustand. Vorläufige Version 309 c 2005 Peter Thiemann Sitzungszustand Gruppierung von Anfragen zu Sitzungen (Sessions) Klasse HttpServletRequest Methode HttpSession getsession (bool create) liefert aktuelle Sitzungsobjekt Zustand lokal zur Anwendung (ServletContext)

Mehr

Migration NVC 5.x auf NEM/NPro (Migration eines bestehenden, produktiven NVC Verteilservers auf NEM/NPro)

Migration NVC 5.x auf NEM/NPro (Migration eines bestehenden, produktiven NVC Verteilservers auf NEM/NPro) Migration NVC 5.x auf NEM/NPro (Migration eines bestehenden, produktiven NVC Verteilservers auf NEM/NPro) 1. Vorbereitung/Hinweise Norman Endpoint Manager und Norman Endpoint Protection (NEM/NPro) kann

Mehr

Remote- und Server-Programmierung. Dr. Wolfgang Süß Thorsten Schlachter

Remote- und Server-Programmierung. Dr. Wolfgang Süß Thorsten Schlachter Remote- und Server-Programmierung Dr. Wolfgang Süß Thorsten Schlachter Remote Method Invocation (RMI) Servlets WebServices 2 Remote Method Invocation (RMI) Das Remote Method Invocation (RMI)-Framework

Mehr

Programmieren II. Remote-Programmierung. www.kit.edu. Institut für Angewandte Informatik

Programmieren II. Remote-Programmierung. www.kit.edu. Institut für Angewandte Informatik Programmieren II Remote-Programmierung KIT Universität des Landes Baden-Württemberg und nationales Großforschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu Remote-Programmierung Remote Method Invocation

Mehr

Application Frameworks

Application Frameworks Seminar Software Engineering 1 Grundlagen Agenda Spring Framework Dependency Injection Aspektorientierte Programmierung Datenbankanbindung Modell View Controller Sicherheit Spring vs. Java EE Zusammenfassung

Mehr

Fachhochschule Kaiserslautern Labor Datenbanken mit MySQL SS2006 Versuch 1

Fachhochschule Kaiserslautern Labor Datenbanken mit MySQL SS2006 Versuch 1 Fachhochschule Kaiserslautern Fachbereiche Elektrotechnik/Informationstechnik und Maschinenbau Labor Datenbanken Versuch 1 : Die Grundlagen von MySQL ------------------------------------------------------------------------------------------------------------

Mehr

Projektbericht Gruppe 12. Datenbanksysteme WS 05/ 06. Gruppe 12. Martin Tintel Tatjana Triebl. Seite 1 von 11

Projektbericht Gruppe 12. Datenbanksysteme WS 05/ 06. Gruppe 12. Martin Tintel Tatjana Triebl. Seite 1 von 11 Datenbanksysteme WS 05/ 06 Gruppe 12 Martin Tintel Tatjana Triebl Seite 1 von 11 Inhaltsverzeichnis Inhaltsverzeichnis... 2 1. Einleitung... 3 2. Datenbanken... 4 2.1. Oracle... 4 2.2. MySQL... 5 2.3 MS

Mehr

Projekt Weblog :: Integration

Projekt Weblog :: Integration Projekt Weblog :: Integration Die Implementation des Formhandling Frameworks wird nun im Projekt Weblog integriert. Dafür stehen 2 Möglichkeiten zur Auswahl. Sie haben Ihre eigene Implementation der Actions,

Mehr

Anwendungsentwicklung für relationale Datenbanken setzt voraus, dass prozedurale Abläufe programmiert werden können!

Anwendungsentwicklung für relationale Datenbanken setzt voraus, dass prozedurale Abläufe programmiert werden können! Datenbanken: Standard CLI und JDBC Anwendungsentwicklung für relationale Datenbanken setzt voraus, dass prozedurale Abläufe programmiert werden können! (Endanwendern ist nicht zuzumuten, SQL zu lernen

Mehr

Universität Augsburg, Institut für Informatik SS 2008 Prof. Dr. W. Kießling 15. Mai. 2008 Dr. A. Huhn, M. Endres, T. Preisinger Übungsblatt 5 & 6

Universität Augsburg, Institut für Informatik SS 2008 Prof. Dr. W. Kießling 15. Mai. 2008 Dr. A. Huhn, M. Endres, T. Preisinger Übungsblatt 5 & 6 Universität Augsburg, Institut für Informatik SS 2008 Prof. Dr. W. Kießling 15. Mai. 2008 Dr. A. Huhn, M. Endres, T. Preisinger Übungsblatt 5 & 6 Suchmaschinen Hinweis: Durch einen Bug in der empfohlenen

Mehr

Kapitel 14. Objekt-relationales Mapping (ORM) mit Hibernate bzw. Java Persistance API (JPA) Prof. Dr. Wolfgang Weber Vorlesung Datenbanken

Kapitel 14. Objekt-relationales Mapping (ORM) mit Hibernate bzw. Java Persistance API (JPA) Prof. Dr. Wolfgang Weber Vorlesung Datenbanken Kapitel 14 Objekt-relationales Mapping (ORM) mit Hibernate bzw. Java Persistance API (JPA) 1 Wozu Objekt-relationales Mapping? - Problematik - Business-Schicht OO-Klassen Unvereinbarkeit der Paradigmen

Mehr

Benutzung von Eclipse zur Entwicklung von Java EE 5 Anwendungen mit dem JBoss Application Server

Benutzung von Eclipse zur Entwicklung von Java EE 5 Anwendungen mit dem JBoss Application Server Benutzung von Eclipse zur Entwicklung von Java EE 5 Anwendungen mit dem JBoss Application Server Starten und Auswahl des Workspaces Starten Sie Eclipse als die Entwicklungsumgebung. Wählen Sie als Workspace

Mehr

Drei-Schichten-Architektur. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 16: 3-Schichten-Architektur 1 Fachkonzept - GUI

Drei-Schichten-Architektur. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 16: 3-Schichten-Architektur 1 Fachkonzept - GUI Universität Osnabrück Drei-Schichten-Architektur 3 - Objektorientierte Programmierung in Java Vorlesung 6: 3-Schichten-Architektur Fachkonzept - GUI SS 2005 Prof. Dr. F.M. Thiesing, FH Dortmund Ein großer

Mehr

Java - Webapplikationen

Java - Webapplikationen Java - Webapplikationen Bestandteile (HTTP,, JSP) Aufbau (Model View Controller) Datenverwaltung (Java Beans, Sessions) Entwicklung (Projektstruktur, Sysdeoplugin für Eclipse) 17. Januar 2006 Jan Hatje

Mehr

PostgreSQL unter Debian Linux

PostgreSQL unter Debian Linux Einführung für PostgreSQL 7.4 unter Debian Linux (Stand 30.04.2008) von Moczon T. und Schönfeld A. Inhalt 1. Installation... 2 2. Anmelden als Benutzer postgres... 2 2.1 Anlegen eines neuen Benutzers...

Mehr

Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim www.oio.de info@oio.de Version: 2014 Orientation 1.0 in Objects GmbH Der Sprecher Erik Bamberg (OIO) 2 1 s Aufgaben des Cachings Datenbank

Mehr

Anleitung zur Webservice Entwicklung unter Eclipse

Anleitung zur Webservice Entwicklung unter Eclipse Entwicklungsumgebung installieren Sofern Sie nicht an einem Praktikumsrechner arbeiten, müssen Sie ihre Eclipse-Umgebung Webservice-fähig machen. Dazu benötigen Sie die Entwicklungsumgebung Eclipse for

Mehr

Datenbankentwurf & Datenbankzugriff mit JDBC. Georg Köster Sven Wagner-Boysen

Datenbankentwurf & Datenbankzugriff mit JDBC. Georg Köster Sven Wagner-Boysen Datenbankentwurf & Datenbankzugriff mit JDBC Georg Köster Sven Wagner-Boysen 6. November 2007 Gliederung 2 Datenbankentwurf für ProminentPeople.info ER-Modell Relationaler Entwurf Normalisierung Datenbankzugriff

Mehr

Seite 1. Abbildung 1: Einrichtung der Datenbank

Seite 1. Abbildung 1: Einrichtung der Datenbank Machbarkeitsstudie Sprinter Dieses Beispiel führt exemplarisch einige der Technologien rund um das Thema JEE vor. Dabei liegt der Schwerpunkt darauf, kompakt den Ansatz vorzustellen, ohne im Detail alle

Mehr

Sicherheit. letzten beiden Punkte typischerweise durch Verschlüsselung realisiert. Komponentenbasierte Software Entwicklung. Prof. Dr.

Sicherheit. letzten beiden Punkte typischerweise durch Verschlüsselung realisiert. Komponentenbasierte Software Entwicklung. Prof. Dr. Sicherheit Vier Aufgaben Authentifizierung: Nutzer erkennen; klassisch über Name und Passwort Autorisierung: Nutzer darf nur bestimmte Aktionen durchführen, klassisch über Rechte Rollen System Vertraulichkeit:

Mehr

Persistenz. Ralf Gitzel

Persistenz. Ralf Gitzel Persistenz Ralf Gitzel ralf_gitzel@hotmail.de 1 Themenübersicht Ralf Gitzel ralf_gitzel@hotmail.de 2 Übersicht Grundkonzepte Entity Beans Meine erste Entity Entity-Manager Lernziele Übungsaufgabe 3 Grundkonzepte

Mehr

A Java EE component is a self-contained functional software unit that is assembled into a Java EE. communicates with other components.

A Java EE component is a self-contained functional software unit that is assembled into a Java EE. communicates with other components. Begriffsdefinitionen Java EE A Java EE component is a self-contained functional software unit that is assembled into a Java EE application with its related classes and files and that communicates with

Mehr