Wprowadzenie do JSP Copyright © Politecnico di Milano September 2003 Translation: Kamil Żyła, Politechnika Lubelska.

Slides:



Advertisements
Podobne prezentacje
I część 1.
Advertisements

Programowanie sieciowe w Javie
Przekształcanie dokumentów XML - XSL
Joanna Sawicka Wydział Nauk Ekonomicznych, Uniwersytet Warszawski
Rafał Hryniów Tomasz Pieciukiewicz
SQL INJECTION Wykorzystanie błędów w językach skryptowych
XML + relacyjne bazy danych
Wprowadzenie do języka skryptowego PHP
Java i bazy danych Programowanie z wykorzystaniem JDBC mgr inż. Piotr Kopniak.
Bazy danych II Instrukcja SELECT Piotr Górczyński 25/08/2001.
Język SQL ma ciekawe możliwości tworzenia zapytań
4. Modelowanie wartości pochodnych
7. Proces tworzenia aplikacji
6. Parametry & Personalizacja
Relacyjne Bazy Danych wykład XIII
Uniwersytet Łódzki Wydział Matematyki i Informatyki, Katedra Analizy Nieliniowej JDBC Database Access Wykład 12 mgr inż. Michał Misiak.
PySBQL Język zapytań dla obiektowych baz danych. Aplikacje bazodanowe Główny nurt budowania aplikacji opiera się na połączeniu: SQL JDBC Java Jak wyświetlić
KONKURS WIEDZY O SZTUCE
Podstawy informatyki Wirtotechnologia – Wskaźniki i referencje
Podstawy informatyki Powtórka Grupa: 1A Prowadzący: Grzegorz Smyk
WekaSQL Język i aplikacja przetwarzania oraz eksploracji danych.
BINGO MATEMATYCZNE 2011 RÓWNANIA
Metody autoryzacji użytkowników wymaga integracji z systemem operacyjnym nie wymaga logowania mała pewność mechanizmu wymaga logowania duża pewność mechanizmu.
Obsługa plików csv Do odczytu z pliku csv można użyć następującego kodu: $fp = fopen ("strony.csv","r"); $num = 0; while ($data = fgetcsv ($fp, 1000, ";"))
„Migracja środowisk Novell NDS/eDirectory oraz Novell Groupwise do środowiska Microsoft Active Directory oraz Microsoft Exchange przy użyciu narzędzi Quest.
1 Języki i techniki programowania prowadzący dr Grzegorz Filipczyk.
Wstęp do geofizycznej dynamiki płynów. Semestr VI. Wykład
UKŁADY SZEREGOWO-RÓWNOLEGŁE
Jaki jest następny wyraz ciągu: 1, 2, 4, 8, 16, …?
Dyskretny szereg Fouriera
Przykład wykorzystania komercyjnych i niekomercyjnych źródeł informacji w pracy Biblioteki Chemicznej ZUT Agnieszka Bajda
Przykład włamania do aplikacji internetowej poprzez modyfikację zapytań SQL Skrypty ASP Serwer bazy danych MS SQL Server Piotr Kuźniacki BDi.
dr inż. Piotr Muryjas Wyższa Szkoła Przedsiębiorczości i Administracji
Systemy Rozproszone TECHNOLOGIA JAVA 2 ENTERPRISE EDITION PRZEMYSŁAW SOŁTAN
Terminy bazodanowe Tabela (relacja) Wiersz (krotka, rekord)
Wykonawcy:Magdalena Bęczkowska Łukasz Maliszewski Piotr Kwiatek Piotr Litwiniuk Paweł Głębocki.
Vitalii Dugaev Katedra Fizyki Politechnika Rzeszowska Semestr I Rok 2012/2013.
Projektowanie Stron WWW
Kalendarz 2011 Real Madryt Autor: Bartosz Trzciński.
Kalendarz 2011 Oto ciekawy kalendarz, który zaprojektował
KALENDARZ 2011r. Autor: Alicja Chałupka klasa III a.
ANNA BANIEWSKA SYLWIA FILUŚ
1/34 HISTORIA BUDOWY /34 3/34 6 MAJA 2011.
ASP BAZY. 2.2 S. Wolek Wst. do Inf. Połączenie z bazą danych przez ADO (ActiveX Data Object) do: - źródła ODBC - bazy z podanie nazwy sterownika ODBC.
Tanzania: między tradycją a nowoczesnością
Lekcja 13 Strona 15. Lekcja 13 Strona 16 Lekcja 13 Strona 17 Vertical primary and secondary Tesla coil Jacobs ladder.
Aplikacje bazodanowe ADO.NET PHP i MySQL
Kalendarz 2011r. styczeń pn wt śr czw pt sb nd
Innowacyjne metody napawania
Przekazywanie parametrów do funkcji oraz zmienne globalne i lokalne
ASP BAZY DANYCH. 2 S. Wolek Wst. do Inf. Połączenie z bazą danych przez ADO (ActiveX Data Object) do: - źródła ODBC - bazy z podanie nazwy sterownika.
1 Jak by tu po-współpracować z innymi ? a może coś jeszcze… Word 2007.
Temat 12: Formularze.
(C) Jarosław Jabłonka, ATH, 5 kwietnia kwietnia 2017
PL/SQL – dalsza wędrówka
Projektowanie stron WWW
Kalendarz 2020.
Technologie internetowe Wykład 5 Wprowadzenie do skrytpów serwerowych.
Wyniki Ankiety odnośnie zdrowego odżywiania
Portal edukacyjny A.Ś. FORMULARZE W JĘZYKU HTML. Portal edukacyjny A.Ś. Obiekty umieszczane na stronach www Teksty Obrazy Odnośniki Tabele Ramki pływające.
Treści multimedialne - kodowanie, przetwarzanie, prezentacja Odtwarzanie treści multimedialnych Andrzej Majkowski 1 informatyka +
Opracowanie mgr Karol Adamczyk
Informatyka Stosowana – ROK II / III
Połączenie JSP z MS SQL Server 2000 Łukasz Sak Tomasz Raciborski.
.NET i Bazy Danych Projekt: Wadim Grasza.
Temat nr 5 Struktura strony www _________________________________________________________________________________________________________________ [ Przedmiot:
Portal edukacyjny J A V A S C R I P T JĘZYK PROGRAMOWANIA STRON HTML Opracowała: Anna Śmigielska.
HTML.  Wprowadzenie  Protokół HTTP  Język HTML  Definicja typu dokumentu  Nagłówek strony  Formatowanie treści dokumentu  Definiowanie struktury.
Temat: Tworzenie bazy danych
Wstęp - Prosta aplikacja internetowa w technologii Java EE 5
Zapis prezentacji:

Wprowadzenie do JSP Copyright © Politecnico di Milano September 2003 Translation: Kamil Żyła, Politechnika Lubelska

2 Plan Etapy przetwarzania strony Etapy przetwarzania strony Struktura strony JSP Struktura strony JSP Przykładowe strony JSP Przykładowe strony JSP Lista elementów Lista elementów Lista hiperłączy Lista hiperłączy Strona z detalami o elemencie Strona z detalami o elemencie Lista wielokrotnego wyboru Lista wielokrotnego wyboru Usunięcie instancji Usunięcie instancji Łańcuchy operacji Łańcuchy operacji Translation: Kamil Żyła, Politechnika Lubelska

3 Etapy przetwarzania strony Przetwarzanie strony JSP zawsze zawiera poniższe operacje Dekodowanie parametrów Połączenie z bazą danych Przygotowanie zapytań Wykonanie zapytań Przedstawienie wyników 1. Dekodowanie parametrów żądania 2. Połączenie z bazą danych & Przygotowanie i wykonanie zapytań HTTP request Parametry żądania 3. Wyświetlenie zawartości strony i linków Wyniki zapytań HTTP response Translation: Kamil Żyła, Politechnika Lubelska

4 Struktura strony JSP Translation: Kamil Żyła, Politechnika Lubelska

5 Strony JSP: przykład 1 LISTA ELEMENTÓW <% // DATABASE CONNECTION 4 Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); 5 Connection conn = DriverManager.getConnection 6 ("jdbc:odbc:acme", "acmeuser", "acmepwd"); 7 // QUERY PREPARATION AND EXECUTION 8 Statement stmt = conn.createStatement(); 9 ResultSet result = stmt.executeQuery( 10 "SELECT NAME FROM NEWSCATEGORY ORDER BY NAME"); 11 %> News Categories Page <% 30 result.close(); 31 stmt.close(); 32 conn.close(); 33 %> Strona wyświetlająca listę kategorii Newsów na podstawie danych pobranych z bazy danych Połączenie z bazą danych (ODBC) Definicja i wykonanie zapytania Wypisanie danych zwróconych przez zapytanie Translation: Kamil Żyła, Politechnika Lubelska

<% // DATABASE CONNECTION 4 Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); 5 Connection conn = DriverManager.getConnection 6 ("jdbc:odbc:acme", "acmeuser", "acmepwd"); Ustawiony język : Java Importowane biblioteki : java.sql Class.forName(…) : Ładuje sterownik bazy danych AUTOMATYCZNIE rejestruje swoją instancję w obiekcie DriverManager Connection: połączenie z bazą danych Strony JSP: przykład 1 LISTA ELEMENTÓW Translation: Kamil Żyła, Politechnika Lubelska

7 7 // QUERY PREPARATION AND EXECUTION 8 Statement stmt = conn.createStatement(); 9 ResultSet result = stmt.executeQuery( 10 "SELECT NAME FROM NEWSCATEGORY ORDER BY NAME"); 11 %> createStatement : tworzy pusty obiekt klasy Statement (interfejs do wykonywania zapytań) executeQuery : zawiera zapytanie do bazy danych przyjmuje łańcuch znaków stanowiący zapytanie w języku SQL zwraca obiekt ResultSet (zawiera wynik zapytania) Strony JSP: przykład 1 LISTA ELEMENTÓW Translation: Kamil Żyła, Politechnika Lubelska

… Generowanie znaczników i zawartości strony while (result.next()): powtarza {…} aż do przejrzenia całej kolekcji zwróconej w obiekcie ResultSet result.getString(…): zwraca wartość wskazanego atrybutu dla wskazanej instancji ResultSet Strony JSP: przykład 1 LISTA ELEMENTÓW Translation: Kamil Żyła, Politechnika Lubelska

<% 30 result.close(); 31 stmt.close(); 32 conn.close(); 33 %> Close (czynności porządkowe): Obiekty ResultSet Obiekty Statement Obiekty Connection Strony JSP: przykład 1 LISTA ELEMENTÓW Translation: Kamil Żyła, Politechnika Lubelska

10 Strony JSP: przykład 2 LISTA HIPERŁĄCZY 7 // QUERY PREPARATION AND EXECUTION 8 Statement stmt = conn.createStatement(); 9 ResultSet result = stmt.executeQuery( 10 "SELECT NAME,OID FROM NEWSCATEGORY ORDER BY NAME"); 11 %> Strona wyświetlająca listę kategorii newsów Każda nazwa kategorii jest kotwicą do strony wyświetlającej szczegółowe informacje o kategorii <a href= "categoryDetails.jsp?categoryDU= "> Translation: Kamil Żyła, Politechnika Lubelska

<a href= "categoryDetails.jsp?categoryDU= "> Atrybut Name jest wyświetlany jako kotwica Atrybut OID jest używany do złożenia wartości href kotwicy OID jest przekazywany jako parametr w adresie URL strony docelowej Strony JSP: przykład 2 LISTA HIPERŁĄCZY Translation: Kamil Żyła, Politechnika Lubelska

12 Strony JSP: przykład 3 SZCZEGÓŁOWE INFO O JEDNYM ELEMENCIE <% // REQUEST PARAMETERS FETCH 4 String categoryDUInput = request.getParameter("categoryDU"); 5 // DATABASE CONNECTION 6 Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); 7 Connection conn = DriverManager.getConnection("jdbc:odbc:acme", 8 "acmeuser", "acmepwd"); 9 // QUERY PREPARATION 10 PreparedStatement pstmt = conn.prepareStatement( 11 "SELECT NAME, DESCRIPTION FROM NEWSCATEGORY WHERE OID = ?"); 12 pstmt.setString(1, categoryDUInput); 13 // QUERY EXECUTION 14 ResultSet result = pstmt.executeQuery(); 15 %> Przygotowanie i wykonanie zapytania z parametrami Translation: Kamil Żyła, Politechnika Lubelska

Name 24 Description Pozyskanie pojedynczej krotki (if zamiast while) Pozyskanie wielu atrybutów dla pojedynczej instancji (NAME, DESCRIPTION) Strony JSP: przykład 3 SZCZEGÓŁOWE INFO O JEDNYM ELEMENCIE Translation: Kamil Żyła, Politechnika Lubelska

14 Strony JSP: przykład 4 LISTA WIELOKROTNEGO WYBORU <input type="checkbox" name="chosenOIDs" 23 value=" "/> Użycie znaczników formularza Dynamiczna konstrukcja pola wejściowego typu checkbox Translation: Kamil Żyła, Politechnika Lubelska

15 Strony JSP: przykład 5 USUNIĘCIE INSTANCJI 3 <% // REQUEST PARAMETERS FETCH 4 String selectedOID = request.getParameter("OID"); 5 // DATABASE CONNECTION 6 Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); 7 Connection conn = DriverManager.getConnection(...); 9 // QUERY PREPARATION AND EXECUTION 10 PreparedStatement pstmt = conn.prepareStatement( 11 "DELETE FROM NEWSCATEGORY WHERE OID = ?"); 12 pstmt.setString(1, selectedOID); 14 try { 15 pstmt.executeUpdate(); 16 } catch (SQLException e) { 17 pageContext.forward("errorPage.jsp"); // KO LINK 18 } 19 pstmt.close(); // TEMPORARY OBJECTS DISPOSITION 20 conn.close(); 21 pageContext.forward("newsCategories.jsp"); // OK LINK 22 %> Translation: Kamil Żyła, Politechnika Lubelska

16 Łańcuch operacji Translation: Kamil Żyła, Politechnika Lubelska

17 Źródła JDBC : JSP: Translation: Kamil Żyła, Politechnika Lubelska