Java i jej wykorzystanie do tworzenia dynamicznych aplikacji Webowych

Podobne dokumenty
JAVA I BAZY DANYCH. MATERIAŁY:

Metody dostępu do danych

JDBC (Java Database Connectivity vit )

JAVA bazy danych. na bazie: Język Java - Podstawy Programowania - Jacek Rumiński

Marcin Luckner Politechnika Warszawska Wydział Matematyki i Nauk Informacyjnych

Rozdział 9 Obsługa baz danych w języku Java

Wprowadzenie do JDBC z wykorzystaniem bazy H2

Informatyka I. Standard JDBC Programowanie aplikacji bazodanowych w języku Java

Informatyka I. Programowanie aplikacji bazodanowych w języku Java. Standard JDBC.

Podstawy otwartych języków programowania Java Database Connectivity (JDBC)

Aplikacje WWW - laboratorium

Programowanie komputerów. Wykład 10: Dostęp do baz danych z poziomu aplikacji Java. (JDBC Database Access)

JDBC - Obsługa baz danych w języku Java

Laboratorium nr 4. Temat: SQL część II. Polecenia DML

Połączenie z bazą danych

Programowanie w SQL procedury i funkcje. UWAGA: Proszę nie zapominać o prefiksowaniu nazw obiektów ciągiem [OLIMP\{nr indeksu}] Funkcje użytkownika

PHP: bazy danych, SQL, AJAX i JSON

Wieloplatformowe aplikacje sieciowe. dr inż. Juliusz Mikoda mgr inż. Anna Wawszczak

Ćwiczenia laboratoryjne nr 11 Bazy danych i SQL.

Dostęp do baz danych z serwisu www - PHP. Wydział Fizyki i Informatyki Stosowanej Joanna Paszkowska, 4 rok FK

Plan wykładu. Dostęp do bazy danych. Architektura JDBC. Dostęp do baz danych z aplikacji Java EE

Instytut Sterowania i Systemów Informatycznych Uniwersytet Zielonogórski. Zaawansowane Systemy Decyzyjne. Laboratorium

Java rozszerzenie. dr. A. Dawid

Programowanie w języku Java. Bazy danych SQLite w Javie

Typy sterowników. Rozdział 21 JDBC. Podstawowe kroki aplikacji. Historia. Program napisany w języku Java JDBC API. Menadżer sterowników JDBC

Java Zadanie 1. Aby poprawnie uruchomić aplikację desktopową, należy zaimplementować główną metodę zapewniającą punkt wejścia do programu.

Aplikacje bazodanowe. dr inż. Arkadiusz Mirakowski

Wykład 5: PHP: praca z bazą danych MySQL

Podejście obiektowe do relacyjnych baz danych Hibernate.

Programowanie Obiektowe Java

Programowanie Obiektowe Java

Bazy danych wykład dwunasty

Database Connectivity

Java Database Connectivity

Aplikacje WWW - laboratorium

JDBC. Plan ćwiczenia. Wywoływanie poleceń SQL z języków programowania. Plan ćwiczenia cd. Wprowadzenie do laboratorium

Podstawowe wykorzystanie Hibernate

Zaawansowane aplikacje internetowe

Aplikacje Internetowe

Autor: Joanna Karwowska

BAZY DANYCH. Obsługa bazy z poziomu języka PHP. opracowanie: Michał Lech

Bazy Danych i Usługi Sieciowe

PHP może zostać rozszerzony o mechanizmy dostępu do różnych baz danych:

Aplikacje internetowe - laboratorium

Bazy danych i usługi sieciowe

Łączenie z bazą danych przykładowa klasa infpolaczenie import java.sql.drivermanager; import java.sql.connection; import java.sql.

Platforma.NET laboratorium 4 Aktualizacja: 15/11/2013. Visual Basic.NET dostęp do bazy danych. Baza Microsoft SQL Server Compact

Wybrane działy Informatyki Stosowanej

Instalacja MySQL.

Bazy Danych - Instrukcja do Ćwiczenia laboratoryjnego nr 8

Bazy danych. Wykład IV SQL - wprowadzenie. Copyrights by Arkadiusz Rzucidło 1

Obiektowy PHP. Czym jest obiekt? Definicja klasy. Składowe klasy pola i metody

Podstawy programowania III WYKŁAD 2

Sposoby tworzenia projektu zawierającego aplet w środowisku NetBeans. Metody zabezpieczenia komputera użytkownika przed działaniem apletu.

Oracle PL/SQL. Paweł Rajba.

Instytut Mechaniki i Inżynierii Obliczeniowej Wydział Mechaniczny Technologiczny Politechnika Śląska

strukturalny język zapytań używany do tworzenia i modyfikowania baz danych oraz do umieszczania i pobierania danych z baz danych

Programowanie MSQL. show databases; - pokazanie jakie bazy danych są dostępne na koncie

Wydział Elektrotechniki, Informatyki i Telekomunikacji Instytut Informatyki i Elektroniki

ZAPOZNANIE SIĘ ZE SPOSOBEM PRZECHOWYWANIA

Sprawdzenie czy połączenie przebiegło poprawnie if (mysqli_connect_errno()) { echo Błąd; Połączenie z bazą danych nie powiodło się.

System. Instalacja bazy danych MySQL. Autor : Piotr Zielonka tel Piotrków Tryb., sierpień 2018r.

Katedra Architektury Systemów Komputerowych Wydział Elektroniki, Telekomunikacji i Informatyki Politechniki Gdańskiej

Niezbędne serwery aplikacji. Wprowadzenie do technologii JBoss i Apache Tomcat.

Connection con = DriverManager.getConnection(dbUrl, username, passwd);

Technologia JDBC w praktyce

Język SQL, zajęcia nr 1

1) Przygotowanie środowiska pracy.

przygotował: Bazy danych Paweł Kasprowski Wersja 2006Z

Założenia do ćwiczeń: SQL Server UWM Express Edition: \SQLEXPRESS. Zapoznaj się ze sposobami użycia narzędzia T SQL z wiersza poleceń.

PL/SQL. Zaawansowane tematy PL/SQL

Relacyjne bazy danych. Podstawy SQL

Języki programowania wysokiego poziomu. PHP cz.4. Bazy danych

Bazy danych dla producenta mebli tapicerowanych. Bartosz Janiak Marcin Sikora Wrocław r.

Internetowe bazy danych

SIECI KOMPUTEROWE I BAZY DANYCH

A. Instalacja serwera www

CREATE USER

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ),

Wykład 8. SQL praca z tabelami 5

Projektowanie aplikacji w modelu MVC opartej o framework CodeIgniter

Administracja i programowanie pod Microsoft SQL Server 2000

Bartosz Jachnik - Kino

Budowa aplikacji ASP.NET współpracującej z bazą dany do obsługi przesyłania wiadomości

Dokumentacja interfejsu MySQL. Platforma BSMS.PL Instrukcja podłączenia po przez mysql

Wywoływanie metod zdalnych

Sprzeg podstawowy do baz danych w PHP Mateusz Sowa, 2007

Kolekcje Zbiory obiektów, rodzaje: tablica o zmiennym rozmiarze (ang. varray) (1) (2) (3) (4) (5) Rozszerzenie obiektowe w SZBD Oracle

Materiały oryginalne: ZAWWW-2st1.2-l11.tresc-1.0kolor.pdf. Materiały poprawione

akademia androida Składowanie danych część VI

15. Funkcje i procedury składowane PL/SQL

Ćwiczenie 14 autoryzacja

Obiektowe bazy danych

Ćwiczenie 1. Kolejki IBM Message Queue (MQ)

Bazy danych. dr Radosław Matusik. radmat

Bazy danych w PHP dla początkujących

DECLARE VARIABLE zmienna1 typ danych; BEGIN

SIECI KOMPUTEROWE I BAZY DANYCH

Paweł Rajba

Transkrypt:

Java i jej wykorzystanie do tworzenia dynamicznych aplikacji Webowych Zadanie do wykonania na następny tydzień: Przedstawić aplikację napisaną w JSP realizującą analogiczne zadania jak pierwsza aplikacja w php, czyli podstawowe operacje na tabeli w bazie danych MySQL, tj SELECT, INSERT, UPDATE, DELETE. Niezbędne jest dodanie autowypełniania formularza przy instrukcji UPDATE. Środowisko uruchomieniowe Rozpakować archiwum zawierające kontener serwletów Tomcat Korzystając z konsoli ustalić zmienną środowiskową JAVA_HOME=C:\Program Files\Java\jdk1.6.0_07, sprawdzić ustawienia poleceniem set. Wejść do katalogu bin w katalogu głównym Tomcata, uruchomić kontener serwletów poleceniem catalina start. Ustawień parametrów Tomcata dokonujemy w pliku Server.xml w katalogu conf (domyślnie serwer pracuje na porcie 8080), aplikacje umieszczamy w katalogu webapps. Przykład aplikacji JSP wyświetlającej aktualną datę <HTML> <HEAD> <TITLE>Hello World</TITLE> </HEAD> <BODY> <H1>Hello World</H1> Today is: <%= new java.util.date().tostring() %> </BODY> </HTML> 1. Umieścić kod w pliku hello.jsp w katalogu Root 2. Uruchomić wpisując w przeglądarce adres http://server.address/hello.jsp Połączenie z bazą danych MySQL z poziomu zarówno JAVy jak JSP Aplikacja wykorzystująca bazę danych powinna w pierwszej kolejności załadować sterownik bazy danych, połączyć się z bazą danych, wysłać zapytanie SQL, odebrać wyniki zapytania i je przetworzyć a następnie zamknąć połączenie z bazą danych. Po zrealizowaniu połączenia z bazą danych moŝemy wielokrotnie wysłać polecenie i przetworzyć wyniki. Aby załadować sterownik JDBC naleŝy utworzyć obiekt odpowiedniej klasy, w tym przypadku klasy JdbcOdbcDriver, sterownik standardowo naleŝący do JDK sterownik dla MySQL dostępny TUTAJ naleŝy go umieścić w katalogu: ścieŝka_do_katalogu_javy/jre/lib/ext: Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); NaleŜy zauwaŝyć Ŝe nie istnieje Ŝadna zmienna obiektowa identyfikująca sterownik. Za dostęp do sterowników odpowiada klasa DriverManager.

Aby nawiązać połączenie z bazą danych naleŝy zainicjować obiekt klasy Connection za pomocą statycznej metody DriverManager.getConnection(). connect = DriverManager.getConnection(url); Parametrem metody getconnection klasy Connection jest adres URL bazy danych. Parametr URL zawiera: jdbc:<subprotocol>:<subname> Pierwszym członem URL jest zawsze jdbc i jest to typ protokołu. Kolejeny element URL to nazwa sterownika lub mechanizm połączenia do bazy danych. Trzeci człon to lokalizacja bazy danych. Przykładowy URL moŝe wyglądać tak: String URL = "jdbc:odbc:webdevdb"; i określa wykorzystanie protokołu ODBC i lokalnej bazy danych o nazwie WebDevDB. JeŜeli chcemy skorzystać z bazy danych umieszczonej na zdalnym serwerze moŝemy zdefiniować URL: String url ="jdbc:mysql://zs4.pl:3306/student"; Taka definicja adresu bazy danych oznacza Ŝe będziemy korzystać z bazy danych student dostępnej na komputerze zs4.pl, korzystamy z silnika Mysql pracującego na porcie nr 3306. JeŜeli baza danych wymaga podania uŝytkownika i hasła moŝemy podać te parametry takŝe w metodzie getconnection: connect = DriverManager.getConnection(url, "student", "student"); Wykonanie zapytania SQL Dla wykonania zapytania SQL naleŝy utworzyć obiekt typu Statement będący kontenerem dla operacji SQL. Obiekt typu Statement umoŝliwia wysłanie prostych - statycznych poleceń SQL. Oprócz klasy Statement mamy do dyspozycji klasy PreparedStatement (polecenia z parametrami) i CallableStatement (odwołania do procedur zdefiniowanych w bazie). Spróbujmy wykorzystać obiekt typu Statement: connect = DriverManager.getConnection(URL); // łączymy się z bazą stmt = connect.createstatement(); // inicjacja połączenia Statement Polecenie SQL moŝemy wysłać korzystając z metod klasy Statement: executeupdate() (operacje modyfikujące zawartość bazy danych), executequery() (operacje zwracające pojedynczy zbiór danych - ResultSet), execute() (operacje zwracające wiele zbiorów danych ResultSet). Metoda executeupdate() wykorzystywana jest dla poleceń SQL modyfikujących zawartość bazy danych - CREATE TABLE, INSERT, UPDATE, DELETE, np.: String createstring = "create table klienci"+ "(ID int," + " IMIE varchar(30)," + " NAZWISKO varchar(30)," +

" DATA_UR varchar(30),"; stmt.executeupdate(createstring); // wykonanie zapytania SQL Metoda executequery(), wykorzystywana dla polecenia SELECT, zwraca obiekt klasy ResultSet (zbiór wynikowy). ResultSet r; String selectstring = "select * from klienci"; // zapytanie SQL r = stmt.executequery(selectstring); // wysłanie zapytania, r - wynik zapytania d) odebranie i przetworzenie wyników Wynik zapytania SELECT zwraca zbiór rekordów, które moŝemy odczytać stosując metody next(), previous(),, first(), last(), getxxx() (getstring(), getfloat(), getint() itd., np.: String imie, nazwisko,id,ulica,numer; while(r.next()){ // kolejny rekord id = r.getstring(1); // odczyt 5 kolejnych wartosci z rekordu imie = r.getstring(2); nazwisko = r.getstring(3); data_ur = r.getstring(4); System.out.println(" "+id+" "+imie+" "+nazwisko+" "+data_ur+" "); Metody next(), previous(), first(), last() operują na zbiorze wynikowym zmieniając bieŝący rekord. MoŜemy odczytać dane z bazy jako wartości typu String bez względu na typ danej w bazie lub teŝ odczytać wartości numeryczne korzystając z odpowiedniej metody getxxx(), np.: float numer = r.getfloat(5); pod warunkiem Ŝe wartość kolumy w bazie danych jest typu numerycznego. e) zamknięcie połączenia z bazą danych Po zakończeniu wszystkich operacji na otwartej bazie danych naleŝy zamknąć połączenie z bazą danych. Zamykamy obiekt Statement i Connection, np.: stmt.close(); connect.close();

Połączenie z bazą danych z poziomu Javy. Aplikacja listuje tabele w bazie danych student. Połączenie z bazą danych z poziomu JSP <%@ page import="java.net.*" %> <%@ page import="java.util.*" %> <%@ page import="java.io.*" %> <%@ page import="java.sql.*" %> <% try{ Class.forName("com.mysql.jdbc.Driver").newInstance(); catch (Exception E) { out.println("unable to load driver."); E.printStackTrace();

try{ out.println("getting Connection..."); Connection C = DriverManager.getConnection("jdbc:mysql://IP_ADDRESS:3306/test"); out.println("<br>connected: " +!C.isClosed() + "<br>\n"); out.println("catalog: " + C.getCatalog() + "<br>\n"); Statement S = C.createStatement(); ResultSet rs = S.executeQuery("SELECT * FROM foo"); ResultSetMetaData rsstruc = rs.getmetadata(); out.println("table: " + rsstruc.gettablename(1) + "<br>"); out.println("<table bgcolor=c8c8c8 cellpadding=5 cellspacing=1>"); out.println("<tr bgcolor=000000>"); int colcount = rsstruc.getcolumncount(); String colname = ""; for(int i=1;i <= colcount; i++){ colname = rsstruc.getcolumnname(i) ; out.println("<td><b><font color=white>" + colname + "</font></b></td>\n"); out.println("</tr>"); while (rs.next()) { out.println("<tr bgcolor=ffffff>"); for(int i=1;i <= colcount; i++){ colname = rsstruc.getcolumnname(i) ; String fld = rs.getstring(colname); out.println("<td>" + fld + "</td>"); out.println("</tr>"); out.println("</table>"); rs.close(); C.close(); catch (Exception E) { out.println("sqlexception: " + E.getMessage()); %> Więcej na stronie: www.radgol.prv.pl/materialy/java.htm