Połączenie JSP z MS SQL Server 2000 Łukasz Sak Tomasz Raciborski.

Slides:



Advertisements
Podobne prezentacje
20041 Projektowanie dynamicznych witryn internetowych Paweł Górczyński ASP 3.0.
Advertisements

Programowanie sieciowe w Javie
Java dla studentów II roku Wydziału Fizyki PW Przemysław Duda, 2012
Programowanie obiektowe
Skrypty, procedury przechowywane i wyzwalane
SQL INJECTION Wykorzystanie błędów w językach skryptowych
XML + relacyjne bazy danych
Java i bazy danych Programowanie z wykorzystaniem JDBC mgr inż. Piotr Kopniak.
18/11/ Języki programowania 1 Piotr Górczyński Biblioteki.
Relacyjne Bazy Danych wykład XIII
Marcin Pamuła Mateusz Stefek
MS Access 2000 Tworzenie bazy danych Piotr Górczyński 2005.
18/11/ Języki programowania 1 Piotr Górczyński Łączenie z bazą danych.
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ć
Metody autoryzacji użytkowników wymaga integracji z systemem operacyjnym nie wymaga logowania mała pewność mechanizmu wymaga logowania duża pewność mechanizmu.
Wykład 2. Wprowadzenie do architektur systemów rozproszonych
Zaawansowane technologie Javy Wykład 3 (21 lutego 2012) JDBC – programowanie bazodanowe (2)
Usługa Windows Server Update Services (WSUS)
Programowanie wizualne PW – LAB5 Wojciech Pieprzyca.
Java – programowanie obiektowe
Projektowanie warstwy serwera Wprowadzenie. Projektowanie warstwy serwera Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu.
Technologia.Net Bazy danych. Technologia ADO.Net Służy do dostarczania danych z rożnych źródeł (baz danych) do aplikacji Jest produktem Microsoft Umożliwia.
Przykład włamania do aplikacji internetowej poprzez modyfikację zapytań SQL Skrypty ASP Serwer bazy danych MS SQL Server Piotr Kuźniacki BDi.
Konfiguracja klienta FTP
USŁUGA FTP 1. Definicja FTP. FTP (File Transfer Protocol, ang. protokół transmisji plików) jest protokołem typu klient-serwer, który umożliwia przesyłanie.
Terminy bazodanowe Tabela (relacja) Wiersz (krotka, rekord)
Wprowadzenie do JSP Copyright © Politecnico di Milano September 2003 Translation: Kamil Żyła, Politechnika Lubelska.
Pakiety w Javie Łukasz Smyczyński (132834). Czym są pakiety? Klasy w Javie są grupowane w pewne zbiory zwane pakietami. Pakiety są więc pewnym podzbiorem.
MySQL – ODBC - ACCESS.
Rozwój aplikacji przy wykorzystaniu ASP.NET
Konfiguracja kont w programie Adobe Dreamweaver
A ctive S erver P ages Technologia dostępu do danych.
Sterownik JDBC i obsługa relacyjnych baz danych w Javie
Aplety w javie.
Prezentacja Adrian Pyza 4i.
Technologie internetowe II
Programowanie obiektowe – zastosowanie języka Java SE
Serwery aplikacji Zope Tomcat. Składniki Zopea: Serwer Management interface Databases.
Aplikacje bazodanowe ADO.NET PHP i MySQL
Tworzenie Aplikacji Internetowych dr Wojciech M. Gańcza 8.
Tworzenie Aplikacji Internetowych dr Wojciech M. Gańcza 3.
Program VNC jako pomoc w lekcji
Prezentacja Adrian Pyza 4i.
Komendy SQL do pracy z tabelami i bazami
Adam Ptaszek Krystian Formiński
PL/SQL – dalsza wędrówka
Projektowanie stron WWW
Autor: Marta Pelczar. PHP:  Najprostszą drogą, by uruchomić serwer internetowy na własnym domowym komputerze jest skorzystanie z programu XAMPP.
Podstawy programowania
Marcin nowak, Wojciech baszczyk
Technologie internetowe Wykład 5 Wprowadzenie do skrytpów serwerowych.
1 Analiza możliwości języka C# w aspekcie oprogramowania dla myszy Łukasz Łysyganicz Nr indeksu Praca napisana pod kierunkiem: Prof. nzw. Dr hab.
Podstawy języka skryptów
Komendy SQL do pracy z danymi
Informatyka Stosowana – ROK II / III
Konfiguracja HIBERnate, postgresQL + przykładowa aplikacja
Optymalna konfiguracja Microsoft SQL Server 2014
Podstawy programowania
Informatyka – szkoła gimnazjalna – Scholaris - © DC Edukacja Tworzenie stron WWW w programie Microsoft FrontPage Informatyka.
Języki i technologie wytwarzania stron WWW Autor: Michał Walkowski Referat.
ASP.NET Dostęp do bazy danych z poziomu kodu Elżbieta Mrówka-Matejewska.
Zarządzanie stanem w aplikacjach ASP.NET Elżbieta Mrówka-Matejewska
© 2014 IBM Corporation COMMON POLSKA 2014 JDBC z IBM System i Tomasz Piela & Marcin Wilk Global Technlonogy Services, IBM.
Zaawansowane technologie Javy Wykład 7 (6 kwietnia 2017)
Programowanie obiektowe – zastosowanie języka Java SE
Tworzenie stron WWW w programie Microsoft FrontPage
Założenia projektowe Javy
Programowanie w Javie 1 Dr Robert Kowalczyk
Zapis prezentacji:

Połączenie JSP z MS SQL Server 2000 Łukasz Sak Tomasz Raciborski

Narzędzia: Blazix, serwer WWW obslugujący JSP, servlety, napisany w Javie, wybrany zamiast np. serwera Suna z powodu prostoty obsługi i konfiguracji oraz małej ilości pamięci potrzebnej do instalacji (1.5 MB), wymaga osobno zainstalowanego kompilatora Javy Sterownik Microsoft SQL Server 2000 Driver for JDBC, do ściągnięcia ze stron Microsoftu (2 MB)

JSP JavaServerPages to technologia bazująca na języku Java umożliwiająca szybkie i łatwe tworzenie dynamicznych stron WWW. Pliki JSP są plikami HTML wraz z kodem źródłowym Javy zawartym w specjalnych znacznikach. Dość istotnym jest fakt, iż kod plików JSP nie jest czytany linia po linii (jak ma to miejsce w PHP) lecz najpierw konwertowany do postaci serwletu (postać binarna) i następnie uruchamiany przez silnik serwletów.

Działanie JSP plik *.jsp jest parsowany i tworzony jest plik źródłowy z kodem Javy (tylko przy pierwszym wywołaniu pliku) plik z kodem Javy zostaje skompilowany do postaci binarnej pliku klasy. Powstały w ten sposób plik klasy jest serwletem, a więc jego obsługę przejmuje silnik serwletów Silnik serwletów ładuje i uruchamia serwlet, wyniki przesyła do przeglądarki

Prosty przykład pliku.jsp <% for ( int i = 0; i < 5; i++ ) { %> Liczba <% } %>

Sterownik JDBC Najpierw należy załadować sterownik bazy danych. Chcąc połączyć się z MS SQL Server ściągamy ze stron Microsoftu Microsoft SQL Server 2000 Driver for JDBC, instalujemy go i do zmiennej systemowej classpath dodajemy ścięzki do konkretnych sterowników (msbase.jar, mssqlserver.jar, msutil.jar)

Połączenie z BD //ładowanie sterownika Class.forName( "com.microsoft.jdbc.sqlserver.SQLServerDriver„ ); //parametrem getConnection() są typ protokołu, mechanizm połączenia //z BD, lokalizacja BD i ewentualnie dodatkowe parametry Connection conn = java.sql.DriverManager.getConnection( „jdbc:microsoft:sqlserver://localhost:1433”); //Poniższy interfejs zawiera info o BD i sterowniku DatabaseMetaData dm = conn.getMetaData();

Meta-dane połączenia <% out.println(„ Driver Name: "+ dm.getDriverName()); out.println("\tDriver Version: "+ dm.getDriverVersion ()); out.print("\tDatabase Name: "+ dm.getDatabaseProductName()); out.print("Avalilable DataBases: "); rs = dm.getCatalogs(); while(rs.next()){ out.print("-- "+ rs.getString(1)); } %>

Zapytania Dla wykonania zapytania SQL należy utworzyć obiekt typu Statement (lub PreparedStatement, CallableStatement ): Statement stmt = connect.createStatement(); Polecenie SQL możemy wysłać korzystając z metod klasy Statement: executeUpdate(), executeQuery(), execute(). ResultSet r = stmt.executeQuery(„select*from student”);

ResultSet W obiekcie klasy ResultSet przechowujemy rekordy (krotki) zwrócone z BD po wykonaniu executeQuery(). Do nawigacji służą metody: next(), getXXX(), findColumn(), isLast(), … while(r.next()){ id = r.getString(1); nazwisko = r.getString(2); out.println( id+„ „+ nazwisko); }

Strona.jsp listująca studentów z bazy <% Connection conn = null; String url = "jdbc:microsoft:sqlserver://"; String serverName= "localhost"; String portNumber = "1433"; String databaseName= "II"; String userName = "sa"; String password = ""; String connectionUrl = url+serverName+":"+portNumber+";databaseName="+databaseName+";"; Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver"); java.sql.DatabaseMetaData dm = null; java.sql.ResultSet rs = null; try{ conn = java.sql.DriverManager.getConnection(connectionUrl,userName,password); if(conn!=null){ Statement stmt = conn.createStatement(); ResultSet r = stmt.executeQuery("select*from student");

%> Indeks Nazwisko Adres <% while(r.next()){ %> <% } %> <% }else System.out.println("Error: No active Connection"); }catch(Exception e){ e.printStackTrace(); } dm=null; if(conn!=null) conn.close(); %>

PreparedStatement, ResultSetMetaData PreparedStatement pstmt = conn.prepareStatement("select * from student where nazwisko = ?"); pstmt.setString(1, „Abacki"); ResultSet r = pstmt.executeQuery(); ResultSetMetaData rsmd = r.getMetaData(); int numberOfColumns = rsmd.getColumnCount(); boolean b = rsmd.isSearchable(1); String name = rsmd.getColumnLabel(1);