Plan prezentacji. Przetwarzanie dokumentów XML JAXP SAX JAXP SAX DOM STAX XSLT. Przedmiot: XML i jego zastosowania. Dr inż. Stanisław Polak JAXB

Wielkość: px
Rozpocząć pokaz od strony:

Download "Plan prezentacji. Przetwarzanie dokumentów XML JAXP SAX JAXP SAX DOM STAX XSLT. Przedmiot: XML i jego zastosowania. Dr inż. Stanisław Polak JAXB"

Transkrypt

1 Plan prezentacji Przedmiot: XML i jego zastosowania Dr inż. Stanisław Polak JAXP SAX DOM STAX XSLT Akademia Górniczo - Hutnicza w Krakowie, Katedra Informatyki JAXB Inne interfejsy programistyczne JDOM dom4j XOM Dr inż. Stanisław Polak 1 Przedmiot: XML i jego zastosowania Dr inż. Stanisław Polak 2 Przedmiot: XML i jego zastosowania JAXP SAX JAXP JAXP SAX Wstęp Ang. Java API for XML Processing Parsowanie, transformacja i walidacja dokumentów XML Standardowy komponent Javy Interfejsy: SAX DOM StAX XSLT Ang. Simple API for XML Standardowy interfejs do parsowania plików XML, oparty na modelu zdarzeniowym, stworzony w celu ujednolicenia dostępu do różnych parserów XML Cechy: Model zdarzeniowy Obiektowość Prostota Sekwencyjność dostęp do danych w trakcie przetwarzania Szybkość Małe zużycie pamięci Pierwotnie zdefiniowany w języku Java Dr inż. Stanisław Polak 3 Przedmiot: XML i jego zastosowania Dr inż. Stanisław Polak 4 Przedmiot: XML i jego zastosowania

2 SAX JAXP Ilustracja działania SAX SAX JAXP SAX API 1 <? xml version=" 1.0 "?> 2 <m u l l> 3 <t e x t x="1"> 4 Przyk ł adowa zawarto ś ć 5 </ t e x t> 6 </ page> 7 <m u l l> Dokument XML SAXParser 1 startdocument ( ) 2 startelement ( ) 3 characters ( ) 4 endelement ( ) parse() Aplikacja throw SAXException Ważniejsze metody parse() startdocument() enddocument() startelement() endelement() characters() processinginstruction() error() fatalerror() warning() notationdecl() unparsedentitydecl() resolveentity() Dr inż. Stanisław Polak 5 Przedmiot: XML i jego zastosowania Dr inż. Stanisław Polak 6 Przedmiot: XML i jego zastosowania SAX JAXP Pakiety SAX JAXP Przetwarzanie dokumentu org.xml.sax org.xml.sax.ext org.xml.sax.helpers javax.xml.parsers 1 import java. io. ; 2 import javax. xml. parsers. ; 3 import org. xml. sax. ; 4 import org. xml. sax. helpers. ; 5 class SAX { 6 public static void main ( String [ ] args ) { 7 try { 8 SAXParserFactory fabryka = SAXParserFactory. newinstance ( ) ; 9 SAXParser parser = fabryka. newsaxparser ( ) ; 10 XMLReader czytelnik = parser. getxmlreader ( ) ; 11 czytelnik. setcontenthandler ( new MojHandler()); 12 czytelnik. parse ( new InputSource ( args [ 0 ] ) ) ; 13 } catch ( ParserConfigurationException e ) { 14 System. out. println ( e. tostring ( ) ) ; 15 } catch ( SAXException e ) { 16 System. out. println ( e. tostring ( ) ) ; 17 } catch ( IOException e ) { 18 System. out. println ( e. tostring ( ) ) ; 19 } 20 } // main ( ) 21 / / 22 private static class MojHandler extends DefaultHandler { 23 public void startdocument ( ) throws SAXException { 24 System. out. println ( "Wykryto początek dokumentu " ) ; 25 } 26 public void enddocument ( ) throws SAXException { 27 System. out. println ( "Wykryto koniec dokumentu " ) ; 29 } // MojHandler 30 } //SAX Dr inż. Stanisław Polak 7 Przedmiot: XML i jego zastosowania Dr inż. Stanisław Polak 8 Przedmiot: XML i jego zastosowania

3 SAX JAXP Obsługa walidacji DOM Wstęp class SAX { 3 public static void main ( String [ ] args ) { 4 try { fabryka. setvalidating(true) ; 7 fabryka. setnamespaceaware(true) ; czytelnik. seterrorhandler (MojHandlerBledow()); } } // main ( ) 14 / / 15 private static class MojHandlerBledow implements ErrorHandler { 16 public void warning ( SAXParseException e ) throws SAXException { 17 System. out. println ( e. getmessage ( ) ) ; // gdy np. encja zosta ł a zadeklarowana kilka razy 18 } public void error ( SAXParseException e ) throws SAXException { 21 System. out. println ( e. getmessage ( ) ) ; // gdy dokument n i e j e s t v a l i d 22 } public void fatalerror ( SAXParseException e ) throws SAXException { 25 System. out. println ( e. getmessage ( ) ) ; //gdy dokument n i e j e s t w e l l formed 26 } 27 } // MojHandlerBledow //SAX Ang. Document Object Model Obiektowy model dostępu, strukturalizacji i nadawania stylu dokumentom Wersje: DOM Level 0 nie stanowi oficjalnego standardu W3C DOM Level 1 oficjalna rekomendacja W3C DOM Level 2 możliwość łączenia zawartości dwóch dokumentów, obsługa przestrzeni nazw DOM Level 3 obsługa XML Base, obsługa walidacji, możliwość ładowania i zachowywania dokumentów, mieszane słowniki znaczników DOM level 4 w trakcie opracowywania Cechy: Dostęp do całości dokumentu Możliwość tworzenia i modyfikacji dokumentu Duże zużycie pamięci Niska efektywność Dr inż. Stanisław Polak 9 Przedmiot: XML i jego zastosowania Dr inż. Stanisław Polak 10 Przedmiot: XML i jego zastosowania Reprezentacja graficzna dokumentu DOM API 1 <t a b l e> 2 <tbody> 3 <t r> 4 <td>shady Grove</ td> 5 <td>aeolian</ td> 6 </ t r> 7 <t r> 8 <td>over the River, Charlie</ td> 9 <td>dorian</ td> 10 </ t r> 11 </ tbody> 12 </ t a b l e> Ważniejsze metody newdocument() parse() Dr inż. Stanisław Polak 11 Przedmiot: XML i jego zastosowania Dr inż. Stanisław Polak 12 Przedmiot: XML i jego zastosowania

4 Pakiety Przetwarzanie istniejącego dokumentu Użycie JAXP API org.w3c.dom javax.xml.parsers 1 import javax. xml. parsers. ; 2 import org. xml. sax. ; 3 import java. io. ; 4 import org. w3c. dom. ; 5 6 public class DOM{ 7 static Document dokument ; 8 public static void main ( String argv [ ] ) { 9 DocumentBuilderFactory fabryka = DocumentBuilderFactory. newinstance ( ) ; 10 try { 11 DocumentBuilder budowniczy = fabryka. newdocumentbuilder ( ) ; 12 dokument = budowniczy. parse ( new File ( argv [ 0 ] ) ) ; 13 } catch ( ParserConfigurationException e ) { 14 e. printstacktrace ( ) ; 15 } catch ( SAXException e ) { 16 e. printstacktrace ( ) ; 17 } catch ( IOException e ) { 18 e. printstacktrace ( ) ; 19 } 20 NodeList elements = dokument. getelementsbytagname ( "tr" ) ; 21 Node tr = elements. item ( 0 ) ; 22 Node element = tr. getfirstchild ( ) ; 23 while ( element!= null ){ 24 if ( element. getnodetype ( ) == Node. ELEMENT_NODE ) 25 System. out. println ( element. getnodename ( ) ) ; // Wypisze : td 26 element = element. getnextsibling ( ) ; 27 } 29 } Dr inż. Stanisław Polak 13 Przedmiot: XML i jego zastosowania Dr inż. Stanisław Polak 14 Przedmiot: XML i jego zastosowania Przetwarzanie istniejącego dokumentu Użycie DOM Level 3 Load and Save Tworzenie dokumentu 1 import org. w3c. dom. bootstrap. DOMImplementationRegistry ; 2 import org. w3c. dom. ls. DOMImplementationLS ; 3 import org. w3c. dom. ls. LSParser ; 4 import org. w3c. dom. ; 5 6 public class DOM{ 7 static Document dokument ; 8 public static void main ( String argv [ ] ) { 9 try{ 10 DOMImplementationRegistry fabryka = DOMImplementationRegistry. newinstance ( ) ; 11 DOMImplementationLS impl = ( DOMImplementationLS ) fabryka. getdomimplementation ( "LS" ) ; 12 LSParser budowniczy = impl. createlsparser ( DOMImplementationLS. MODE_SYNCHRONOUS, null ) ; 13 dokument = budowniczy. parseuri ( argv [ 0 ] ) ; 14 } 15 catch ( ClassNotFoundException e ) { 16 e. printstacktrace ( ) ; 17 } 18 catch ( InstantiationException e ) { 19 e. printstacktrace ( ) ; 20 } 21 catch ( IllegalAccessException e ) { 22 e. printstacktrace ( ) ; 23 } 24 NodeList elements = dokument. getelementsbytagname ( "tr" ) ; 25 Node tr = elements. item ( 0 ) ; 26 Node element = tr. getfirstchild ( ) ; 27 while ( element!= null ){ 28 if ( element. getnodetype ( ) == Node. ELEMENT_NODE ) 29 System. out. println ( element. getnodename ( ) ) ; 30 element = element. getnextsibling ( ) ; 31 } 32 } 33 } 1 import javax. xml. parsers. ; 2 import org. w3c. dom. ; 3 public class DOMCreate{ 4 static Document dokument ; 5 public static void main ( String argv [ ] ) { 6 DocumentBuilderFactory fabryka = DocumentBuilderFactory. newinstance ( ) ; 7 try { 8 DocumentBuilder budowniczy = fabryka. newdocumentbuilder ( ) ; 9 dokument = budowniczy. newdocument ( ) ; 10 Element root = ( Element ) dokument. createelement ( " rootelement " ) ; 11 dokument. appendchild ( root ) ; 12 root. appendchild ( dokument. createtextnode ( "Some " ) ) ; 13 root. appendchild ( dokument. createtextnode ( " " ) ) ; 14 root. appendchild ( dokument. createtextnode ( "text " ) ) ; 15 } catch ( ParserConfigurationException e ) { 16 e. printstacktrace ( ) ; 17 } 18 } 19 } Dr inż. Stanisław Polak 15 Przedmiot: XML i jego zastosowania Dr inż. Stanisław Polak 16 Przedmiot: XML i jego zastosowania

5 Obsługa walidacji Serializacja dokumentu Użycie JAXP API class DOM { 3 public static void main ( String [ ] args ) { fabryka. setvalidating(true) ; 6 fabryka. setnamespaceaware(true) ; 7 try { budowniczy. seterrorhandler (MojHandlerBledow()); } } // main ( ) 14 / / 15 private static class MojHandlerBledow implements ErrorHandler { 16 public void warning ( SAXParseException e ) throws SAXException { 17 System. out. println ( e. getmessage ( ) ) ; // gdy np. encja zosta ł a zadeklarowana kilka razy 18 } public void error ( SAXParseException e ) throws SAXException { 21 System. out. println ( e. getmessage ( ) ) ; // gdy dokument n i e j e s t v a l i d 22 } public void fatalerror ( SAXParseException e ) throws SAXException { 25 System. out. println ( e. getmessage ( ) ) ; //gdy dokument n i e j e s t w e l l formed 26 } 27 } // MojHandlerBledow //SAX import javax. xml. transform. ; 3 import javax. xml. transform. dom. ; 4 import javax. xml. transform. stream. 5 6 public class DOMCreate{ 7 static Document dokument ; 8 9 public static void main ( String argv [ ] ) { 10 try{ TransformerFactory fabryka = TransformerFactory. newinstance ( ) ; 13 Transformer transformer = fabryka. newtransformer ( ) ; 14 Source we = new DOMSource ( dokument ) ; 15 Result wy = new StreamResult ( System. out ) ; 16 transformer. transform ( we, wy ) ; 17 } catch ( ParserConfigurationException e ) { 18 e. printstacktrace ( ) ; 19 } catch ( TransformerConfigurationException e ) { 20 System. out. println ( "This DOM does not support transforms." ) ; 21 } catch ( TransformerException e ) { 22 System. out. println ( " Transform failed." ) ; 23 } 24 } 25 } Dr inż. Stanisław Polak 17 Przedmiot: XML i jego zastosowania Dr inż. Stanisław Polak 18 Przedmiot: XML i jego zastosowania Serializacja dokumentu Użycie DOM Level 3 Load and Save STAX JAXP STAX import org. w3c. dom. bootstrap. ; 3 import org. w3c. dom. ls. ; 4 5 public class DOMCreate{ 6 static Document dokument ; 7 8 public static void main ( String argv [ ] ) { 9 try{ DOMImplementationRegistry fabryka = DOMImplementationRegistry. newinstance ( ) ; 12 DOMImplementationLS impl = ( DOMImplementationLS ) fabryka. getdomimplementation ( "LS" ) ; 13 LSSerializer pisarz = impl. createlsserializer ( ) ; 14 String str = pisarz. writetostring ( dokument ) ; 15 System. out. println ( str ) ; 16 }catch ( ParserConfigurationException e ) { 17 e. printstacktrace ( ) ; 18 } catch ( ClassNotFoundException e ) { 19 e. printstacktrace ( ) ; 20 } catch ( InstantiationException e ) { 21 e. printstacktrace ( ) ; 22 } catch ( IllegalAccessException e ) { 23 e. printstacktrace ( ) ; 24 } 25 } 26 } Ang. Streaming API for XML API w języku Java do odczytu i zapisu dokumentów XML Dostarcza standardowego interfejsu dwukierunkowego 1 parsera strumieniowego Oferuje prostszy, w stosunku do SAX, model programistyczny oraz bardziej efektywne, w stosunku do DOM, zarządzanie pamięcią 1 odczyt / zapis dokumentu XML Dr inż. Stanisław Polak 19 Przedmiot: XML i jego zastosowania Dr inż. Stanisław Polak 20 Przedmiot: XML i jego zastosowania

6 STAX JAXP Sposoby korzystania STAX JAXP Pakiety Za pomocą kursora Interfejsy XMLStreamReader XMLStreamWriter Metody geteventtype() get... ()... Najważniejsze różnice Za pomocą zdarzeń Interfejsy XMLEventReader XMLEventWriter Metody nextevent()... Obiekty utworzone z podklas XMLEvent są niezmienne (ang. immutable) i mogą być stosowane w tablicach, listach i mapach; ponadto mogą być przekazywane za pośrednictwem aplikacji nawet jeżeli parser przeniósł się do kolejnego zdarzenia. Można dodawać i usuwać zdarzenia ze strumienia zdarzeń XML w dużo prostszy sposób niż w przypadku podejścia za pomocą kursora. javax.xml.stream javax.xml.stream.events Dr inż. Stanisław Polak 21 Przedmiot: XML i jego zastosowania Dr inż. Stanisław Polak 22 Przedmiot: XML i jego zastosowania STAX JAXP Przetwarzanie istniejącego dokumentu Podejście za pomocą kursora STAX JAXP Przetwarzanie istniejącego dokumentu Podejście za pomocą zdarzeń 1 import javax. xml. stream. ; 2 import java. net. URL ; 3 import java. io. ; 4 5 public class StAXRead { 6 public static void main ( String [ ] args ) { 7 String input = args [ 0 ] ; 8 try { 9 URL u = new URL ( input ) ; 10 InputStream we = u. openstream ( ) ; 11 XMLInputFactory fabryka = XMLInputFactory. newinstance ( ) ; 12 XMLStreamReader parser = fabryka. createxmlstreamreader ( we ) ; 13 for ( int zdarzenie = parser. next ( ) ; zdarzenie!= XMLStreamConstants. END_DOCUMENT ; zdarzenie = parser. next ( ) ) { 14 switch ( zdarzenie ){ 15 case XMLStreamConstants. START_ELEMENT : 16 System. out. print ( " Wykryto znacznik otwieraj ący: "+parser. getlocalname ( )+"\n" ) ; 17 break ; } 20 } 21 parser. close ( ) ; 22 } 23 catch ( XMLStreamException ex ) { 24 System. out. println ( ex ) ; 25 } 26 catch ( IOException ex ) { 27 System. out. println ( " IOException while parsing " + input ) ; 29 } 30 } 1 import javax. xml. stream. ; 2 import javax. xml. stream. events. ; 3 import java. io. ; 4 5 public class StAXRead { 6 public static void main ( String [ ] args ) { 7 XMLEventReader czytelnik=null ; 8 try{ 9 czytelnik = XMLInputFactory. newinstance ( ). createxmleventreader ( new java. io. FileInputStream ( args [ 0 ] ) ) ; 10 while ( czytelnik. hasnext ( ) ) { 11 XMLEvent zdarzenie = ( XMLEvent ) czytelnik. nextevent ( ) ; 12 System. out. print ( zdarzenie ) ; 13 } 14 } 15 catch ( FileNotFoundException e ) { 16 e. printstacktrace ( ) ; 17 } 18 catch ( XMLStreamException e ) { 19 e. printstacktrace ( ) ; 20 } 21 } 22 } Dr inż. Stanisław Polak 23 Przedmiot: XML i jego zastosowania Dr inż. Stanisław Polak 24 Przedmiot: XML i jego zastosowania

7 STAX JAXP Tworzenie dokumentu Podejście za pomocą kursora STAX JAXP Tworzenie dokumentu Podejście za pomocą zdarzeń 1 import javax. xml. stream. ; 2 import java. io. ; 3 4 class StAXWrite{ 5 public static void main ( String [ ] args ) { 6 try{ 7 OutputStream out = new FileOutputStream ( " data. xml " ) ; 8 XMLOutputFactory fabryka = XMLOutputFactory. newinstance ( ) ; 9 XMLStreamWriter pisarz = fabryka. createxmlstreamwriter ( out ) ; 10 pisarz. writestartdocument ( "UTF -8", "1.0 " ) ; 11 pisarz. writestartelement ( " greeting " ) ; 12 pisarz. writeattribute ( "id", "g1" ) ; 13 pisarz. writecharacters ( " Hello StAX " ) ; 14 pisarz. writeenddocument ( ) ; 15 pisarz. flush ( ) ; 16 pisarz. close ( ) ; 17 out. close ( ) ; 18 } 19 catch ( FileNotFoundException e ) { 20 e. printstacktrace ( ) ; 21 } 22 catch ( XMLStreamException e ) { 23 e. printstacktrace ( ) ; 24 } 25 catch ( IOException e ) { 26 e. printstacktrace ( ) ; 27 } 29 } //Na wyj ś ciu : <?xml version = 1.0 encoding= UTF 8?><greeting id= g1 >Hello StAX</greeting> 1 import javax. xml. stream. ; 2 import javax. xml. stream. events. ; 3 4 class StAXWrite{ 5 public static void main ( String [ ] args ) { 6 try{ 7 XMLOutputFactory fabryka = XMLOutputFactory. newinstance ( ) ; 8 XMLEventWriter pisarz = fabryka. createxmleventwriter ( System. out ) ; 9 XMLEventFactory xmleventfactory = XMLEventFactory. newinstance ( ) ; 10 StartDocument startdokument = xmleventfactory. createstartdocument ( "UTF -8", "1.0 " ) ; 11 pisarz. add ( startdokument ) ; 12 StartElement greetingse = xmleventfactory. createstartelement ( "", "", " greeting " ) ; 13 pisarz. add ( greetingse ) ; 14 Attribute atrybut = xmleventfactory. createattribute ( "id", "g1" ) ; 15 pisarz. add ( atrybut ) ; 16 Characters tekst = xmleventfactory. createcharacters ( " Hello StAx " ) ; 17 pisarz. add ( tekst ) ; 18 EndElement greetingee = xmleventfactory. createendelement ( "", "", " greeting " ) ; 19 pisarz. add ( greetingee ) ; 20 EndDocument ed = xmleventfactory. createenddocument ( ) ; 21 pisarz. add ( ed ) ; 22 pisarz. flush ( ) ; 23 pisarz. close ( ) ; 24 } 25 catch ( XMLStreamException e ) { 26 e. printstacktrace ( ) ; 27 } 29 } //Na wyj ś ciu : <?xml version = 1.0 encoding= UTF 8?><greeting id= g1 >Hello StAx</greeting> Dr inż. Stanisław Polak 25 Przedmiot: XML i jego zastosowania Dr inż. Stanisław Polak 26 Przedmiot: XML i jego zastosowania XSLT JAXP XSLT WE / WY XSLT JAXP XSLT API ciąg bajtów/znaków (np. plik, połączenie sieciowe), strumień zdarzeń SAX, drzewo DOM, parser strumieniowy StAX (od Java SE 6). Dr inż. Stanisław Polak 27 Przedmiot: XML i jego zastosowania Dr inż. Stanisław Polak 28 Przedmiot: XML i jego zastosowania

8 XSLT JAXP Pakiety XSLT JAXP Przekształcenie dokumentu WE na WY javax.xml.transform javax.xml.transform.dom javax.xml.transform.sax javax.xml.transform.stax javax.xml.transform.stream public class TransformerPlik { 3 4 public static void main ( String [ ] args ) { try { 7 System. out. println ( "Początek działania." ) ; 8 9 / tworzymy transformer ( z XSLT albo bez ) / 10 TransformerFactory fabryka = TransformerFactory. newinstance ( ) ; 11 Transformer transformer ; 12 if ( args. length >= 3) 13 transformer = fabryka. newtransformer ( new StreamSource ( args [ 2 ] ) ) ; 14 else 15 transformer = fabryka. newtransformer ( ) ; / ź rod ło i cel przekszta ł cenia / 18 Source src = new StreamSource ( args [ 0 ] ) ; 19 Result res = new StreamResult ( args [ 1 ] ) ; / i p r z e k s z t a ł camy / 22 System. out. println ( "Początek przekształcania." ) ; 23 transformer. transform ( src, res ) ; 24 System. out. println ( "Koniec przekształcania." ) ; 25 } catch ( Exception e ) { 26 System. out. println ( e. getmessage ( ) ) ; 27 e. printstacktrace ( ) ; 29 } 30 } Dr inż. Stanisław Polak 29 Przedmiot: XML i jego zastosowania Dr inż. Stanisław Polak 30 Przedmiot: XML i jego zastosowania JAXB JAXB Charakterystyka JAXB Architektura Ang. Java Architecture for XML Binding Realizuje ideę wiązania XML w Javie Mapowanie hierarchii klas na schemat dokumentu XML Wchodzi w skład JavaEE oraz JAVA SE 1.6 Dr inż. Stanisław Polak 31 Przedmiot: XML i jego zastosowania Dr inż. Stanisław Polak 32 Przedmiot: XML i jego zastosowania

9 JAXB Przykład Hello World JAXB Proces wiązania Plik XML Schema 1. Generowanie klas 2. Kompilowanie klas 3. Odczyt danych (Unmarshal) 4. Generowanie drzewa zawartości 5. Walidacja (opcjonalna) 6. Przetwarzanie zawartości 7. Zapis danych XML (Marshal) 1 <? xml version=" 1.0 " e n c o d i n g="utf -8"?> 2 <xsd:schema x m l n s : x s d=" http: // /2001/ XMLSchema " 3 x m l n s : j x b=" http: // java.sun.com /xml /ns/jaxb " 4 j x b : v e r s i o n=" 2.0 "> 5 6 <x s d : e l e m e n t name=" Greetings " t y p e=" GreetingListType "/> 7 8 <xsd:complextype name=" GreetingListType "> 9 <x s d : s e q u e n c e> 10 <x s d : e l e m e n t name=" Greeting " t y p e=" GreetingType " 11 maxoccurs=" unbounded "/> 12 </ x s d : s e q u e n c e> 13 </ xsd:complextype> <xsd:complextype name=" GreetingType "> 16 <x s d : s e q u e n c e> 17 <x s d : e l e m e n t name="text " t y p e=" xsd:string "/> 18 </ x s d : s e q u e n c e> 19 <x s d : a t t r i b u t e name=" language " t y p e=" xsd:language "/> 20 </ xsd:complextype> </ xsd:schema> 1 $ xjc p hello hello. xsd 2 parsing a schema... 3 compiling a schema... 4 hello / GreetingListType. java 5 hello / GreetingType. java 6 hello / ObjectFactory. java Kompilacja schematu hello.xsd Dr inż. Stanisław Polak 33 Przedmiot: XML i jego zastosowania Dr inż. Stanisław Polak 34 Przedmiot: XML i jego zastosowania Przykład Hello World JAXB Wygenerowane pliki Plik GreetingType.java Przykład Hello World JAXB Wygenerowane pliki Plik GreetingListType.java 1 package hello ; public class GreetingType { ( name = "Text ", required = true ) 5 protected String text ; ( name = " language " ) ( CollapsedStringAdapter. class ) ( name = " language " ) 9 protected String language ; public String gettext ( ) { 12 return text ; 13 } public void settext ( String value ) { 16 this. text = value ; 17 } public String getlanguage ( ) { 20 return language ; 21 } public void setlanguage ( String value ) { 24 this. language = value ; 25 } 26 } 1 package hello ; public class GreetingListType { ( name = " Greeting ", required = true ) 5 protected List<GreetingType> greeting ; 6 7 public List<GreetingType> getgreeting ( ) { 8 if ( greeting == null ) { 9 greeting = new ArrayList<GreetingType >() ; 10 } 11 return this. greeting ; 12 } 13 } Dr inż. Stanisław Polak 35 Przedmiot: XML i jego zastosowania Dr inż. Stanisław Polak 36 Przedmiot: XML i jego zastosowania

10 Przykład Hello World JAXB Wygenerowane pliki Plik ObjectFactory.java 1 package hello ; public class ObjectFactory { 4 5 private final static QName _Greetings_QNAME = new QName ( "", " Greetings " ) ; 6 7 public ObjectFactory ( ) { 8 } 9 10 public GreetingListType creategreetinglisttype ( ) { 11 return new GreetingListType ( ) ; 12 } public GreetingType creategreetingtype ( ) { 15 return new GreetingType ( ) ; 16 } 17 ( namespace = "", name = " Greetings " ) 19 public JAXBElement<GreetingListType> creategreetings ( GreetingListType value ) { 20 return new JAXBElement<GreetingListType >(_Greetings_QNAME, GreetingListType. class, null, value ) ; 21 } 22 } Dr inż. Stanisław Polak 37 Przedmiot: XML i jego zastosowania Przykład Hello World JAXB Przykład użycia Plik Hello.java 1 import java. util. ; 2 import javax. xml. bind. ; 3 import hello. ; 4 5 public class Hello { 6 private ObjectFactory of ; 7 private GreetingListType grlist ; 8 9 public static void main( String argv [ ] ) { 10 Hello h = new Hello ( ) ; 11 h. make ( " Bonjour, madame ", "fr" ) ; 12 h. make ( "Hey, you ", "en" ) ; 13 h. marshal ( ) ; 14 } 15 public Hello ( ){ 16 of = new ObjectFactory ( ) ; 17 grlist = of. creategreetinglisttype ( ) ; 18 } public void make( String t, String l ){ 21 GreetingType g = of. creategreetingtype ( ) ; 22 g. settext ( t ) ; 23 g. setlanguage ( l ) ; 24 grlist. getgreeting ( ). add ( g ) ; 25 } public void marshal ( ) { 28 try { 29 JAXBElement<GreetingListType> gl = of. creategreetings ( grlist ) ; 30 JAXBContext jc = JAXBContext. newinstance ( " hello " ) ; 31 Marshaller m = jc. createmarshaller ( ) ; 32 m. marshal ( gl, System. out ) ; 33 } catch ( JAXBException jbe ) {... } 34 } 35 } Dr inż. Stanisław Polak 38 Przedmiot: XML i jego zastosowania Przykład Hello World JAXB Dokument wynikowy JDOM Inne interfejsy programistyczne JDOM Ogólna charakterystyka 1 <? xml version=" 1.0 " e n c o d i n g="utf -8" standalone=" yes "?> 2 <G r e e t i n g s> 3 <G r e e t i n g l a n g u a g e="fr"> 4 <Text>Bonjour, madame</ Text> 5 </ G r e e t i n g> 6 <G r e e t i n g l a n g u a g e="en"> 7 <Text>Hey, you</ Text> 8 </ G r e e t i n g> 9 </ G r e e t i n g s> hello.xml API oparte na drzewie, przeznaczone tylko do obsługi XML i tylko w języku Java. Inaczej niż w DOM, węzły drzewa są reprezentowane jako konkretne klasy, a nie interfejsy Nie zawiera własnego parsera Obiekt DOM Document można konwertować w obiekt Document w JDOM Dane dla drzewa mogą pochodzić ze źródeł nie-xml Drzewo JDOM można modyfikować Możliwość serializacji drzewa Dr inż. Stanisław Polak 39 Przedmiot: XML i jego zastosowania Dr inż. Stanisław Polak 40 Przedmiot: XML i jego zastosowania

11 JDOM Inne interfejsy programistyczne Tworzenie dokumentu 1 import org. jdom2. ; 2 import org. jdom2. input. ; 3 import org. jdom2. output. ; 4 import java. io. ; 5 6 public class JDOM { 7 public static void main ( String [ ] args ) { 8 Element message = new Element ( " message " ) ; 9 message. setattribute ( " type ", " normal " ) ; 10 message. addcontent ( new Text ( " Hello World!" ) ) ; 11 Element root = new Element ( "root " ) ; 12 root. addcontent ( message ) ; 13 Document doc = new Document ( root ) ; 14 XMLOutputter xout = new 15 XMLOutputter ( Format. getprettyformat ( ) ) ; 16 try{ 17 xout. output ( doc, System. out ) ; 18 } 19 catch ( IOException e ){} 20 } 21 } dom4j Inne interfejsy programistyczne dom4j Ogólna charakterystyka Biblioteka do pracy z XML, XPath oraz XSLT Mniejszy i szybszy w stosunku do JDOM Węzły reprezentowane przez interfejsy Java Możliwość tworzenia dokumentu na podstawie zdarzeń SAX lub drzewa DOM i zapisywania go w postaci zdarzeń SAX lub drzewa DOM Na wyjściu <?xml version="1.0" encoding="utf-8"?> <root> <message type="normal">hello World!</message> </root> Dr inż. Stanisław Polak 41 Przedmiot: XML i jego zastosowania Dr inż. Stanisław Polak 42 Przedmiot: XML i jego zastosowania dom4j Inne interfejsy programistyczne XOM Inne interfejsy programistyczne Tworzenie dokumentu 1 import org. dom4j. Document ; 2 import org. dom4j. DocumentHelper ; 3 import org. dom4j. Element ; 4 import org. dom4j. io. OutputFormat ; 5 import org. dom4j. io. XMLWriter ; 6 import java. io. ; 7 8 public class DOM4J { 9 10 public Document createdocument ( ) { 11 Document document = DocumentHelper. createdocument ( ) ; 12 Element root = document. addelement ( " root " ) ; 13 Element message = root. addelement ( " message " ) 14. addattribute ( " type ", " normal " ) 15. addtext ( " Hello World!" ) ; 16 return document ; 17 } public static void main ( String [ ] args ) { 20 DOM4J dom4j = new DOM4J ( ) ; 21 Document document = dom4j. createdocument ( ) ; 22 OutputFormat format = OutputFormat. createprettyprint ( ) ; 23 try{ 24 XMLWriter writer = new XMLWriter ( System. out, format ) ; 25 writer. write ( document ) ; 26 } 27 catch ( IOException e ){} 29 } Drzewiasta reprezentacja dokumentu XML Koncepcje zapożyczone z JDOM Używa parsera SAX do stworzenia drzewa... Funkcjonalności, które nie występują w JDOM Obsługa XInclude Lepsze wsparcie dla dokumentów nieprawidłowych, w tym walidacja bez odrzucenia nieprawidłowych dokumentów i zgłaszanie więcej niż jednego błędu walidacji na dokument... Dr inż. Stanisław Polak 43 Przedmiot: XML i jego zastosowania Dr inż. Stanisław Polak 44 Przedmiot: XML i jego zastosowania

12 XOM Inne interfejsy programistyczne Źródła Tworzenie dokumentu Źródła I 1 import nu. xom. ; 2 3 public class XOM { 4 5 public static void main ( String [ ] args ) { 6 7 Element root = new Element ( "root " ) ; 8 Element message = new Element ( " message " ) ; 9 Attribute type = new Attribute ( "type ", " normal " ) ; 10 message. addattribute ( type ) ; 11 message. appendchild ( " Hello World!" ) ; 12 root. appendchild ( message ) ; 13 Document doc = new Document ( root ) ; 14 String result = doc. toxml ( ) ; 15 System. out. println ( result ) ; 16 } 17 } Patryk Czarnik. XML i nowoczesne technologie zarządzania treścią. Elliotte Rusty Harold. An Introduction to StAX. Elliotte Rusty Harold. XOM Tutorial. Jason Hunter, i in. JDOM Wolfgang Laun. A JAXB Tutorial. Dr inż. Stanisław Polak 45 Przedmiot: XML i jego zastosowania Dr inż. Stanisław Polak 46 Przedmiot: XML i jego zastosowania Źródła Źródła II MetaStuff Ltd. DOM4j Quick start. Oracle Sun. The Java Web Services Tutorial. Inc. Sun Microsystems. Java API for XML Processing (JAXP) Tutorial. html/intro.html. W3C. Document Object Model (DOM) Level 3 Core Specification. Dr inż. Stanisław Polak 47 Przedmiot: XML i jego zastosowania

SAX i DOM wykorzystanie XML-a we własnych aplikacjach. Simple API for XML Parsing Document Object Model

SAX i DOM wykorzystanie XML-a we własnych aplikacjach. Simple API for XML Parsing Document Object Model SAX i DOM wykorzystanie XML-a we własnych aplikacjach Simple API for XML Parsing Document Object Model 1 SAX - wstęp Definicja: standardowy interfejs do parsowania plików XML oparty na modelu zdarzeniowym

Bardziej szczegółowo

Procesowanie dokumentów XML

Procesowanie dokumentów XML Uniwersytet Łódzki Wydział Matematyki i Informatyki, Katedra Analizy Nieliniowej Procesowanie dokumentów XML Programowanie w Javie 2 mgr inż. Michał Misiak Cechy XML Sformalizowany zapis informacji restrykcyjne

Bardziej szczegółowo

XML in own applications

XML in own applications XML in own applications Patryk Czarnik Institute of Informatics University of Warsaw XML and Modern Techniques of Content Management 2010/11 Introduction XML in own applications Models Generyczne drzewo

Bardziej szczegółowo

Wykorzystywanie parsera DOM w programach Java i PL/SQL

Wykorzystywanie parsera DOM w programach Java i PL/SQL Wykorzystywanie parsera DOM w programach Java i PL/SQL Maciej Zakrzewicz mzakrz@cs.put.poznan.pl http://www.cs.put.poznan.pl/~mzakrz/ Parser DOM Aplikacja DOM API Parser DOM Dokument XML Drzewo DOM Parser

Bardziej szczegółowo

Podstawy XML-a. Zaawansowane techniki programowania

Podstawy XML-a. Zaawansowane techniki programowania Podstawy XML-a Zaawansowane techniki programowania Dokumenty XML XML = ang. Extensible Markup Language rozszerzalny język znaczników

Bardziej szczegółowo

XML i Java 1. XML. 1.1. Budowa dokumentu XML. Projektowanie systemów informatycznych

XML i Java 1. XML. 1.1. Budowa dokumentu XML. Projektowanie systemów informatycznych 1. XML 1.1. Budowa dokumentu XML XML i Java XML (ang. Extensible Markup Language) rozszerzalny język znaczników. Jest to standard mający bardzo szeroki zakres zastosowań. Dokument XML składa się z następujących

Bardziej szczegółowo

JAVA I XML ZAGADNIENIA: DOM, SAX, JAXB, XMLDecoder i XMLEncoder, ANT.

JAVA I XML ZAGADNIENIA: DOM, SAX, JAXB, XMLDecoder i XMLEncoder, ANT. JAVA I XML ZAGADNIENIA: DOM, SAX, JAXB, XMLDecoder i XMLEncoder, ANT. MATERIAŁY: http://www.mkyong.com/tutorials/java-xml-tutorials/ http://ant.apache.org http://th-www.if.uj.edu.pl/zfs/ciesla/ JĘZYK JAVA,

Bardziej szczegółowo

XML we własnych aplikacjach

XML we własnych aplikacjach XML we własnych aplikacjach Patryk Czarnik Instytut Informatyki UW XML i nowoczesne technologie zarządzania treścią 2008/09 Wykorzystanie XML we własnych aplikacjach Odczyt zawartości dokumentów XML. Modyfikacja

Bardziej szczegółowo

XML we własnych aplikacjach

XML we własnych aplikacjach XML we własnych aplikacjach Patryk Czarnik Instytut Informatyki UW XML i nowoczesne technologie zarzadzania treścia 2008/09 Patryk Czarnik 09 Programy XML 2008/09 1 / 1 Wprowadzenie XML we własnych aplikacjach

Bardziej szczegółowo

Zaawansowane aplikacje WWW - laboratorium

Zaawansowane aplikacje WWW - laboratorium Zaawansowane aplikacje WWW - laboratorium Przetwarzanie XML (część 2) Celem ćwiczenia jest przygotowanie aplikacji, która umożliwi odczyt i przetwarzanie pliku z zawartością XML. Aplikacja, napisana w

Bardziej szczegółowo

Kotwasiński Obsługa XMLa z poziomu Javy

Kotwasiński Obsługa XMLa z poziomu Javy Obsługa XMLa z poziomu Javy Adam 5 kwietnia 2009 Co możemy zrobić odczyt zawartości dokumentów XML modyfikacja i zapis dokumentów walidacja dokumentu podczas parsowania przed zapisaniem wzdględem DTD,

Bardziej szczegółowo

XML i Java. Technologie zarządzania treścią. dr inż. Robert Perliński rperlinski@icis.pcz.pl

XML i Java. Technologie zarządzania treścią. dr inż. Robert Perliński rperlinski@icis.pcz.pl XML i Java Technologie zarządzania treścią dr inż. Robert Perliński rperlinski@icis.pcz.pl Politechnika Częstochowska Instytut Informatyki Teoretycznej i Stosowanej XML i Java 2/57 SAX vs. DOM Dwa podstawowe

Bardziej szczegółowo

XML we własnych aplikacjach

XML we własnych aplikacjach XML we własnych aplikacjach Patryk Czarnik Instytut Informatyki UW XML i nowoczesne technologie zarządzania treścią 2011/12 Wprowadzenie XML we własnych aplikacjach XML w Javie Modele dostępu do dokumentu

Bardziej szczegółowo

XML in own applications

XML in own applications XML in own applications Patryk Czarnik Institute of Informatics University of Warsaw XML and Modern Techniques of Content Management 2010/11 Patryk Czarnik 10 Programming XML 2010/11 1 / 43 1 Introduction

Bardziej szczegółowo

XML we własnych aplikacjach

XML we własnych aplikacjach XML we własnych aplikacjach Patryk Czarnik Instytut Informatyki UW XML i nowoczesne technologie zarzadzania treścia 2011/12 Patryk Czarnik 10 Programy XML 2011/12 1 / 55 1 Wprowadzenie XML we własnych

Bardziej szczegółowo

Modele dostępu do dokumentu XML. Implementacja modelu parser. SAX2 pakiet org.xml.sax. Działanie modelu SAX przykład

Modele dostępu do dokumentu XML. Implementacja modelu parser. SAX2 pakiet org.xml.sax. Działanie modelu SAX przykład Modele dostępu do dokumentu XML Wykorzystanie XML-a we własnych aplikacjach Pozwalają programistom na wysokopoziomowy dostęp do zawartości dokumentów XML : korzystamy z abstrakcyjnych obiektów, nie troszczymy

Bardziej szczegółowo

Katalog książek cz. 2

Katalog książek cz. 2 Katalog książek cz. 2 Odczytywanie danych z XML Do ćwiczenia dołączony jest plik books.xml zawierający pełen katalog książek. Poniższy listing zawiera przykładowy fragment danych w stosowanym formacie.

Bardziej szczegółowo

XML w.net. Dominik Baś nr alb. 160345. Wrocław, 29 maja 2007

XML w.net. Dominik Baś nr alb. 160345. Wrocław, 29 maja 2007 XML w.net Dominik Baś nr alb. 160345 Wrocław, 29 maja 2007 Przetwarzanie dokumentów XML API: SAX Simple Api for XML - przetwarzanie strumieniowe DOM - Document Object Model - odwzorowanie dokumentu XML

Bardziej szczegółowo

Przetwarzanie dokumentów XML i zaawansowane techniki WWW Wykład 07

Przetwarzanie dokumentów XML i zaawansowane techniki WWW Wykład 07 Plan Przetwarzanie dokumentów XML i zaawansowane techniki WWW Wykład 07 T. Romańczukiewicz Jagiellonian University 2009/2010 Plan Plan 1 JAXB Plan JAXB Przypomnienie Wstęp Przykład Typy danych Unmarshalling

Bardziej szczegółowo

Kurs programowania. Wykład 1. Wojciech Macyna. 3 marca 2016

Kurs programowania. Wykład 1. Wojciech Macyna. 3 marca 2016 Wykład 1 3 marca 2016 Słowa kluczowe języka Java abstract, break, case, catch, class, const, continue, default, do, else, enum, extends, final, finally, for, goto, if, implements, import, instanceof, interface,

Bardziej szczegółowo

Kurs programowania. Wykład 9. Wojciech Macyna. 28 kwiecień 2016

Kurs programowania. Wykład 9. Wojciech Macyna. 28 kwiecień 2016 Wykład 9 28 kwiecień 2016 Java Collections Framework (w C++ Standard Template Library) Kolekcja (kontener) Obiekt grupujacy/przechowuj acy jakieś elementy (obiekty lub wartości). Przykładami kolekcji sa

Bardziej szczegółowo

Przetwarzanie dokumentów XML i zaawansowane techniki WWW Wykład 06

Przetwarzanie dokumentów XML i zaawansowane techniki WWW Wykład 06 Plan Przetwarzanie dokumentów XML i zaawansowane techniki WWW Wykład 06 T. Romańczukiewicz Jagiellonian University 2009/2010 Plan Plan 1 SAX 2 Podsumowanie Plan SAX Podsumowanie Przypomnienie Wstęp Obsługa

Bardziej szczegółowo

SAX2 pakiet org.xml.sax

SAX2 pakiet org.xml.sax Modele dostępu do dokumentu XML 23 października 2003 Wykorzystanie XML-a we własnych aplikacjach Pozwalają programistom na dostęp do zawartości dokumentów XML na wysokim poziomie: korzystamy z abstrakcyjnych

Bardziej szczegółowo

JAX-RS czyli REST w Javie. Adam Kędziora

JAX-RS czyli REST w Javie. Adam Kędziora JAX-RS czyli REST w Javie Adam Kędziora Webservice Usługa sieciowa (ang. web service) komponent programowy niezależny od platformy i implementacji, dostarczający określonej funkcjonalności. SOAP,UDDI,XML,WSDL

Bardziej szczegółowo

Podstawy i języki programowania

Podstawy i języki programowania Podstawy i języki programowania Laboratorium 8 - wprowadzenie do obsługi plików tekstowych i wyjątków mgr inż. Krzysztof Szwarc krzysztof@szwarc.net.pl Sosnowiec, 11 grudnia 2017 1 / 34 mgr inż. Krzysztof

Bardziej szczegółowo

Kurs programowania. Wykład 9. Wojciech Macyna

Kurs programowania. Wykład 9. Wojciech Macyna Wykład 9 Java Collections Framework (w C++ Standard Template Library) Kolekcja (kontener) Obiekt grupujacy/przechowuj acy jakieś elementy (obiekty lub wartości). Przykładami kolekcji sa zbiór, lista czy

Bardziej szczegółowo

Java. Programowanie Obiektowe Mateusz Cicheński

Java. Programowanie Obiektowe Mateusz Cicheński Java Programowanie Obiektowe Mateusz Cicheński Wielowątkowość Proces a wątek? Thread vs Runnable sleep(), interrupt(), join() Problemy wielowątkowości Obiekty niemodyfikowalne (immutable) Serializacja

Bardziej szczegółowo

SOAP. Autor: Piotr Sobczak

SOAP. Autor: Piotr Sobczak SOAP Autor: Piotr Sobczak AGENDA: Trochę o Web Services Wprowadzenie do SOAP Anatomia komunikatu SOAP Wysyłanie i otrzymywanie komunikatu SOAP oraz API Javy w przykładach SOAP z załącznikami SOAP-RPC Obsługa

Bardziej szczegółowo

Programowanie obiektowe

Programowanie obiektowe Programowanie obiektowe Wykład 2: Wstęp do języka Java 3/4/2013 S.Deniziak: Programowanie obiektowe - Java 1 Cechy języka Java Wszystko jest obiektem Nie ma zmiennych globalnych Nie ma funkcji globalnych

Bardziej szczegółowo

libxml2 parser DOM dla C++ czwartek, 8 grudnia 11

libxml2 parser DOM dla C++ czwartek, 8 grudnia 11 libxml2 parser DOM dla C++ 1 SAX vs. DOM Dwa podstawowe typy API do przetwarzania dokumentów XML: Oparte na drzewach (ang. Tree-based API) - mapują strukturę dokumentu do drzewa i pozwalają użytkownikowi

Bardziej szczegółowo

Strumienie i serializacja

Strumienie i serializacja Strumienie i serializacja Prezentacja dostępna na Syriuszu: http://sirius.cs.put.poznan.pl/~inf80156 Klasy: InputStream, OutputStream, Reader i Writer W Javie hierarchia strumieni oparta jest o cztery

Bardziej szczegółowo

Programowanie w języku Java - Wyjątki, obsługa wyjątków, generowanie wyjątków

Programowanie w języku Java - Wyjątki, obsługa wyjątków, generowanie wyjątków Programowanie w języku Java - Wyjątki, obsługa wyjątków, generowanie wyjątków mgr inż. Maciej Lasota Version 1.0, 13-05-2017 Spis treści Wyjątki....................................................................................

Bardziej szczegółowo

akademia androida Składowanie danych część VI

akademia androida Składowanie danych część VI akademia androida Składowanie danych część VI agenda 1. SharedPreferences. 2. Pamięć wewnętrzna i karta SD. 3. Pliki w katalogach /res/raw i /res/xml. 4. Baza danych SQLite. 5. Zadanie. 1. SharedPreferences.

Bardziej szczegółowo

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

Java Zadanie 1. Aby poprawnie uruchomić aplikację desktopową, należy zaimplementować główną metodę zapewniającą punkt wejścia do programu. Wstęp Java Zadanie Celem laboratorium jest zapoznanie się z podstawami platformy oraz języka Java. W ramach zadania należy przygotować aplikację zarządzania notatkami użytkownika obsługiwaną z konsoli.

Bardziej szczegółowo

JĘZYK PYTHON - NARZĘDZIE DLA KAŻDEGO NAUKOWCA. Marcin Lewandowski [ mlew@ippt.gov.pl ]

JĘZYK PYTHON - NARZĘDZIE DLA KAŻDEGO NAUKOWCA. Marcin Lewandowski [ mlew@ippt.gov.pl ] JĘZYK PYTHON - NARZĘDZIE DLA KAŻDEGO NAUKOWCA Marcin Lewandowski [ mlew@ippt.gov.pl ] XML 2 XML XML jest formatem tekstowym Zjadliwy dla ludzi Zawiera treść (dane) oraz znaczniki (markup) Znaczniki i zależności

Bardziej szczegółowo

Wykorzystanie XML a we własnych aplikacjach

Wykorzystanie XML a we własnych aplikacjach 2 grudnia 2004 Wykorzystanie XML a we własnych aplikacjach Patryk Czarnik (na podstawie wykładu Szymona Zioło) Modele dostępu do dokumentów XML Pozwalają programistom na dostęp do zawartości dokumentów

Bardziej szczegółowo

Kurs programowania. Wykład 3. Wojciech Macyna. 22 marca 2019

Kurs programowania. Wykład 3. Wojciech Macyna. 22 marca 2019 Wykład 3 22 marca 2019 Klasy wewnętrzne Klasa wewnętrzna class A {... class B {... }... } Klasa B jest klasa wewnętrzna w klasie A. Klasa A jest klasa otaczajac a klasy B. Klasy wewnętrzne Właściwości

Bardziej szczegółowo

Kurs języka Python Wykład 8. Przetwarzanie tekstu Wyrażenia regularne Biblioteka urllib Parsowanie html'a XML

Kurs języka Python Wykład 8. Przetwarzanie tekstu Wyrażenia regularne Biblioteka urllib Parsowanie html'a XML Kurs języka Python Wykład 8. Przetwarzanie tekstu Wyrażenia regularne Biblioteka urllib Parsowanie html'a XML Wyrażenia regularne c:\> dir *.exe $ rm *.tmp Wyrażenia regularne 'alamakota' '(hop!)*' { '',

Bardziej szczegółowo

Programowanie obiektowe

Programowanie obiektowe Programowanie obiektowe Wykład 5 Marcin Młotkowski 23 marca 2017 Plan wykładu 1 2 3 4 5 Marcin Młotkowski Programowanie obiektowe 2 / 50 Historia Początkowe założenia Projekt OAK Sterowanie urządzeniami

Bardziej szczegółowo

Kurs programowania. Wykład 10. Wojciech Macyna. 05 maja 2016

Kurs programowania. Wykład 10. Wojciech Macyna. 05 maja 2016 Wykład 10 05 maja 2016 Biblioteka wejścia/wyjścia (Input/Output) import java.io.*; Umożliwia przechowywania danych na nośniku zewnętrznym Dane moga być wysyłane do plików, na drukarkę, do bufora pamięci,

Bardziej szczegółowo

Java JMX. Marcin Werla. Monitorowanie i zarządzanie usługami sieciowymi w Javie. mwerla@man.poznan.pl PCSS/Poznań JUG

Java JMX. Marcin Werla. Monitorowanie i zarządzanie usługami sieciowymi w Javie. mwerla@man.poznan.pl PCSS/Poznań JUG Java JMX Monitorowanie i zarządzanie usługami sieciowymi w Javie Marcin Werla mwerla@man.poznan.pl PCSS/Poznań JUG Plan prezentacji Wprowadzenie Specyfikacja Dodatkowe narzędzia i biblioteki Studium przypadku

Bardziej szczegółowo

1 Klasa File. 2 Writer. Programowanie w j zyku Java - Adam Krechowicz. Klasa File zapewnia podstawowe operacje na plikach

1 Klasa File. 2 Writer. Programowanie w j zyku Java - Adam Krechowicz. Klasa File zapewnia podstawowe operacje na plikach Programowanie w j zyku Java - Adam Krechowicz 1 Klasa File Klasa File zapewnia podstawowe operacje na plikach import java.io.file; public class FileTest { File f = new File("/home/adam/abc.txt"); f.createnewfile();

Bardziej szczegółowo

Perl a XML. Narzędzia informatyczne w językoznawstwie. Generowanie danych XML - Przykład. Generowanie danych XML. Perl - Przetwarzanie XML

Perl a XML. Narzędzia informatyczne w językoznawstwie. Generowanie danych XML - Przykład. Generowanie danych XML. Perl - Przetwarzanie XML Perl a XML Narzędzia informatyczne w językoznawstwie Perl - Przetwarzanie XML Marcin Junczys-Dowmunt junczys@amu.edu.pl Zakład Logiki Stosowanej http://www.logic.amu.edu.pl 31 modułów w CPAN zawiera w

Bardziej szczegółowo

Systemy operacyjne na platformach mobilnych

Systemy operacyjne na platformach mobilnych Systemy operacyjne na platformach mobilnych Wykład 4 Grzegorz Jabłoński, Piotr Perek Katedra Mikroelektroniki i Technik Informatycznych Zagadnienia wykładu Menadżer połączeń Usługi HTTP Klient HTTP Żądanie

Bardziej szczegółowo

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

Sposoby tworzenia projektu zawierającego aplet w środowisku NetBeans. Metody zabezpieczenia komputera użytkownika przed działaniem apletu. Sposoby tworzenia projektu zawierającego aplet w środowisku NetBeans. Metody zabezpieczenia komputera użytkownika przed działaniem apletu. Dr inż. Zofia Kruczkiewicz Dwa sposoby tworzenia apletów Dwa sposoby

Bardziej szczegółowo

Wykład 6 Dziedziczenie cd., pliki

Wykład 6 Dziedziczenie cd., pliki Wykład 6 Dziedziczenie cd., pliki Autor: Zofia Kruczkiewicz 1. Dziedziczenie cd. 2. Pliki - serializacja Zagadnienia 1. Dziedziczenie aplikacja Kalkultory_2 typu Windows Forms prezentująca dziedziczenie

Bardziej szczegółowo

Zaawansowany kurs języka Python

Zaawansowany kurs języka Python Wykład 5. 30 października 2013 Plan wykładu 1 2 3 4 yield from Zamiast Example for item in iterable: yield item: można pisać Example yield from iterable Plan wykładu 1 2 3 4 Przykłady wyrażeń regularnych

Bardziej szczegółowo

Tworzenie aplikacji w języku Java

Tworzenie aplikacji w języku Java Tworzenie aplikacji w języku Java Wykład 1 Piotr Czapiewski Wydział Informatyki ZUT 2 października 2009 Piotr Czapiewski (Wydział Informatyki ZUT) Tworzenie aplikacji w języku Java 2 października 2009

Bardziej szczegółowo

Zaawansowane aplikacje internetowe - laboratorium Web Services (część 1).

Zaawansowane aplikacje internetowe - laboratorium Web Services (część 1). Zaawansowane aplikacje internetowe - laboratorium Web Services (część 1). Celem ćwiczenia jest przygotowanie prostej aplikacji internetowej wykorzystującej technologię usług sieciowych (ang. Web Services).

Bardziej szczegółowo

Język JAVA podstawy. Wykład 6, część 2. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna

Język JAVA podstawy. Wykład 6, część 2. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna Język JAVA podstawy Wykład 6, część 2 Jacek Rumiński 1 Język JAVA podstawy Plan wykładu: 1. Wprowadzenie do operacji wejścia/wyjścia: strumienie 2. Podstawowe klasy strumieni i InputStream/OutputStream

Bardziej szczegółowo

Instrukcja 10 Laboratorium 13 Testy akceptacyjne z wykorzystaniem narzędzia FitNesse

Instrukcja 10 Laboratorium 13 Testy akceptacyjne z wykorzystaniem narzędzia FitNesse Instrukcja 10 Laboratorium 13 Testy akceptacyjne z wykorzystaniem narzędzia FitNesse 1 Cel laboratorium: Nabycie umiejętności przygotowywania testów akceptacyjnych za pomocą narzędzia FitNesse 1. Wg wskazówek

Bardziej szczegółowo

XML we własnych aplikacjach

XML we własnych aplikacjach XML we własnych aplikacjach Patryk Czarnik Instytut Informatyki UW XML i nowoczesne technologie zarzadzania treścia 2007/08 Wprowadzenie XML we własnych aplikacjach XML w Javie Modele dostępu do dokumentu

Bardziej szczegółowo

Usługi WWW. dr Zbigniew Lipiński Instytut Matematyki i Informatyki ul. Oleska 48 50-204 Opole zlipinski@math.uni.opole.pl

Usługi WWW. dr Zbigniew Lipiński Instytut Matematyki i Informatyki ul. Oleska 48 50-204 Opole zlipinski@math.uni.opole.pl Budowa aplikacji sieciowych. Usługi WWW dr Zbigniew Lipiński Instytut Matematyki i Informatyki ul. Oleska 48 50-204 Opole zlipinski@math.uni.opole.pl Usługi WWW W3C Working Group, Web Services Architecture,

Bardziej szczegółowo

WSNHiD, Programowanie 2, Lab. 3. Trwałość danych

WSNHiD, Programowanie 2, Lab. 3. Trwałość danych WSNHiD, Programowanie 2, Lab. 3 Trwałość danych Wyjątki Nietypowe sytuacje, które podczas normalnego wykonywania programu nie powinny się wydarzyć obsługiwane są w języku Java za pomocą wyjątków. Przyjrzyjmy

Bardziej szczegółowo

Programowanie rozproszone w języku Java

Programowanie rozproszone w języku Java Wstęp Gniazda RMI Podsumowanie Programowanie rozproszone w języku Java Wojciech Rząsa wrzasa@prz-rzeszow.pl Katedra Informatyki i Automatyki, Politechnika Rzeszowska 25 maja 2015 Wojciech Rząsa, KIiA PRz

Bardziej szczegółowo

Wprowadzenie do technologii Web Services: SOAP, WSDL i UDDI

Wprowadzenie do technologii Web Services: SOAP, WSDL i UDDI Wprowadzenie do technologii Web Services: SOAP, WSDL i UDDI Maciej Zakrzewicz PLOUG mzakrz@cs.put.poznan.pl Plan prezentacji Wprowadzenie do architektury zorientowanej na usługi Charakterystyka technologii

Bardziej szczegółowo

Extensible Markup Language (XML) Wrocław, Java - technologie zaawansowane

Extensible Markup Language (XML) Wrocław, Java - technologie zaawansowane Extensible Markup Language (XML) Wrocław, 15.03.2019 - Java - technologie zaawansowane Wprowadzenie XML jest językiem znaczników (ang. markup language) używanym do definiowania zbioru zasad rozmieszczenia

Bardziej szczegółowo

1 Atrybuty i metody klasowe

1 Atrybuty i metody klasowe 1 Atrybuty i metody klasowe Składowe klasowe (statyczne) Każdy obiekt klasy posiada własny zestaw atrybutów. Metody używają atrybutów odpowiedniego obiektu. Czasem potrzeba atrybutów wspólnych dla wszystkich

Bardziej szczegółowo

XML we własnych aplikacjach

XML we własnych aplikacjach XML we własnych aplikacjach Patryk Czarnik Instytut Informatyki UW XML i nowoczesne technologie zarzadzania treścia 2007/08 Patryk Czarnik (MIMUW) 09 Programy XML 2007/08 1 / 48 Plan 1 Wprowadzenie XML

Bardziej szczegółowo

Programowanie obiektowe

Programowanie obiektowe Programowanie obiektowe Wykład 9: Wyjątki 5/5/2013 S.Deniziak:Programowanie obiektowe - Java 1 Co to jest wyjątek? błąd wykonania: InputFile.java:8: Warning: Exception java.io.filenotfoundexception must

Bardziej szczegółowo

Sosnowiec, dn... Imię i nazwisko...

Sosnowiec, dn... Imię i nazwisko... Sosnowiec, dn.... Imię i nazwisko... Test znajomości zaawansowanch technik programowania składa się z 10 ptań. Dla każdego ptania zaproponowano czter odpowiedzi, z którch tlko jedna jest prawidłowa. Na

Bardziej szczegółowo

Obiektowe programowanie rozproszone Java RMI. Krzysztof Banaś Systemy rozproszone 1

Obiektowe programowanie rozproszone Java RMI. Krzysztof Banaś Systemy rozproszone 1 Obiektowe programowanie rozproszone Java RMI Krzysztof Banaś Systemy rozproszone 1 Java RMI Mechanizm zdalnego wywołania metod Javy (RMI Remote Method Invocation) posiada kilka charakterystycznych cech,

Bardziej szczegółowo

JAVA. Strumienie wejścia i wyjścia. Pliki - zapis i odczyt

JAVA. Strumienie wejścia i wyjścia. Pliki - zapis i odczyt JAVA Pliki - zapis i odczyt Opracował: Andrzej Nowak Bibliografia: JAVA Szkoła programowania, D. Trajkowska Ćwiczenia praktyczne JAVA. Wydanie III,M. Lis Strumienie wejścia i wyjścia Strumienie wejścia

Bardziej szczegółowo

Systemy Rozproszone - Ćwiczenie 6

Systemy Rozproszone - Ćwiczenie 6 Systemy Rozproszone - Ćwiczenie 6 1 Obiekty zdalne Celem ćwiczenia jest stworzenie obiektu zdalnego świadczącego prostą usługę nazewniczą. Nazwy i odpowiadające im punkty końcowe będą przechowywane przez

Bardziej szczegółowo

Plan wykładu CORBA. Cechy aplikacji rozproszonych. Aplikacje rozproszone

Plan wykładu CORBA. Cechy aplikacji rozproszonych. Aplikacje rozproszone Plan wykładu CORBA Wprowadzenie Architektura CORBA IDL język definicji interfejsów ORB Object Request Broker Usługi i POA Aplikacje CORBA tworzenie serwera tworzenie klienta Aplikacje rozproszone Cechy

Bardziej szczegółowo

Narzędzia i aplikacje Java EE. Usługi sieciowe Paweł Czarnul pczarnul@eti.pg.gda.pl

Narzędzia i aplikacje Java EE. Usługi sieciowe Paweł Czarnul pczarnul@eti.pg.gda.pl Narzędzia i aplikacje Java EE Usługi sieciowe Paweł Czarnul pczarnul@eti.pg.gda.pl Niniejsze opracowanie wprowadza w technologię usług sieciowych i implementację usługi na platformie Java EE (JAX-WS) z

Bardziej szczegółowo

Tworzenie i wykorzystanie usług

Tworzenie i wykorzystanie usług Strona 1 Co to jest usługa w systemie Android? Usługi HTTP Obsługa wywołania HTTP GET Obsługa wywołania HTTP POST Obsługa wieloczęściowego wywołania HTTP POST Usługi lokalne Usługi zdalne Tworzenie usługi

Bardziej szczegółowo

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

Katedra Architektury Systemów Komputerowych Wydział Elektroniki, Telekomunikacji i Informatyki Politechniki Gdańskiej Katedra Architektury Systemów Komputerowych Wydział Elektroniki, Telekomunikacji i Informatyki Politechniki Gdańskiej dr inż. Paweł Czarnul pczarnul@eti.pg.gda.pl Architektury usług internetowych laboratorium

Bardziej szczegółowo

Programowane refleksyjne i serializacja

Programowane refleksyjne i serializacja 1 Programowane refleksyjne i serializacja 1. Programowanie refleksyjne: przegląd wybranych klas z pakietu java.lang i java.lang.reflect, dynamiczne obiekty proxy. 2. Serializacja interfejs Serializable,

Bardziej szczegółowo

Przetwarzanie dokumentów XML i zaawansowane techniki WWW Wykład 05

Przetwarzanie dokumentów XML i zaawansowane techniki WWW Wykład 05 Plan Przetwarzanie dokumentów XML i zaawansowane techniki WWW Wykład 05 T. Romańczukiewicz Jagiellonian University 2009/2010 Plan Plan 1 DOM 2 DOM w innych językach 3 Podsumowanie Plan DOM DOM w innych

Bardziej szczegółowo

1. Co można powiedzieć o poniższym kodzie? public interface I { void m1() {}; static public void m2() {}; void abstract m3();

1. Co można powiedzieć o poniższym kodzie? public interface I { void m1() {}; static public void m2() {}; void abstract m3(); 1. Co można powiedzieć o poniższym kodzie? public interface I { void m1() {; static public void m2() {; void abstract m3(); default static void m4() {; a) Poprawnie zadeklarowano metodę m1() b) Poprawnie

Bardziej szczegółowo

Biblioteki dzielone, XML i readline

Biblioteki dzielone, XML i readline Bogdan Kreczmer bogdan.kreczmer@pwr.edu.pl Katedra Cybernetyki i Robotyki Politechnika Wrocławska Kurs: Copyright c 2017 Bogdan Kreczmer Niniejszy dokument zawiera materiały do wykładu dotyczącego programowania

Bardziej szczegółowo

XML i nowoczesne technologie zarządzania treścią

XML i nowoczesne technologie zarządzania treścią XML i nowoczesne technologie zarządzania treścią Egzamin, 7 lutego 2014 r. Imię i nazwisko: Czas: 90 minut. Maksymalna suma punktów: 50. Pytania testowe są wielokrotnego wyboru, można przyjąć że co najmniej

Bardziej szczegółowo

Wprowadzenie do technologii JavaServer Faces 2.1 na podstawie http://docs.oracle.com/javaee/6/tutorial/doc/

Wprowadzenie do technologii JavaServer Faces 2.1 na podstawie http://docs.oracle.com/javaee/6/tutorial/doc/ Wprowadzenie do technologii JavaServer Faces 2.1 na podstawie http://docs.oracle.com/javaee/6/tutorial/doc/ Aplikacja internetowa tworzona na podstawie bazy danych. Programowanie komponentowe 2, Zofia

Bardziej szczegółowo

Wywoływanie metod zdalnych

Wywoływanie metod zdalnych Wywoływanie metod zdalnych model systemu Wywoływanie metod zdalnych aplikacja kliencka interfejs obiekt serwer Podejście obiektowe do budowy systemów rozproszonych proxy szkielet sieć Istota podejścia

Bardziej szczegółowo

Wzorce prezentacji internetowych

Wzorce prezentacji internetowych Wzorce prezentacji internetowych 1. Model kontrolera widoku (Model View Controller). 2. Kontroler strony (Page Controller). 3. Kontroler fasady (Front Controller). 4. Szablon widoku (Template View). 5.

Bardziej szczegółowo

Kurs programowania. Wykład 2. Wojciech Macyna. 17 marca 2016

Kurs programowania. Wykład 2. Wojciech Macyna. 17 marca 2016 Wykład 2 17 marca 2016 Dziedziczenie Klasy bazowe i potomne Dziedziczenie jest łatwym sposobem rozwijania oprogramowania. Majac klasę bazowa możemy ja uszczegółowić (dodać nowe pola i metody) nie przepisujac

Bardziej szczegółowo

Wprowadzenie do technologii JavaServer Faces 2.1 na podstawie http://docs.oracle.com/javaee/6/tutorial/doc/

Wprowadzenie do technologii JavaServer Faces 2.1 na podstawie http://docs.oracle.com/javaee/6/tutorial/doc/ Wprowadzenie do technologii JavaServer Faces 2.1 na podstawie http://docs.oracle.com/javaee/6/tutorial/doc/ Aplikacja internetowa tworzona na podstawie bazy danych. Programowanie komponentowe 2, Zofia

Bardziej szczegółowo

XML w bazach danych, standardy wiążące dokumenty XML

XML w bazach danych, standardy wiążące dokumenty XML XML w bazach danych, standardy wiążące dokumenty XML Patryk Czarnik Instytut Informatyki UW XML i nowoczesne technologie zarządzania treścią 2008/09 Walidacja względem DTD podczas parsowania SAXParserFactory

Bardziej szczegółowo

Programowanie w Javie cz. 1 Wstęp. Łódź, 24 luty 2014 r.

Programowanie w Javie cz. 1 Wstęp. Łódź, 24 luty 2014 r. Programowanie w Javie cz. 1 Wstęp Łódź, 24 luty 2014 r. Prawdy i mity o Javie Java jest techniką webową? (tak, platforma Java EE, aplety) Java jest bezpieczna? (tak, aplety, brak operowania na pamięci)

Bardziej szczegółowo

Aplikacje RMI. Budowa aplikacji rozproszonych. Część 2.

Aplikacje RMI. Budowa aplikacji rozproszonych. Część 2. Aplikacje RMI Część 2 Budowa aplikacji rozproszonych http://java.sun.com/j2se/1.5.0/docs/guide/rmi/socketfactory/index.html I. Implementacja gniazd dziedziczących po Socket i ServerSocket oraz produkcji

Bardziej szczegółowo

XML - wprowadzenie. <message> <text> Dobrze </text> </message> <message> <text> Źle </message> </text> <message> <message> <text> Źle.

XML - wprowadzenie. <message> <text> Dobrze </text> </message> <message> <text> Źle </message> </text> <message> <message> <text> Źle. XML i SOAP 1. XML (extensive Markup Language). wprowadzenie, zastosowania, przykłady, specyfikacje DTD (Document Type Definition). 2. SOAP (Simple Object Access Protocol) struktura wiadomości, zdalne wywołanie

Bardziej szczegółowo

Programowanie obiektowe

Programowanie obiektowe Przygotował: Jacek Sroka 1 Programowanie obiektowe Wykład 9 Serializacja Przygotował: Jacek Sroka 2 Przypomnienie Abstrakcja strumienia hierarchia binarna InputStream/OutputStream hierarchia znakowa Reader/Writer

Bardziej szczegółowo

Zaawansowane aplikacje WWW - laboratorium

Zaawansowane aplikacje WWW - laboratorium Zaawansowane aplikacje WWW - laboratorium Przetwarzanie XML (część 1) Celem ćwiczenia jest przygotowanie aplikacji w języku Java, która będzie służyła do stworzenia dokumentu XML za pomocą Java DOM API.

Bardziej szczegółowo

Java Platform Micro Edition

Java Platform Micro Edition Java Platform Micro Edition Instalacja środowiska programistycznego Java Platform Micro Edition Software Development Kit 3.0 for Windows z lokalizacji http://www.oracle.com/technetwork/java/javame/downloads/sdk30-jsp-139759.html

Bardziej szczegółowo

Interfejsy. Programowanie obiektowe. Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej

Interfejsy. Programowanie obiektowe. Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej Programowanie obiektowe Interfejsy Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej pawel.rogalinski pwr.wroc.pl Interfejsy Autor: Paweł Rogaliński Instytut Informatyki,

Bardziej szczegółowo

Metody dostępu do danych

Metody dostępu do danych Metody dostępu do danych dr inż. Grzegorz Michalski Na podstawie materiałów dra inż. Juliusza Mikody Jak działa JDO Podstawowym zadaniem JDO jest umożliwienie aplikacjom Javy transparentnego umieszczenia

Bardziej szczegółowo

Programowanie Komputerów

Programowanie Komputerów Programowanie Komputerów Łukasz Kuszner pokój 209, WETI http://www.kaims.pl/ kuszner/ kuszner@eti.pg.gda.pl Wykład 30 godzin, Laboratoria 30 godzin 2012/ Strona 1 z 28 1. Tablice w C# Indeksowane od zera

Bardziej szczegółowo

Wykład 8: Obsługa Wyjątków

Wykład 8: Obsługa Wyjątków Wykład 8: Obsługa Wyjątków Wyjątki Wyjątek to sytuacja nienormalna, która pojawia się w trakcie wykonania programu. W językach bez obsługi wyjątków, błędy są wykrywane i obsługiwane ręcznie, zwykle przez

Bardziej szczegółowo

Wywoływanie metod zdalnych

Wywoływanie metod zdalnych Wywoływanie metod zdalnych Podejście obiektowe do budowy systemów rozproszonych Wywoływanie metod zdalnych model systemu obiekt aplikacja kliencka interfejs serwer proxy szkielet sieć Istota podejścia

Bardziej szczegółowo

Wątki. Definiowanie wątków jako klas potomnych Thread. Nadpisanie metody run().

Wątki. Definiowanie wątków jako klas potomnych Thread. Nadpisanie metody run(). Wątki Streszczenie Celem wykładu jest wprowadzenie do obsługi wątków w Javie. Czas wykładu 45 minut. Definiowanie wątków jako klas potomnych Thread Nadpisanie metody run(). class Watek extends Thread public

Bardziej szczegółowo

Obiektowy model dokumentu. Katedra Mikroelektroniki i Technik Informatycznych

Obiektowy model dokumentu. Katedra Mikroelektroniki i Technik Informatycznych Katedra Mikroelektroniki i Technik Informatycznych Łódź, 14 października 2005 roku Wstęp DOM Document Object Model zapewnia: Zbiór obiektów reprezentujących dokumenty XML i HTML. Model łączenia obiektów.

Bardziej szczegółowo

JAVA W SUPER EXPRESOWEJ PIGUŁCE

JAVA W SUPER EXPRESOWEJ PIGUŁCE JAVA W SUPER EXPRESOWEJ PIGUŁCE Obiekt Obiekty programowe to zbiór własności i zachowań (zmiennych i metod). Podobnie jak w świecie rzeczywistym obiekty posiadają swój stan i zachowanie. Komunikat Wszystkie

Bardziej szczegółowo

1. Czynności przygotowujące aplikację działającą na platformie Java SE Biblioteka5 (należy ją pobrać z załącznika z p.1)

1. Czynności przygotowujące aplikację działającą na platformie Java SE Biblioteka5 (należy ją pobrać z załącznika z p.1) Instrukcja tworzenia aplikacji EE na podstawie aplikacji z dostępem do bazy danych, prezentowanej na zajęciach lab.5 z PIO umożliwiająca przez sieć dostęp wielu użytkownikom. Projektowanie i wdrażanie

Bardziej szczegółowo

Kurs rozszerzony języka Python

Kurs rozszerzony języka Python Wykład 5. 3 listopada 2017 Plan wykładu 1 2 3 Plan wykładu 1 2 3 Przykłady wyrażeń regularnych W systemie windows c:\windows\system32> dir *.exe Wynik accwiz.exe actmovie.exe ahui.exe alg.exe append.exe

Bardziej szczegółowo

1. Uruchomić i skonfigurować środowisko tworzenia aplikacji i serwer aplikacji.

1. Uruchomić i skonfigurować środowisko tworzenia aplikacji i serwer aplikacji. Temat Stworzenie systemu składającego się z prostej usługi sieciowej (ang. web service) oraz komunikującej się z nią aplikacji klienckiej umożliwiającej dostęp do usługi przez przeglądarkę internetową.

Bardziej szczegółowo

1. Co będzie wynikiem wykonania poniŝszych instrukcji? g2d.gettransform().scale(1, -1); g2d.gettransform().translate(4, -8); g2d.drawline(4, 0, 4, 4);

1. Co będzie wynikiem wykonania poniŝszych instrukcji? g2d.gettransform().scale(1, -1); g2d.gettransform().translate(4, -8); g2d.drawline(4, 0, 4, 4); 1. Co będzie wynikiem wykonania poniŝszych instrukcji? g2d.gettransform().scale(1, -1); g2d.gettransform().translate(4, -8); g2d.drawline(4, 0, 4, 4); a) b) c) d) 2. Jaki będzie wynik kompilacji i wykonania

Bardziej szczegółowo

JavaFX. Programowanie Obiektowe Mateusz Cicheński

JavaFX. Programowanie Obiektowe Mateusz Cicheński JavaFX Programowanie Obiektowe Mateusz Cicheński Is JavaFX replacing Swing as the new client UI library for Java SE? Yes. http://www.oracle.com/technetwork/java/javafx/overview/faq-1446554.html Zastosowania

Bardziej szczegółowo

5.14 JSP - Przykład z obiektami sesji... 83 5.15 Podsumowanie... 84 5.16 Słownik... 85 5.17 Zadanie... 86

5.14 JSP - Przykład z obiektami sesji... 83 5.15 Podsumowanie... 84 5.16 Słownik... 85 5.17 Zadanie... 86 Spis treści 1 Wprowadzenie - architektura, protokoły, system WWW... 1 1.1 Wstęp.................................................. 1 1.2 Ważniejsze daty......................................... 2 1.3 Protokoły

Bardziej szczegółowo

public interface TravelAgent { public void makereservation(int cruiseid, int cabinid, int customerid, double price); }

public interface TravelAgent { public void makereservation(int cruiseid, int cabinid, int customerid, double price); } Web Services 1. Podstawy usług sieciowych. SOAP, WSDL. 2. Usługi sieciowe w JAX-RPC. interfejs punktu końcowego, korzystanie z usługi z poziomu komponentu EJB, programy klienckie, narzędzia i deskryptory

Bardziej szczegółowo