Dietmar Abts
Masterkurs Client/Server-Programmierung mit Java
Leserstimmen zur 1. Auflage: „Sehr schöne Beispiele. Sehr aktuelle Themen.“ Prof. Dr. Reinhard Brocks, HTW Saarbrücken „Besonders gut gefallen mir die vielen Programmbeispiele und guten Übungsaufgaben.“ Prof. Dr. Helmut Jarosch, FHW Berlin „Beispielhafte, gut verständliche Darstellung einiger nicht trivialen Möglichkeiten von Java...“ Prof. Dr. G. Klein, FH Furtwangen „Ausführliche Beispiele, die für vertiefende Experimente als Quellcode über den Online-Service zum Buch verfügbar sind.“ Prof. Dr. Bernd Steinbach, TU BAF, Freiberg „Praxisnahe Darstellung mit anschaulichen Beispielen und Übungen.“ ez-Informationsdienst, 24/03
Dietmar Abts
Masterkurs Client/ServerProgrammierung mit Java Anwendungen entwickeln mit JDBC, Sockets, XML-RPC, RMI und JMS – Kompakt und praxisnah – Zahlreiche Programmbeispiele und Aufgaben 2., erweiterte und aktualisierte Auflage Mit 68 Abbildungen
Bibliografische Information Der Deutschen Nationalbibliothek Die Deutsche Nationalbibliothek verzeichnet diese Publikation in der Deutschen Nationalbibliografie; detaillierte bibliografische Daten sind im Internet über abrufbar.
Das in diesem Werk enthaltene Programm-Material ist mit keiner Verpflichtung oder Garantie irgendeiner Art verbunden. Der Autor übernimmt infolgedessen keine Verantwortung und wird keine daraus folgende oder sonstige Haftung übernehmen, die auf irgendeine Art aus der Benutzung dieses Programm-Materials oder Teilen davon entsteht. Die Wiedergabe von Gebrauchsnamen, Handelsnamen, Warenbezeichnungen usw. in diesem Werk berechtigt auch ohne besondere Kennzeichnung nicht zu der Annahme, dass solche Namen im Sinne von Warenzeichen- und Markenschutz-Gesetzgebung als frei zu betrachten wären und daher von jedermann benutzt werden dürfen. Höchste inhaltliche und technische Qualität unserer Produkte ist unser Ziel. Bei der Produktion und Auslieferung unserer Bücher wollen wir die Umwelt schonen: Dieses Buch ist auf säurefreiem und chlorfrei gebleichtem Papier gedruckt. Die Einschweißfolie besteht aus Polyäthylen und damit aus organischen Grundstoffen, die weder bei der Herstellung noch bei der Verbrennung Schadstoffe freisetzen.
1. Auflage 2003 Diese Auflage erschien unter dem Titel „Aufbaukurs JAVA“ 2., erweiterte und aktualisierte Auflage April 2007 Alle Rechte vorbehalten © Friedr. Vieweg & Sohn Verlag | GWV Fachverlage GmbH, Wiesbaden 2007 Lektorat: Sybille Thelen / Andrea Broßler Der Vieweg Verlag ist ein Unternehmen von Springer Science+Business Media. www.vieweg.de Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Jede Verwertung außerhalb der engen Grenzen des Urheberrechtsgesetzes ist ohne Zustimmung des Verlags unzulässig und strafbar. Das gilt insbesondere für Vervielfältigungen, Übersetzungen, Mikroverfilmungen und die Einspeicherung und Verarbeitung in elektronischen Systemen. Umschlaggestaltung: Ulrike Weigel, www.CorporateDesignGroup.de Umschlagbild: Nina Faber de.sign, Wiesbaden Druck- und buchbinderische Verarbeitung: MercedesDruck, Berlin Printed in Germany ISBN 978-3-8348-0322-1
!"#!"$ &'" ()$(*%+',-./( !"#$ &$'( )*+,$ ,'$ -$(+'$-.'/0$ 1!($"2$+!+-$'(*"# ,*+/0 34"4.'(0'5/0$ 6")$"7 ,*"#58+4#+!33$ !*9% :+4;+$/0"$+" -$5('33(< ='( ,$3 6*9>433$" 24" 8+$'5)$+7 ($" 3'((.$+$" ?$/0"$+5@5($3$" *", AB5 -$#!"" $'" 5(!+>$+ C+$", D*+ 1$D$"(+!.'5'$7 +*"#< E$*($ 5'", 2$+($'.($ 6")$",*"#$" F-.'/0G ,$+$" H4384"$"($" !*9% *"($+7 5/0'$,.'/0$" ?$/0"$+" '3 I$(D 3'($'"!",$+ >448$+'$+$" *", ,!-$' ,'$ ?$554*+/$" ,$+ -$($'.'#($" J@5($3$ 48('3!. !*5"*(D$"< K'"$ 5$0+ 2$+-+$'($($ 6")$",*"# ,'$5$+ 6+( '5( ,!5 L4+., L',$ L$-< 6*9% ,$+ !",$+$" J$'($ 5($..$" !-$+ 2$+($'.($ J@5($3$ 040$ 6"94+,$+*"#$" !" ,'$ J49()!+$$"()'/>.$+< 1'$5$ 3F55$" 5'/0 3'( A+4-.$3$" ,$+ H433*"'>!('4" *", H44+,'"!('4" "$-$".M*9'#$+ A+4D$55$ '" $'"$3 0$($+4#$"$" N39$., -$5/0M9('#$"< =4,$+"$ A+4#+!33'$+>4"D$8($ *", $'"$ !*5#$+$'9($ ($/0"'7 5/0$ O"9+!5(+*>(*+ P=',,.$)!+$Q -'$($" N"($+5(F(D*"# -$' ,$+ K"()'/>.*"# 2$+($'.($+ 6")$",*"#$"< 1$+ 24+.'$#$",$ =!5($+>*+5 -'$($( $'"$ >438!>($ K'"9F0+*"# '" !>(*$..$ *", D*7 >*"9(5)$'5$",$ C$/0"4.4#'$" !*9%,$+ R!5'5 24" S!2! JK !- T$+5'4" UX"7 "$" 3'( R!5'5>$""("'55$" ,$+ A+4#+!33'$+58+!/0$ S!2! $+!+-$'($( )$+,$"< :$#$"F-$+ ,$+ $+5($" 6*9.!#$ 3'( ,$3 C'($. Y6*9-!*>*+5 S!2!Y '5( $'" H!8'($. F-$+ "!/0+'/0($"4+'$"('$+($ =',,.$)!+$ !*9% ,$+ R!5'5 24" S=J 0'"D*#$>433$"< N3 ,'$ C0$3!('> ,$5 R*/0$5 '3 C'($. -$55$+ !*5D*,+F/>$"G )*+,$ ,'$5$+ 9F+ ,'$ "$*$ 6*97 .!#$ #$M",$+(Z Y=!5($+>*+5 B.'$"([J$+2$+7A+4#+!33'$+*"# 3'( S!2!Y< 6..$ R$'58'$.$ )*+,$" >438.$(( F-$+!+-$'($( *", ($'.)$'5$ ,*+/0 "$*$ $+5$(D(< J'$ 5'", 9F+ ,'$ !>7 (*$..$" T$+5'4"$" ,$+ 0'$+ $'"#$5$(D($" A+4,*>($ P=@J\ G 68!/0$ 1$+-@G 68!/0$ ]= 7?ABG 68!/0$ C43/!(G SR455 6JG 68!/0$ 6/('2$=\Q .!*99M0'#< 1$+ \*$../4,$ !..$+ A+4#+!33$ 54)'$ ,'$ X5*"#$" D* ,$" W-*"#5!*9#!-$" .'$#$" '3 O"($+"$( D*3 14)".4!, -$+$'(< 1$" &*#!"# D* ,'$5$" &*5!(D3!($+'!.'$" 9'",$" J'$ !*9 ,$+ L$-5'($ ,$5 T$+.!#5 www.vieweg.de
,'+$>( "$-$" ,$" -'-.'4#+!80'5/0$" 6"#!-$" D* ,'$5$3 R*/0< T'$.$ K+9!0+*"#$"G ,'$ '/0 '3 ?!03$" $'"$+ 2'$+ J$3$5($+)4/0$"5(*",$" *37 9!55$",$" $0+2$+!"5(!.(*"# D*3 C0$3! YT$+($'.($ J@5($3$Y #$)4""$" 0!-$G 5'", '" ,'$5$5 R*/0 $'"#$9.455$"< O/0 0499$G ,!55 J'$ 2'$. J8!; -$' ,$+ K+!+-$'(*"# ,$5 J(499$5 *", ,$+ K"()'/>.*"# $'#$"$+ A+4#+!33$ 0!-$"< 6"+$#*"#$" *", E'")$'5$ 5$",$" J'$ -'(($ !" ,'$ 94.7 #$",$ 6,+$55$Z
[email protected]
?!('"#$"G =M+D ^VV_
1'$(3!+ 6-(5
!"#!"$ &'" ()$(*%+',-./( !"#$ &$'( )*+,$ ,'$ -$(+'$-.'/0$ 1!($"2$+!+-$'(*"# ,*+/0 34"4.'(0'5/0$ 6")$"7 ,*"#58+4#+!33$ !*9% :+4;+$/0"$+" -$5('33(< ='( ,$3 6*9>433$" 24" 8+$'5)$+7 ($" 3'((.$+$" ?$/0"$+5@5($3$" *", AB5 -$#!"" $'" 5(!+>$+ C+$", D*+ 1$D$"(+!.'5'$7 +*"#< E$*($ 5'", 2$+($'.($ 6")$",*"#$" F-.'/0G ,$+$" H4384"$"($" !*9% *"($+7 5/0'$,.'/0$" ?$/0"$+" '3 I$(D 3'($'"!",$+ >448$+'$+$" *", ,!-$' ,'$ ?$554*+/$" ,$+ -$($'.'#($" J@5($3$ 48('3!. !*5"*(D$"< K'"$ 5$0+ 2$+-+$'($($ 6")$",*"# ,'$5$+ 6+( '5( ,!5 L4+., L',$ L$-< 6*9% ,$+ !",$+$" J$'($ 5($..$" !-$+ 2$+($'.($ J@5($3$ 040$ 6"94+,$+*"#$" !" ,'$ J49()!+$$"()'/>.$+< 1'$5$ 3F55$" 5'/0 3'( A+4-.$3$" ,$+ H433*"'>!('4" *", H44+,'"!('4" "$-$".M*9'#$+ A+4D$55$ '" $'"$3 0$($+4#$"$" N39$., -$5/0M9('#$"< =4,$+"$ A+4#+!33'$+>4"D$8($ *", $'"$ !*5#$+$'9($ ($/0"'7 5/0$ O"9+!5(+*>(*+ P=',,.$)!+$Q -'$($" N"($+5(F(D*"# -$' ,$+ K"()'/>.*"# 2$+($'.($+ 6")$",*"#$"< 1$+ 24+.'$#$",$ =!5($+>*+5 -'$($( $'"$ >438!>($ K'"9F0+*"# '" !>(*$..$ *", D*7 >*"9(5)$'5$",$ C$/0"4.4#'$" !*9%,$+ R!5'5 24" S!2! JK !- T$+5'4" UX"7 "$" 3'( R!5'5>$""("'55$" ,$+ A+4#+!33'$+58+!/0$ S!2! $+!+-$'($( )$+,$"< :$#$"F-$+ ,$+ $+5($" 6*9.!#$ 3'( ,$3 C'($. Y6*9-!*>*+5 S!2!Y '5( $'" H!8'($. F-$+ "!/0+'/0($"4+'$"('$+($ =',,.$)!+$ !*9% ,$+ R!5'5 24" S=J 0'"D*#$>433$"< N3 ,'$ C0$3!('> ,$5 R*/0$5 '3 C'($. -$55$+ !*5D*,+F/>$"G )*+,$ ,'$5$+ 9F+ ,'$ "$*$ 6*97 .!#$ #$M",$+(Z Y=!5($+>*+5 B.'$"([J$+2$+7A+4#+!33'$+*"# 3'( S!2!Y< 6..$ R$'58'$.$ )*+,$" >438.$(( F-$+!+-$'($( *", ($'.)$'5$ ,*+/0 "$*$ $+5$(D(< J'$ 5'", 9F+ ,'$ !>7 (*$..$" T$+5'4"$" ,$+ 0'$+ $'"#$5$(D($" A+4,*>($ P=@J\ G 68!/0$ 1$+-@G 68!/0$ ]= 7?ABG 68!/0$ C43/!(G SR455 6JG 68!/0$ 6/('2$=\Q .!*99M0'#< 1$+ \*$../4,$ !..$+ A+4#+!33$ 54)'$ ,'$ X5*"#$" D* ,$" W-*"#5!*9#!-$" .'$#$" '3 O"($+"$( D*3 14)".4!, -$+$'(< 1$" &*#!"# D* ,'$5$" &*5!(D3!($+'!.'$" 9'",$" J'$ !*9 ,$+ L$-5'($ ,$5 T$+.!#5 www.vieweg.de
,'+$>( "$-$" ,$" -'-.'4#+!80'5/0$" 6"#!-$" D* ,'$5$3 R*/0< T'$.$ K+9!0+*"#$"G ,'$ '/0 '3 ?!03$" $'"$+ 2'$+ J$3$5($+)4/0$"5(*",$" *37 9!55$",$" $0+2$+!"5(!.(*"# D*3 C0$3! YT$+($'.($ J@5($3$Y #$)4""$" 0!-$G 5'", '" ,'$5$5 R*/0 $'"#$9.455$"< O/0 0499$G ,!55 J'$ 2'$. J8!; -$' ,$+ K+!+-$'(*"# ,$5 J(499$5 *", ,$+ K"()'/>.*"# $'#$"$+ A+4#+!33$ 0!-$"< 6"+$#*"#$" *", E'")$'5$ 5$",$" J'$ -'(($ !" ,'$ 94.7 #$",$ 6,+$55$Z
[email protected]
?!('"#$"G =M+D ^VV_
1'$(3!+ 6-(5
!"#$%&'()*(+,"!+& "#$%'($) ($* +,($*%-)&$
!
!!
"#$%&'&$()*+&*
!
!-
"&$.&/0.& 123.&'&
4
!5
673 80/&*.91&$:&$;
!4
A)@+7%&*
-4
.
/-'&$0-$1-$2&$*($)&$ 3#' 4/56
-L
-!
6/& A$B?/.&(.)$ :#* N6O8;A*E&*=)*+&*
-L
--
P$3.& O&/3G/&0& --! 6/& O&/3G/&0;67.&*%7*( --"&$%/*=)*+37)@%7) --5 1PQP8F;A%@$7+&* 7)3E&$.&*
5! 5! 55 5L
-5
N6O8;67.&*.2G&*
4C
-4
A)3@R?$)*+ :#* 1SQ;A*E&/3)*+&* -4! F$7*37(./#*&* -467.&*%7*(T*=&$)*+&* -45 U$&G7$&= 1.7.&'&*.3
4D 4D 4I D4
-D
P/* &/*@7B?&3 V$#*.&*= @R$ 1SQ;67.&*%7*(&*
DL
-I
1G&/B?&$)*+ +$#W&$ X%Y&(.&
I5
-L
Z7:/+7./#* )*= [*=&$)*+&* /* =&$ P$+&%*/3'&*+&
II
->
P\()$3] ^
P\()$3] ^
F?$&7=;U##0/*+
!4C
4_
P/* V$7'&E#$( @R$ F8U;1&$:&$
!45
4 !C
A)@+7%&*
!4I
E
F3G%&3&$'#&,($) $&9 HDD=B@&,A&,9
!4_
D!
673 U$#.#(#00 bFFU
!4_
D-
P/* &/*@7B?&$ V/0&;1&$:&$
!D>
D5
P/* bFFU;1&$:&$ @R$ 1SQ;A%@$7+&*
!I!
D4
P/* &/*@7B?&$ c&%3&$:&$
!I>
DD
c&%3&/.&* =2*7'/3B? &$H&)+&*
!L>
DI
A)@+7%&*
!>>
I
JKL M&3:'& =,:N&*(,& 6-%%9 OJKLBM=6P
!_!
I!
J$)*=(#*H&G. )*= &/* &$3.&3 O&/3G/&0
!_!
I-
^
I5
M#'G0&\& 67.&*3.$)(.)$&*
-C>
I4
62*7'/3B?& U$#\/&3
-!_
ID
V/0.&$)*+ :#* KU;A=$&33&*
--!
II
P/*%&..)*+ :#* ^I
A)@+7%&*
->_
/-9 =,:V&1'A&,2-%'($)92&,1W&() C$'
-_!
=,:),-33A&,WNS$#9
-_D
C(R)-0&$A&,WNS$#9
-_L
F$'&,$&'BX(&%%&$
-__
L#'&,-'(,S#$2 &
5C!
@'#NS2:,'A&,WNS$#9
5CD
"#$%'($) ($* +,($*%-)&$ .
/0,1&2&,3($)&$
!"! $%&' ()*+) !,- -)(& .*+ .))%./)+) 0&1.&!22%)&-3&!4() 56& .&17) 8/+)&/)+9 */' 8/+&!/)+9:/$)/'*/.)/ %/-;)-1/')&) !*5 ')& ?!- "1&,%).)/') G*4( ;)-4(@5+%.+ -%4( 2%+ ')& 823,)2)/+%)&*/. C"#!6#%D.$/ "1/ !"#$%&'#()#(*+$,#$-.$/#$ !*5 G!-%- ')& 8/+)&/)+9 0&1+1A1,,)> :/.)-%4(+- ')- D25!/.- ')& H()2)/ 2*--+) )%/) :*-$!(, .)+&155)/ $)&')/B '%) !*4( %/ )%/)2 "%)& I%), ')- G*4()- %-+ )-B 6;)& '%) H()2)/"%),5!,+ !/.)2)--)/ =* %/51&2%)&)/ */' %/ '%) J%/=),+()2)/ -K-+)2!+%-4( 2%+ ')& /L+%9 .)/ H%)5) )%/=*56(&)/> G)-1/')&)& M)&+ $*&') '!;)% !*5 3&!N%-9 /!() 0&1.&!22;)%-3%),) */' O;*/.-!*5.!;)/ .),).+> ?%)-)- G*4( .,%)')&+ -%4( %/ !4(+ C!3%+),B '%) P)$)%,- )%/)/ +.932. -#6 @.:8#6 >?@ %-+ '!- ?!- "1&,%).)/') G*4( ;)-4(@5+%.+ -%4( 2%+ ')& 823,)2)/+%)&*/. C"#!6#%D.$/ "1/ !"#$%&'#()#(*+$,#$-.$/#$ !*5 G!-%- ')& 8/+)&/)+9 0&1+1A1,,)> :/.)-%4(+- ')- D25!/.- ')& H()2)/ 2*--+) )%/) :*-$!(, .)+&155)/ $)&')/B '%) !*4( %/ )%/)2 "%)& I%), ')- G*4()- %-+ )-B 6;)& '%) H()2)/"%),5!,+ !/.)2)--)/ =* %/51&2%)&)/ */' %/ '%) J%/=),+()2)/ -K-+)2!+%-4( 2%+ ')& /L+%9 .)/ H%)5) )%/=*56(&)/> G)-1/')&)& M)&+ $*&') '!;)% !*5 3&!N%-9 /!() 0&1.&!22;)%-3%),) */' O;*/.-!*5.!;)/ .),).+> ?%)-)- G*4( .,%)')&+ -%4( %/ !4(+ C!3%+),B '%) P)$)%,- )%/)/ +.932. -#6 @.:8#6 >?@ %-+ '!- J%/ JNA*&- =)%.+B $%) '!- J&.);/%- )%9 /)& TH^Y9?1A*2)/+ +&!/-9 51&2%)&+ $)&')/ A!//> J%/ $)%+)&)& JNA*&- .%;+ )%/) A*&=) J%/56(&*/. %/ '%) ?GZ9 '5:;#%6 -%/' '%) J/'3*/A+) )%/)& HZ09U)&;%/'*/.> ?!- C!3%+), $%&' 2%+ ')& U1&-+),,*/. )%/)- H(27#* ,5(;6 56& HZ09
X
V J%/,)%+*/. */' W&*/',!.)/ 6.$/#$B '%) =*& Y!*5=)%+ 'K/!2%-4( !*5.);!*+ $)&')/ AL/9 /)/> M%& ;)-4(@5+%.)/ */- 2%+ ')/ W&*/',!.)/ "1/ ?GZB '%) %/+)&)--!/+) Z,%)/+[ J- )&2L.,%4(+B 2%+ .)&%/9 .)2 :*5$!/' ?!+)/3!A)+) =* ")&-)/')/B 1(/) "1&()& )%/) U)&;%/'*/. =*2 J235@/.)& !*5;!*)/ =* 26--)/> M%& )/+$%9 4A),/ *>!> )%/ 0&1.&!22B 2%+ ')2 =$)% G)/*+=)& !/ ")&9 -4(%)')/)/ R)4(/)&/ %2 _)+= )%/) D/+)&(!,+*/. 1/,%/) 56(9 &)/ AL//)/> ? 9%#&$'@A&,B&,CD$6&$*($)&$ 2#' E9> `!-+ !,,) 8/+)&/)+9?%)/-+) /*+=)/ '!- G(2$67"66"5$ 5$%(5! E(5%5:5! EHZ0F> 82 W).)/-!+= =* D?0 -+),,+ HZ0 )%/) ")&,@--9 ,%4() J/')9=*9J/')9U)&;%/'*/. =$%-4()/ ?)& :/$)/'*/.-)/+$%4A,)& 2*-- -%4( ;)% ')& O;)&+&!.*/. )%/)- ?!+)/-+&12- /%4(+ *2 '%) :*5+)%,*/. %/ )%/=),/) 0!A)+) A622)&/> '5:;#%6 -%/' '%) J/'3*/A+) )%/)& HZ09U)&;%/'*/.> ?!- C!3%+), $%&' 2%+ ')& U1&-+),,*/. )%/)- H(27#* ,5(;6 56& HZ09
V>V U1&;)2)&A*/.)/
b
J KLM!N&20'&!>,0O&*(,& 9-%%!PKLMCN>9Q 8/ '%)-)2 C!3%+), ;)(!/'),/ $%& L#75%# E(5:#-.(# 2!!6 ER0ZF */' =)%.)/ !/(!/' ')- M4B*LE 9U)&5!(&)/-B $%) THH0 */' ]^Y !,- ?!+)/!*-+!*-4(51&2!+ 56& ')/ )/+5)&/+)/ 0&1=)'*&!*5&*5# )%/.)-)+=+ $)&')/ AL//)/> :*5 '%)-)& G!-%%23,)2)/+%)&)/ $%& )%/5!4() =#3 '#()":#6 */' =)%.)/B $%) '%) ]^Y9R0Z9U)&!&;)%+*/. %/ +J2:8# G57:2% )%/.);*/')/ $)&')/ A!//> R "$'S&,$'&,!L&'T0*&$-(S,(S!2#'!NLG L#75%# 4#%85-08/"14!+%1/ ER^8F %-+ )%/) )%/5!4() */' ),).!/9 +) :&+B Z,%)/+[ ?)& J/+$%4A,)& A!// -%4( .!/= !*5#'%) 5!4(,%4() `*/A+%19 /!,%+@+ A1/=)/+&%)&)/B /)+=-3)=%5%-4() ?)+!%,- ;,)%;)/ %(2 %2 W).)/-!+= =*& ^%+ T%,5) ')& Q;P)A+-)&%!,%-%)&*/. A!// R^8 ;),%);%.) Q;P)A+) !,- :*5&*53!&!2)+)& )/+5)&/+)& ^)+(19 ')/ 6;)&+&!.)/> ?!;)% A!// !*4( ')& =*.)(L&%.) GK+)41')B -15)&/ )& ,1A!, /%4(+ "1&(!/')/ %-+B !' (14 +&!/-5)&%)&+ $)&9 ')/> ?!2%+ -%/' '!// -)(& 5,)N%;,) :/$)/'*/.)/ 2L.,%4(S 21;%,) :.)/+)/B :/$)/'*/.)/ 2%+ !*+12!+%-4()2 R64A&*5 EZ!,,;!4AF ;)% J%/+&%++ ;)-+%22+)& J&)%./%--)> ?!- C!3%+), -4(,%)7+ 2%+ )%/)2 JNA*&-B ')& =)%.+B $%) R^8 2%+ T%,5) ')ZQRG:90&1+1A1,,- NNOE ZQRG:95@(%. .)2!4(+ $)&')/ A!//> U V-OT,#OT'&$*#&$;'&!2#'!7LA J%/ $%4(+%.)& c W&*/',).)/') C)//+/%--) !*5# ')2 W);%)+ ')& &),!+%1/!,)/ ?!+)/;!/A)/ */' c ?!- M%--)/ *2 8/+)&/)+ */' M1&,' M%') M); */' ')& D29 .!/. 2%+ )%/)2 M);;&1$-)&> c W&*/',!.)/A)//+/%--) %/ TH^Y */' ]^Y>
V>V U1&;)2)&A*/.)/
b
J KLM!N&20'&!>,0O&*(,& 9-%%!PKLMCN>9Q 8/ '%)-)2 C!3%+), ;)(!/'),/ $%& L#75%# E(5:#-.(# 2!!6 ER0ZF */' =)%.)/ !/(!/' ')- M4B*LE 9U)&5!(&)/-B $%) THH0 */' ]^Y !,- ?!+)/!*-+!*-4(51&2!+ 56& ')/ )/+5)&/+)/ 0&1=)'*&!*5&*5# )%/.)-)+=+ $)&')/ AL//)/> :*5 '%)-)& G!-%%23,)2)/+%)&)/ $%& )%/5!4() =#3 '#()":#6 */' =)%.)/B $%) '%) ]^Y9R0Z9U)&!&;)%+*/. %/ +J2:8# G57:2% )%/.);*/')/ $)&')/ A!//> R "$'S&,$'&,!L&'T0*&$-(S,(S!2#'!NLG L#75%# 4#%85-08/"14!+%1/ ER^8F %-+ )%/) )%/5!4() */' ),).!/9 +) :&+B Z,%)/+[ ?)& J/+$%4A,)& A!// -%4( .!/= !*5#'%) 5!4(,%4() `*/A+%19 /!,%+@+ A1/=)/+&%)&)/B /)+=-3)=%5%-4() ?)+!%,- ;,)%;)/ %(2 %2 W).)/-!+= =*& ^%+ T%,5) ')& Q;P)A+-)&%!,%-%)&*/. A!// R^8 ;),%);%.) Q;P)A+) !,- :*5&*53!&!2)+)& )/+5)&/+)& ^)+(19 ')/ 6;)&+&!.)/> ?!;)% A!// !*4( ')& =*.)(L&%.) GK+)41')B -15)&/ )& ,1A!, /%4(+ "1&(!/')/ %-+B !' (14 +&!/-5)&%)&+ $)&9 ')/> ?!2%+ -%/' '!// -)(& 5,)N%;,) :/$)/'*/.)/ 2L.,%4(S 21;%,) :.)/+)/B :/$)/'*/.)/ 2%+ !*+12!+%-4()2 R64A&*5 EZ!,,;!4AF ;)% J%/+&%++ ;)-+%22+)& J&)%./%--)> ?!- C!3%+), -4(,%)7+ 2%+ )%/)2 JNA*&-B ')& =)%.+B $%) R^8 2%+ T%,5) ')ZQRG:90&1+1A1,,- NNOE ZQRG:95@(%. .)2!4(+ $)&')/ A!//> U V-OT,#OT'&$*#&$;'&!2#'!7LA J%/ $%4(+%.)& c W&*/',).)/') C)//+/%--) !*5# ')2 W);%)+ ')& &),!+%1/!,)/ ?!+)/;!/A)/ */' c ?!- M%--)/ *2 8/+)&/)+ */' M1&,' M%') M); */' ')& D29 .!/. 2%+ )%/)2 M);;&1$-)&> c W&*/',!.)/A)//+/%--) %/ TH^Y */' ]^Y>
V J%/,)%+*/. */' W&*/',!.)/
d ?"# @#"6J"#!#
:,,) G)%-3%),3&1.&!22) */' YL-*/.)/ =* ')/ O;*/.-!*5.!;)/ $*&')/ 2%+ T%,5) "1/ !"! f */' !"! f */+)& M%/'1$Xfff */' M%/'1$- ]0 )/+$%4A),+ */' %2 _)+= .)+)-+)+> G)=*.-i*),,)/ AL//)/ !2 J/') ')- G*4()- /!4(.)-4(,!.)/ $)&')/>
?5,$!52-
T%/$)%-) =* $)%9 +)&)/ H11,- */' C,!--)/;%;,%1+()A)/ )&51,.)/ %/ ')/ C!3%+),/B %/ ')/)/ -%) )&-+2!,%. ;)/*+=+ $)&')/> ?!- \*),,)/")&=)%4(/%- !2 J/') ')- G*4()- )/+(@,+ '%) G)=*.-i*),,)/>
.4
/&,'%'& AW;'&2&
D25!--)/') .)-),,-4(!5+,%4() */' $%&+-4(!5+,%4() J/+$%4A,*/.)/ =$%/.)/ D/+)&/)(2)/B -%4( 5,)N%;), !/ U)&@/')&*/.)/ !/=*3!-9 -)/ */' -4(/),, !*5 /)*) ^!&A+-%+*!+%1/)/ =* &)!.%)&)/> G)+&%);9 ,%4()/ :/$)/'*/.--K-+)2)/ A122+ (%)& )%/) ;)-1/')&) G)')*9 +*/. =*> M%) -%/' '%) :/$)/'*/.--K-+)2) =* %23,)2)/+%)&)/B *2 (L4(-+2L.,%4() `,)N%;%,%+@+B U)&,@--,%4(A)%+ */' :/3!--;!&A)%+ =* )&&)%4()/j 45$5!"%8"6:8# ' M)%+)&) J%/=),()%+)/B =>G> =* ')/ )%/.)-)+=+)/ ?!+)/;!/A-K-+)9 2)/ */' ?GZ9H&)%;)&/B AL//)/ C!3%+), X )/+/122)/ $)&')/> G)=*.-i*),,)/ AL//)/ !2 J/') ')- G*4()- /!4(.)-4(,!.)/ $)&')/>
?5,$!52-
T%/$)%-) =* $)%9 +)&)/ H11,- */' C,!--)/;%;,%1+()A)/ )&51,.)/ %/ ')/ C!3%+),/B %/ ')/)/ -%) )&-+2!,%. ;)/*+=+ $)&')/> ?!- \*),,)/")&=)%4(/%- !2 J/') ')- G*4()- )/+(@,+ '%) G)=*.-i*),,)/>
.4
/&,'%'& AW;'&2&
D25!--)/') .)-),,-4(!5+,%4() */' $%&+-4(!5+,%4() J/+$%4A,*/.)/ =$%/.)/ D/+)&/)(2)/B -%4( 5,)N%;), !/ U)&@/')&*/.)/ !/=*3!-9 -)/ */' -4(/),, !*5 /)*) ^!&A+-%+*!+%1/)/ =* &)!.%)&)/> G)+&%);9 ,%4()/ :/$)/'*/.--K-+)2)/ A122+ (%)& )%/) ;)-1/')&) G)')*9 +*/. =*> M%) -%/' '%) :/$)/'*/.--K-+)2) =* %23,)2)/+%)&)/B *2 (L4(-+2L.,%4() `,)N%;%,%+@+B U)&,@--,%4(A)%+ */' :/3!--;!&A)%+ =* )&&)%4()/j 45$5!"%8"6:8# ' ?)& $%4(+%.-+) H&)/' !; Vkkf %-+ '*&4( '!- :*5A122)/ "1/ !"#$%&'#()#(*' 1#(2(3#"%.$/ ?%)-) T%)& $%&' ')& )%.)/+,%4() _*+=)/ ')& :/$)/'*/. )&=%),+> b> ?2%#$82!%.$/ ?%)-) X =)%.+ )%/) M);!/$)/'*/.B '%) ')2 G)/*+=)& '!- 0&19 '*A+!/.);1+ )%/)- D/+)&/)(2)/- 3&@-)/+%)&+> ?%) '&)% ?)& =#33(5,6#( %-+ '%) G)/*+9 =*/.-1;)&5,@4()B '%) '%) !;.)5&!.+)/ 8/51&2!+%1/)/ .&!5%-4( 3&@9 -)/+%)&+> ?)& =#36#()#( )&=)*.+ ?!+)/;!/A!;5&!.)/B ;)&)%+)+ '%) :;5&!.))&.);/%--) !,- M);-)%+) !*5 */' 6;)&2%++),+ '%)-) !/ ')/ Z,%)/+> ?)& ?2%#$32$;6#()#( ")&$!,+)+ ')/ 0&1'*A+A!+!,1. */' 56(&+ '%) ?!+)/;!/A!;5&!.)/ !*-> M);;&1$-)&B M);-)&")& */' ?!+)/;!/A-)&")& -%/' !*+1/12) H)%,-K-+)2)B '%) A11&'%/%)&+ 2%+)%/!/')& A113)&%)&)/>
!"# %&%R P$%,":;!.$/66%.9#$
V>X U)&+)%,+) 1#(2(3#"%.$/ ?%)-) T%)& $%&' ')& )%.)/+,%4() _*+=)/ ')& :/$)/'*/. )&=%),+> b> ?2%#$82!%.$/ ?%)-) X =)%.+ )%/) M);!/$)/'*/.B '%) ')2 G)/*+=)& '!- 0&19 '*A+!/.);1+ )%/)- D/+)&/)(2)/- 3&@-)/+%)&+> ?%) '&)% ?)& =#33(5,6#( %-+ '%) G)/*+9 =*/.-1;)&5,@4()B '%) '%) !;.)5&!.+)/ 8/51&2!+%1/)/ .&!5%-4( 3&@9 -)/+%)&+> ?)& =#36#()#( )&=)*.+ ?!+)/;!/A!;5&!.)/B ;)&)%+)+ '%) :;5&!.))&.);/%--) !,- M);-)%+) !*5 */' 6;)&2%++),+ '%)-) !/ ')/ Z,%)/+> ?)& ?2%#$32$;6#()#( ")&$!,+)+ ')/ 0&1'*A+A!+!,1. */' 56(&+ '%) ?!+)/;!/A!;5&!.)/ !*-> M);;&1$-)&B M);-)&")& */' ?!+)/;!/A-)&")& -%/' !*+1/12) H)%,-K-+)2)B '%) A11&'%/%)&+ 2%+)%/!/')& A113)&%)&)/>
!"# %&%R P$%,":;!.$/66%.9#$
V J%/,)%+*/. */' W&*/',!.)/
g !"# %&'R @#"6J"#! #"$#( =#32$,#$-.$/
Lokales Netz einer Firma
Webbrowser
Internet
Webserver
Datenbankserver
Webbrowser
1#(%#"!%#6 ' ?)2 G)/*+=)& 2*-- '%) A1/A&)+) 3(K-%-4() :*5+)%,*/. ")&;1&.)/ ;,)%;)/>
!"# %&(R +33"!-.$/ -#( !5/"6:8#$ 2.9 -"# J8 J%/ :/$)/'*/.--K-+)2 $%&' '!;)% %/ 5*/A+%1/!,) C1231/)/+)/ =)&,).+B '%) '!// ;)% ')& 8/-+!,,!+%1/ %2 _)+= -1 ")&+)%,+ $)&')/B '!-- '%) C1231/)/+)/ 13+%2!, */9 +)&-+6+=+ $)&')/> :;-+&!A+ 51&2*,%)&+ %-+ )%/ )#(%#"!%#6 '
S5$9"/.(2%"5$6* J(53!#7
?! )- %2 :,,.)2)%/)/ 2)(&)&) U!&%!/+)/ 56& '%) 8/-+!,,!+%1/ ')& C1231/)/+)/ %2 _)+= .%;+B ;)-+)(+ '!- S5$9"/.(2%"5$6J(53!#7B '%) !5/"6:8# Q; )%/) U)&+)%,*/. 6;)&(!*3+ 2L.,%4( %-+B )/+-4()%')+ -%4( ;)%2 ?)-%./ ')& :/$)/'*/.--15+$!&)> ?!- ?)-%./ 2*-- */!;(@/.%. "1/ )%/)& -3@+)&)/ 3(K-%-4()/ C1/5%.*&!+%1/ -)%/> ?)2 G)/*+=)& 2*-- '%) A1/A&)+) 3(K-%-4() :*5+)%,*/. ")&;1&.)/ ;,)%;)/>
!"# %&(R +33"!-.$/ -#( !5/"6:8#$ 2.9 -"# J8X U)&+)%,+) c @#66#(# ';2!"#(32(;#"% J%/=),/) C1231/)/+)/ AL//)/ ,)%4(+)& !/ )%/)/ -+)%.)/')/ G)'!&5 !/.)3!--+ $)&')/> c H#8!#(%5!#(2$D G)%2 :*-5!,, )%/)- R)4(/)&- ;,)%;)/ '%) !/')&)/ ;)+&%);-;)9 &)%+> ?%) :*5.!;)/ ')- !*-.)5!,,)/)/ R)4(/)&- AL//)/ 15+ "1/ )%/)2 !/')&)/ R)4(/)& 6;)&/122)/ $)&')/> c IT8#(# S57J!#K"%Q% -.(:8 1#(%#"!.$/0.$- I#%#(5/#$"%Q% U2:8%#"!# ?%) U)&+)%,*/. ')& C1231/)/+)/ .&17)& c S57J!#K# U#%D"$9(26%(.;%.(#$ _)+=!&4(%+)A+*& */' _)+=2!/!.)2)/+ -%/' '!- R64A.&!+ ')& ?%) 8/+).&!+%1/ ()+)&1.)/)&
l
V>X U)&+)%,+) c @#66#(# ';2!"#(32(;#"% J%/=),/) C1231/)/+)/ AL//)/ ,)%4(+)& !/ )%/)/ -+)%.)/')/ G)'!&5 !/.)3!--+ $)&')/> c H#8!#(%5!#(2$D G)%2 :*-5!,, )%/)- R)4(/)&- ;,)%;)/ '%) !/')&)/ ;)+&%);-;)9 &)%+> ?%) :*5.!;)/ ')- !*-.)5!,,)/)/ R)4(/)&- AL//)/ 15+ "1/ )%/)2 !/')&)/ R)4(/)& 6;)&/122)/ $)&')/> c IT8#(# S57J!#K"%Q% -.(:8 1#(%#"!.$/0.$- I#%#(5/#$"%Q% U2:8%#"!# ?%) U)&+)%,*/. ')& C1231/)/+)/ .&17)& c S57J!#K# U#%D"$9(26%(.;%.(#$ _)+=!&4(%+)A+*& */' _)+=2!/!.)2)/+ -%/' '!- R64A.&!+ ')& ?%) 8/+).&!+%1/ ()+)&1.)/)&
l
V J%/,)%+*/. */' W&*/',!.)/
m
.:
5-; 9%#&$'@A&,B&,CL0*&%%
?!- !"#$%&'#()#(*45-#!! %-+ '!- !2 $)%+)-+)/ ")&;&)%+)+) ^1'),, 56& '%) ")&+)%,+) U)&!&;)%+*/.> !"#$%&'#()#(
Z,%)/+[ ?)& '#()#( )&,)'%.+ '%) :*5.!;) */' ,%)5)&+ '!- J&.);/%- ;)%2 Z,%)/+ !;> J%/ C122*/%9 A!+%1/-'%)/-+ ")&;%/')+ Z,%)/+ */' :*')2 I*-!22)/(!/. $%&' '!// A,!&B $),4() G)')*+*/. .)2)%/+ %-+> J%/ J& -3%),+ '!// -),;-+ '%) R1,,) )%/)- Z,%)/+> ?)& M);-)&")& %/ G%,' V>X (!+ '%)-) ?133),9 5*/A+%1/>
!"# %&)R !"#$%&'#()#(*45-#!!
1. Anfrage
Client
Server 2. Antwort
1. Anfrage
Client 4. Antwort
Server/ Client
2. Anfrage
Server 3. Antwort
82 `1,.)/')/ -%/' 4(!&!A+)&%-+%-4() ^)&A2!,) "1/ Z,%)/+ */' !"#$%&'#()#(
Z,%)/+[ ?)& '#()#( )&,)'%.+ '%) :*5.!;) */' ,%)5)&+ '!- J&.);/%- ;)%2 Z,%)/+ !;> J%/ C122*/%9 A!+%1/-'%)/-+ ")&;%/')+ Z,%)/+ */' :*')2 I*-!22)/(!/. $%&' '!// A,!&B $),4() G)')*+*/. .)2)%/+ %-+> J%/ J& -3%),+ '!// -),;-+ '%) R1,,) )%/)- Z,%)/+> ?)& M);-)&")& %/ G%,' V>X (!+ '%)-) ?133),9 5*/A+%1/>
!"# %&)R !"#$%&'#()#(*45-#!!
1. Anfrage
Client
Server 2. Antwort
1. Anfrage
Client 4. Antwort
Server/ Client
2. Anfrage
Server 3. Antwort
82 `1,.)/')/ -%/' 4(!&!A+)&%-+%-4() ^)&A2!,) "1/ Z,%)/+ */' ?!&6;)& (%/!*- A!// '!- 0&1.&!22 !/')&) :*5.!;)/ ,1A!, !*-56(&)/>
!"#$%*4#(;72!#
c ?)& Z,%)/+ ,@*5+ %/ ')& R).), !*5 ')2 R)4(/)& )%/)- G)/*+=)&*/' ,)%+)+ ')/ C1/+!A+ 2%+ )%/)2 c ?)& Z,%)/+ A!// %2 Y!*5) )%/)& c T@*5%. $)&')/ !"# %&*R N$%#(2;%"5$62(%#$
synchrone Kommunikation Client
Server Anfrage
warte auf Antwort Antwort
asynchrone Kommunikation Client
Server Anfrage
arbeite weiter Rückruf mit Antwort
V>b ?!- Z,%)/+[ c ?)& c E2(2!!#!3#%("#3 %-+ )%/ .&*/',).)/')- ^)&A2!, "1/ 8/ ')/ -3@+)9 &)/ !"!90&1.&!22;)%-3%),)/ $)&')/ '%) Z,%)/+9:/5&!.)/ P)9 $)%,- %/ )%/)2 /)*)/ H(&)!' ;)'%)/+> !"# %&*R N$%#(2;%"5$62(%#$
synchrone Kommunikation Client
Server Anfrage
warte auf Antwort Antwort
asynchrone Kommunikation Client
Server Anfrage
arbeite weiter Rückruf mit Antwort
V J%/,)%+*/. */' W&*/',!.)/
Vf
6 ?%) G)/*+=)&%/+)&!A+%1/ )&51,.+ 6;)& H)&2%9 /!,-B '%) '%&)A+ 1')& 6;)& )%/)/ H)&2%/!,9 ;=$> C122*/%A!+%9 1/--)&")& !/ ')/ R)4(/)& !/.)-4(,1--)/ -%/'> 4.!%"*G"#(* +(:8"%#;%.(#$
U)&+)%,+) :/$)/'*/.)/ (!;)/ )%/) 7#8(6%.9"/# +(:8"%#;%.( E4.!%"*G"#(*+(:8"%#;%.(F> G)%-3%),-$)%-) $)&')/ :33,%A!+%1/-9 */' ?!+)/;!/A-)&")& ")&-4(%)')/)/ J;)/)/ =*.)1&'/)+> G)% ')& D,#"6%.9"/#$ +(:8"%#;%.( %-+ '%) W)-!2+!/$)/'*/. =$)% J;)/)/ =*.)1&'/)+S Z,%)/+ */'
G)% ')& 6 ?%) G)/*+=)&%/+)&!A+%1/ )&51,.+ 6;)& H)&2%9 /!,-B '%) '%&)A+ 1')& 6;)& )%/)/ H)&2%/!,9 ;=$> C122*/%A!+%9 1/--)&")& !/ ')/ R)4(/)& !/.)-4(,1--)/ -%/'> 4.!%"*G"#(* +(:8"%#;%.(#$
U)&+)%,+) :/$)/'*/.)/ (!;)/ )%/) 7#8(6%.9"/# +(:8"%#;%.( E4.!%"*G"#(*+(:8"%#;%.(F> G)%-3%),-$)%-) $)&')/ :33,%A!+%1/-9 */' ?!+)/;!/A-)&")& ")&-4(%)')/)/ J;)/)/ =*.)1&'/)+> G)% ')& D,#"6%.9"/#$ +(:8"%#;%.( %-+ '%) W)-!2+!/$)/'*/. =$)% J;)/)/ =*.)1&'/)+S Z,%)/+ */' G)% ')/ :,+)&/!+%")/ b */' e (!+ ')& Z,%)/+ )%/)/ H)%, ')& U)&!&9 ;)%+*/. ;=$> ?!+)/(!,+*/. -),;-+ 6;)&/122)/>
Server
:,+)&/!+%") d =)%.+ ')/ `!,, )%/)- +K3%-4()/ ?!+)/;!/A-)&")&->
Datenhaltung
Datenhaltung
Datenhaltung
Verarbeitung
Verarbeitung
Verarbeitung
Datenhaltung
Datenhaltung
!"# %&,R +!%#($2%")#$ -#( +.9/23#$)#(%#"!.$/
Präsentation
Netz
Client
Datenhaltung Verarbeitung
Verarbeitung
Verarbeitung
Präsentation
Präsentation
Präsentation
Präsentation
Präsentation
1
2
3
4
5
G)% ')& -(#"6%.9"/#$ +(:8"%#;%.( $%&' '%) W)-!2+!/$)/'*/. !*5 '&)% J;)/)/ !*5.)+)%,+S =>G> Z,%)/+B :33,%A!+%1/--)&")& */' ?!9 +)/;!/A-)&")&> ?%)-)- ^1'),, %-+ !*4( G!-%- "%),)& JR09 !"# %&-R P"$# -(#"6%.9"/# +(:8"%#;%.( Client Netz
Netz
Client Applikationsserver
Datenbankserver
Client
8/-;)-1/')&) ;)% 8/+)&/)+9 */' 8/+&!/)+9:/$)/'*/.)/ 5%/')+ 2!/ )%/) )"#(6%.9"/# +(:8"%#;%.(B ;)% ')& )%/ M);-)&")& ')2 :33,%A!+%1/--)&")& "1&.)-4(!,+)+ %-+>
V>d ^)(&-+*5%.) :&4(%+)A+*&)/
VV
:,+)&/!+%") V =)%.+ ')/ `!,, )%/)& M);!/$)/'*/.B ;)% ')& TH^Y9 J%/ G)%-3%), =*& :,+)&/!+%") X %-+ )%/) M);!/$)/'*/.B ;)% ')& )%/.).);)/) ?!+)/ 6;)& )%/ :33,)+ %2 M);;&1$-)& !/ ')/
V J%/,)%+*/. */' W&*/',!.)/
VX !"# %&.R P"$# )"#(6%.9"/# +(:8"%#;%.(
Browser
Präsentation
HTTP
Webserver Internet
Browser
Browser
JRMP, IIOP, SOAP
Intranet Datenhaltung
Visualisierung
JDBC
Geschäftslogik Applikationsserver Datenbankserver
.F
L#**%&6-,& ($* E,-$;H-,&$X
8/ 2)(&-+*5%.)/ :&4(%+)A+*&)/ -%/' '%) C1231/)/+)/ )%/)- :/9 $)/'*/.--K-+)2- !*5 31+)/+%),, ()+)&1.)/) H&@.)&-K-+)2) %/ )%/)2 _)+=$)&A ")&+)%,+> D2 '%) C123,)N%+@+ ')- W)-!2+-K-+)2;)% ')& G)'%)/*/. 1')& J/+$%4A,*/. ')& :/$)/'*/. "1& ')2 G)/*+=)& ;=$> J/+$%4A,)& ")&;1&.)/ =* (!,+)/B ;)'!&5 )- )%/)& .))%./)+)/ ?%) ")&+)%,+) U)&!&;)%+*/. (!+ =* )%/)2 /)*)/ HK3 -K-+)2/!()& 4"--!#,2(# %-+ C122*/%A!+%1/--15+$!&)B '%) ')/ :*-+!*-4( "1/ 8/51&2!+%1/)/ =$%-4()/ ')/ ")&-4(%)')/)/ C1231/)/+)/ )%/)")&+)%,+)/B ()+)&1.)/)/ ?%) :/$)/'*/.)/ $)&')/ '!;)% "1/ ')/ A123,)N)/ ?)+!%,- ')& %/+)&/)/ U1&.@/.) !;.)-4(%&2+> !"# %&%/R 4"--!#,2(#
Anwendungskomponenten
Middleware
Betriebssysteme, Protokolle, Netzwerk
V>e ^%'',)$!&) */' H&!/-3!&)/= 8/ ')& 8/51&2!+%A /)//+ 2!/ )%/) J- )N%-+%)&)/ 2)(&)&) */+)&.)1&'/)+) H&!/-3!&)/=;).&%55)B '%) P)$)%,- )%/)/ ;)-+%22+)/ :-3)A+ ;)=)%4(/)/> G)%-3%),) (%)&56& -%/'S c O(%6%(2$6J2(#$D ?)& Q&+ )%/)& R)--1*&4) %-+ ')2 G)/*+=)& /%4(+ ;)A!//+> J& %')/+%5%=%)&+ -%) 6;)& )%/)/ _!2)/B ')& A)%/) 8/51&2!+%1/ 69 ;)& %(&)/ :*5)/+(!,+-1&+ )/+(@,+> c C./("996%(2$6J2(#$D ?%) `1&2 ')- I*.&%55- !*5 )%/) R)--1*&4) %-+ )%/()%+,%4( */' */!;(@/.%. '!"1/B 1; '%) R)--1*&4) ,1A!, 1')& !*5 )%/)2 )/+5)&/+)/ R)4(/)& =*& U)&56.*/. -+)(+> D/+)&-4(%)') ")&9 -4(%)')/)& G)+&%);--K-+)2) */' ?!+)%-K-+)2) $)&')/ ")&9 ;1&.)/> c U#3#$!Q.9"/;#"%6%(2$6J2(#$D ?)& .,)%4(=)%+%.) I*.&%55 2)(&)&)& G)/*+=)& !*5 '%)-),;) R)-9 -1*&4) E=>G> ?!+)/;!/A+!;),,)F )&51,.+ 1(/) .).)/-)%+%.) G)9 )%/5,*--*/. */' ,@--+ A)%/) 5!,-4()/ J&.);/%--) )/+-+)()/> c L#J!";2%"5$6%(2$6J2(#$D ?2%#$32$;*4"--!#,2(# )&2L.,%4(+ ')/ I*.&%55 !*5 */+)&-4(%)',%9 ?2%#$32$;* 4() ?!+)/;!/A-K-+)2)B 1(/) '!- :/$)/'*/.-3&1.&!22 ;)%2 4"--!#,2(# M)4(-), ')- ?!+)/;!/A-K-+)2- @/')&/ =* 26--)/> ?!- >?@ 9
Vb
V>e ^%'',)$!&) */' H&!/-3!&)/= 8/ ')& 8/51&2!+%A /)//+ 2!/ )%/) J- )N%-+%)&)/ 2)(&)&) */+)&.)1&'/)+) H&!/-3!&)/=;).&%55)B '%) P)$)%,- )%/)/ ;)-+%22+)/ :-3)A+ ;)=)%4(/)/> G)%-3%),) (%)&56& -%/'S c O(%6%(2$6J2(#$D ?)& Q&+ )%/)& R)--1*&4) %-+ ')2 G)/*+=)& /%4(+ ;)A!//+> J& %')/+%5%=%)&+ -%) 6;)& )%/)/ _!2)/B ')& A)%/) 8/51&2!+%1/ 69 ;)& %(&)/ :*5)/+(!,+-1&+ )/+(@,+> c C./("996%(2$6J2(#$D ?%) `1&2 ')- I*.&%55- !*5 )%/) R)--1*&4) %-+ )%/()%+,%4( */' */!;(@/.%. '!"1/B 1; '%) R)--1*&4) ,1A!, 1')& !*5 )%/)2 )/+5)&/+)/ R)4(/)& =*& U)&56.*/. -+)(+> D/+)&-4(%)') ")&9 -4(%)')/)& G)+&%);--K-+)2) */' ?!+)%-K-+)2) $)&')/ ")&9 ;1&.)/> c U#3#$!Q.9"/;#"%6%(2$6J2(#$D ?)& .,)%4(=)%+%.) I*.&%55 2)(&)&)& G)/*+=)& !*5 '%)-),;) R)-9 -1*&4) E=>G> ?!+)/;!/A+!;),,)F )&51,.+ 1(/) .).)/-)%+%.) G)9 )%/5,*--*/. */' ,@--+ A)%/) 5!,-4()/ J&.);/%--) )/+-+)()/> c L#J!";2%"5$6%(2$6J2(#$D ?2%#$32$;*4"--!#,2(# )&2L.,%4(+ ')/ I*.&%55 !*5 */+)&-4(%)',%9 ?2%#$32$;* 4() ?!+)/;!/A-K-+)2)B 1(/) '!- :/$)/'*/.-3&1.&!22 ;)%2 4"--!#,2(# M)4(-), ')- ?!+)/;!/A-K-+)2- @/')&/ =* 26--)/> ?!- >?@ 9
Vb
V J%/,)%+*/. */' W&*/',!.)/
Vd
:08 )&,!*;+ )- )%/)2 !"!90&1.&!22B !"# %&%%R P$%9#($%#( E(5D#-.(2.9(.9
Client
Server f(x,y)
z = f(5,10)
Middleware
LE
?)& L#75%# E(5:#-.(# 2!! ELE F ")&-+)4A+ ')/ :*5&*5 )%/)& !*5 )%/)2 !/')&)/ R)4(/)& %2 _)+= %23,)2)/+%)&+)/ 0&1=)'*& (%/+)& )%/)2 ,1A!,)/ 0&1=)'*&!*5&*5 */' ;%)+)+ '!2%+ )%/ -)(& ")&+&!*9 +)- 0&1.&!22%)&21'),, !/> ?!- 0&1.&!22B '!- '%) 0&1=)'*& !*5&*5+B !.%)&+ !,- Z,%)/+B '!- 0&1.&!22B '!- '%) !*5.)&*5)/) 0&1=)'*& !*-56(&+B !,- ?%) %2 G)%-3%), ;)/*+=) ^)+(1') ;)&)4(/)+ '%) I*/@4(-+ '%) ,1A!,) :/$)/'*/.S
V J%/,)%+*/. */' W&*/',!.)/
Vd
:08 )&,!*;+ )- )%/)2 !"!90&1.&!22B !"# %&%%R P$%9#($%#( E(5D#-.(2.9(.9
Client
Server f(x,y)
z = f(5,10)
Middleware
LE
?)& L#75%# E(5:#-.(# 2!! ELE F ")&-+)4A+ ')/ :*5&*5 )%/)& !*5 )%/)2 !/')&)/ R)4(/)& %2 _)+= %23,)2)/+%)&+)/ 0&1=)'*& (%/+)& )%/)2 ,1A!,)/ 0&1=)'*&!*5&*5 */' ;%)+)+ '!2%+ )%/ -)(& ")&+&!*9 +)- 0&1.&!22%)&21'),, !/> ?!- 0&1.&!22B '!- '%) 0&1=)'*& !*5&*5+B !.%)&+ !,- Z,%)/+B '!- 0&1.&!22B '!- '%) !*5.)&*5)/) 0&1=)'*& !*-56(&+B !,- ?%) %2 G)%-3%), ;)/*+=) ^)+(1') ;)&)4(/)+ '%) I*/@4(-+ '%) ,1A!,) :/$)/'*/.S
V>e ^%'',)$!&) */' H&!/-3!&)/= public class AddServer { public double add(double x, double y) { return x + y; } }
Ve 01231455 %&%
public class AddClient { public static void main(String[] args) { AddServer service = new AddServer(); System.out.println(service.add(2.3, 5.7)); } }
?%) ;)%')/ C,!--)/ $)&')/ /*/ 2%++),- )%/)- 8/+)&5!4) )/+9 A133),+> D2 )%/ VX ")&')*+,%4(+ '%) I*-!22)/9 (@/.)>
01231455 %&'
V>e ^%'',)$!&) */' H&!/-3!&)/= public class AddServer { public double add(double x, double y) { return x + y; } }
Ve 01231455 %&%
public class AddClient { public static void main(String[] args) { AddServer service = new AddServer(); System.out.println(service.add(2.3, 5.7)); } }
?%) ;)%')/ C,!--)/ $)&')/ /*/ 2%++),- )%/)- 8/+)&5!4) )/+9 A133),+> D2 )%/ VX ")&')*+,%4(+ '%) I*-!22)/9 (@/.)>
01231455 %&'
V J%/,)%+*/. */' W&*/',!.)/
Vg !"# %&%'R S!266#$-"2/(277 D. E(5/(277 VWX
«interface» Add «use»
add()
«realize»
«use» AddClient main()
AddServer add()
«use»
«use»
AddFactory getAdd()
?%) R^89U)&-%1/ ')& :/$)/'*/. )/+-+)(+ /*/ '*&4( ,)%4(+) h/')&*/. "1/ 0&1.&!22 V>X> 01231455 %&(
import java.rmi.*; public interface Add extends Remote { double add(double x, double y) throws RemoteException; }
import java.rmi.*; import java.rmi.server.*; public class AddServer extends UnicastRemoteObject implements Add { public AddServer() throws RemoteException { } public double add(double x, double y) throws RemoteException { return x + y; } public static void main(String[] args) throws Exception { AddServer server = new AddServer(); Naming.rebind("add", server); } }
V J%/,)%+*/. */' W&*/',!.)/
Vg !"# %&%'R S!266#$-"2/(277 D. E(5/(277 VWX
«interface» Add «use»
add()
«realize»
«use» AddClient main()
AddServer add()
«use»
«use»
AddFactory getAdd()
?%) R^89U)&-%1/ ')& :/$)/'*/. )/+-+)(+ /*/ '*&4( ,)%4(+) h/')&*/. "1/ 0&1.&!22 V>X> 01231455 %&(
import java.rmi.*; public interface Add extends Remote { double add(double x, double y) throws RemoteException; }
import java.rmi.*; import java.rmi.server.*; public class AddServer extends UnicastRemoteObject implements Add { public AddServer() throws RemoteException { } public double add(double x, double y) throws RemoteException { return x + y; } public static void main(String[] args) throws Exception { AddServer server = new AddServer(); Naming.rebind("add", server); } }
V>e ^%'',)$!&) */' H&!/-3!&)/= import java.rmi.*; public class AddFactory { public static Add getAdd() throws Exception { return (Add) Naming.lookup("//localhost/add"); } }
public class AddClient { public static void main(String[] args) throws Exception { Add service = AddFactory.getAdd(); System.out.println(service.add(2.3, 5.7)); } } AddB AddServer
*/' AddFactory %231&+%)&)/ R^890!A)+)>
?!- 8/+)&5!4) Add %-+ "1/ java.rmi.Remote !;.),)%+)+B '%) ^)+(1') add )/+(@,+ )%/) throws9C,!*-), 2%+ ')& :*-/!(2) java.rmi.RemoteException> ?%) C,!--) AddServer %-+ "1/ java.rmi.server.UnicastRemoteObject !;.),)%+)+ */' ;)-%+=+ )%/) main9^)+(1')B '%) '!- )&=)*.+) ?%) ^)+(1') getAdd ')& C,!--) AddFactory )&(@,+ %(& Add9Q;P)A+ 2%+ T%,5) '%)-)- U)&=)%4(/%-'%)/-+)-> I*& U)&)%/5!4(*/. -1,,)/ Z,%)/+ */' ?%) C,!--) AddServer %-+ "1/ java.rmi.server.UnicastRemoteObject !;.),)%+)+ */' ;)-%+=+ )%/) main9^)+(1')B '%) '!- )&=)*.+) ?%) ^)+(1') getAdd ')& C,!--) AddFactory )&(@,+ %(& Add9Q;P)A+ 2%+ T%,5) '%)-)- U)&=)%4(/%-'%)/-+)-> I*& U)&)%/5!4(*/. -1,,)/ Z,%)/+ */' ?!8/+)&/)+ %-+ )%/ 155)/)- _)+=B =* ')2 D/+)&/)(2)/B /%4(+9 A122)&=%),,) Q&.!/%-!+%1/)/ -1$%) 0&%"!+3)&-1/)/ .,)%4()&2!9 7)/ I*.!/. (!;)/> S577.$";2%"5$6J(5%5;5!!# ;)%/(!,+)/
!"# %&%(R Y(.$-6%(.;%.( -#6 N$%#($#%6
Teilnetz Teilnetz
Router
Router
Router
Teilnetz Teilnetz Router
Teilnetz
Router
Router
Teilnetz
G E&NE
HZ0[80 EH&!/-2%--%1/ Z1/+&1, 0&1+141,[8/+)&/)+ 0&1+141,F ;)9 =)%4(/)+ )%/) `!2%,%) "1/ )%/=),/)/B !*5)%/!/')& !;.)-+%22+)/ 0&1+1A1,,)/ 56& '%) C122*/%A!+%1/ %2 8/+)&/)+> HZ0 */' 80 -%/' '%) ;)%')/ $%4(+%.-+)/ 0&1+1A1,,) '%)-)& `!2%,%)>
N$%(2$#%
82 W).)/-!+= =*2 155)/)/ 8/+)&/)+ %-+ )%/ N$%(2$#% )%/ 3&%"!+)-B %//)&;)+&%);,%4()- R)4(/)&/)+= !*5 G!-%- ')& 8/+)&/)+90&1+1A1,,) Ea3&%"!+)- 8/+)&/)+aF> I*& G)-4(&)%;*/. ')& C122*/%A!+%1/ $)&')/ !,,.)2)%/ ':8":8* %#$75-#!!# )%/.)-)+=+> 82 8/+)&/)+ $)&')/ "%)& !*5)%/!/')& !*5;!*)/') S577.$";2%"5$6J(5%5;5!!# ;)%/(!,+)/
!"# %&%(R Y(.$-6%(.;%.( -#6 N$%#($#%6
Teilnetz Teilnetz
Router
Router
Router
Teilnetz Teilnetz Router
Teilnetz
Router
Router
Teilnetz
G E&NE
HZ0[80 EH&!/-2%--%1/ Z1/+&1, 0&1+141,[8/+)&/)+ 0&1+141,F ;)9 =)%4(/)+ )%/) `!2%,%) "1/ )%/=),/)/B !*5)%/!/')& !;.)-+%22+)/ 0&1+1A1,,)/ 56& '%) C122*/%A!+%1/ %2 8/+)&/)+> HZ0 */' 80 -%/' '%) ;)%')/ $%4(+%.-+)/ 0&1+1A1,,) '%)-)& `!2%,%)>
N$%(2$#%
82 W).)/-!+= =*2 155)/)/ 8/+)&/)+ %-+ )%/ N$%(2$#% )%/ 3&%"!+)-B %//)&;)+&%);,%4()- R)4(/)&/)+= !*5 G!-%- ')& 8/+)&/)+90&1+1A1,,) Ea3&%"!+)- 8/+)&/)+aF> I*& G)-4(&)%;*/. ')& C122*/%A!+%1/ $)&')/ !,,.)2)%/ ':8":8* %#$75-#!!# )%/.)-)+=+> 82 8/+)&/)+ $)&')/ "%)& !*5)%/!/')& !*5;!*)/') ?%) 1#(3"$-.$/66:8":8% *25!--+ '%) _)+=$)&A(!&'$!&) */' W)&@+)+&)%;)&> ?%) 1#(7"%%!.$/66:8":8% )/+(@,+ '!- 0&1+1A1,, NE E8/+)&/)+ 0&1+141,FB '!- '%) 8/+)&/)+9:'&)--)/ E809:'&)--)/F ')5%/%)&+B '%) !,- G!-%- 56& '%) M).$!(, %2 8/+)&/)+ '%)/)/> J%/=),/) ?!+)/3!A)+) $)&')/ "12 b> ?%) H&!/-31&+-4(%4(+ )/+(@,+ '%) ;)%')/ 0&1+1A1,,) G E EH&!/-2%--%1/ Z1/+&1, 0&1+141,F */' F?E ED-)& ?!+!.&!2 0&1+141,F> G E -+),,+ ')& :/$)/'*/. )%/ ")&,@--,%4()-B )#(3"$-.$/6* 5("#$%"#(%#6 0&1+1A1,, =*& U)&56.*/.> U1& ')& )%.)/+,%4()/ ?!9 +)/6;)&+&!.*/. %/ `1&2 "1/ ?!+)/3!A)+)/ $%&' )%/) "%&+*),,) J/')9=*9J/')9U)&;%/'*/. =$%-4()/ F?E %-+ )%/ -1 .)/!//+)- )#(3"$-.$/6!56#6 0&1+1A1,,> ?!+)/9 3!A)+) $)&')/ %/- 8/+)&/)+ .)-4(%4A+B 1(/) '!-- "1&()& )%/) U)&;%/'*/. 2%+ ')2 J235@/.)& ()&.)-+),,+ $*&')> D?0 */' HZ0 $)&')/ %/ ')/ C!3%+),/ b */' d !*-56(&,%4( ;)(!/'),+> d> G)%-3%),) 56& '%) 0&1+1A1,,) ')& +$,#$-.$/66:8":8% -%/'S '4GE E ?%) 1#(7"%%!.$/66:8":8% )/+(@,+ '!- 0&1+1A1,, NE E8/+)&/)+ 0&1+141,FB '!- '%) 8/+)&/)+9:'&)--)/ E809:'&)--)/F ')5%/%)&+B '%) !,- G!-%- 56& '%) M).$!(, %2 8/+)&/)+ '%)/)/> J%/=),/) ?!+)/3!A)+) $)&')/ "12 b> ?%) H&!/-31&+-4(%4(+ )/+(@,+ '%) ;)%')/ 0&1+1A1,,) G E EH&!/-2%--%1/ Z1/+&1, 0&1+141,F */' F?E ED-)& ?!+!.&!2 0&1+141,F> G E -+),,+ ')& :/$)/'*/. )%/ ")&,@--,%4()-B )#(3"$-.$/6* 5("#$%"#(%#6 0&1+1A1,, =*& U)&56.*/.> U1& ')& )%.)/+,%4()/ ?!9 +)/6;)&+&!.*/. %/ `1&2 "1/ ?!+)/3!A)+)/ $%&' )%/) "%&+*),,) J/')9=*9J/')9U)&;%/'*/. =$%-4()/ F?E %-+ )%/ -1 .)/!//+)- )#(3"$-.$/6!56#6 0&1+1A1,,> ?!+)/9 3!A)+) $)&')/ %/- 8/+)&/)+ .)-4(%4A+B 1(/) '!-- "1&()& )%/) U)&;%/'*/. 2%+ ')2 J235@/.)& ()&.)-+),,+ $*&')> D?0 */' HZ0 $)&')/ %/ ')/ C!3%+),/ b */' d !*-56(&,%4( ;)(!/'),+> d> G)%-3%),) 56& '%) 0&1+1A1,,) ')& +$,#$-.$/66:8":8% -%/'S '4GE EVe =)%.+ ')/ :;,!*5 )%/)& C122*/%A!+%1/ =$%-4()/ Z,%)/+ */' ?%) U)&2%++,*/.-9 -4(%4(+ 56.+ %(&)&-)%+- )%/)/ 809T)!')& (%/=*> G)%2 J235@/9 .)& $)&')/ %/ *2.)A)(&+)& R)%()/51,.) '%) T)!')& )')& R)4(/)& %2 8/+)&/)+ E.)/!*)&S ')& R)4(/)& !,- C1231/)/9 +) )%/)- H)%,/)+=)-F (!+ )%/) )%/')*+%.) NE*+-(#66#B '%) %/ ')& =*& I)%+ /14( "1&()&&-4()/')/ U)&-%1/ 80"d !*- bX G%+ ;)-+)(+ */' '*&4( )%/) `1,.) "1/ "%)& '*&4( 0*/A+) .)+&)//+) I!(,)/ =$%9 -4()/ f */' Xee '!&.)-+),,+ $%&'> J%/) 809:'&)--) ;)-+)(+ !*- =$)% H)%,)/S ')& U#%D2-(#66#B '%) '!_)+= )%/')*+%. %')/+%5%=%)&+B */' ')& L#:8$#(2-(#66#B '%) ')/ R)4(/)& %/ '%)-)2 _)+= )%/')*+%. %')/+%5%=%)&+> Q55%=%),,) _)+=!'9 &)--)/ $)&')/ =)/+&!, ")&.);)/B R)4(/)&!'&)--)/ AL//)/ 5&)% "12 _)+=$)&A!'2%/%-+&!+1& ')& P)$)%,%.)/ 8/-+%+*+%1/ ")&.);)/ $)&')/> ?&)% +-(#66;!266#$ $)&')/ */+)&-4(%)')/S :B G */' Z> :'&)--)/ ')& C,!--) : /*+=)/ m G%+ 56& '%) _)+=!'&)--) E;).%//)/' 2%+ fFB :'&)--)/ ')& C,!--) G Vg G%+ E;).%//)/' 2%+ VfF */' :'&)--)/ ')& C,!--) Z Xd G%+ E;).%//)/' 2%+ VVfF>
V J%/,)%+*/. */' W&*/',!.)/
Xf
G%,' V>Ve =)%.+ ')/ :;,!*5 )%/)& C122*/%A!+%1/ =$%-4()/ Z,%)/+ */' ?%) U)&2%++,*/.-9 -4(%4(+ 56.+ %(&)&-)%+- )%/)/ 809T)!')& (%/=*> G)%2 J235@/9 .)& $)&')/ %/ *2.)A)(&+)& R)%()/51,.) '%) T)!')& )')& R)4(/)& %2 8/+)&/)+ E.)/!*)&S ')& R)4(/)& !,- C1231/)/9 +) )%/)- H)%,/)+=)-F (!+ )%/) )%/')*+%.) NE*+-(#66#B '%) %/ ')& =*& I)%+ /14( "1&()&&-4()/')/ U)&-%1/ 80"d !*- bX G%+ ;)-+)(+ */' '*&4( )%/) `1,.) "1/ "%)& '*&4( 0*/A+) .)+&)//+) I!(,)/ =$%9 -4()/ f */' Xee '!&.)-+),,+ $%&'> J%/) 809:'&)--) ;)-+)(+ !*- =$)% H)%,)/S ')& U#%D2-(#66#B '%) '!_)+= )%/')*+%. %')/+%5%=%)&+B */' ')& L#:8$#(2-(#66#B '%) ')/ R)4(/)& %/ '%)-)2 _)+= )%/')*+%. %')/+%5%=%)&+> Q55%=%),,) _)+=!'9 &)--)/ $)&')/ =)/+&!, ")&.);)/B R)4(/)&!'&)--)/ AL//)/ 5&)% "12 _)+=$)&A!'2%/%-+&!+1& ')& P)$)%,%.)/ 8/-+%+*+%1/ ")&.);)/ $)&')/> ?&)% +-(#66;!266#$ $)&')/ */+)&-4(%)')/S :B G */' Z> :'&)--)/ ')& C,!--) : /*+=)/ m G%+ 56& '%) _)+=!'&)--) E;).%//)/' 2%+ fFB :'&)--)/ ')& C,!--) G Vg G%+ E;).%//)/' 2%+ VfF */' :'&)--)/ ')& C,!--) Z Xd G%+ E;).%//)/' 2%+ VVfF>
V>g W&*/';).&%55) ')- 8/+)&/)+G)%-3%),S ?%) 809:'&)--) 194.94.124.236 .)(L&+ =*& C,!--) Z */' %')/+%5%=%)&+ )%/)/ R)4(/)& %/ ')2 '*&4( '%) _)+=!'&)--) 194.94.124.0 %')/+%5%9 =%)&+)/ _)+=> )')& R)4(/)& %2 8/+)&/)+ A!// -%4( -),;-+ 2%+ ')& :'&)--) !'&)--%)&)/>
127.0.0.1
E(")2%# NE*+-(#66#$ $%) =>G> 10.0.0.0 ;%- 10.255.255.255 1')& 192.168.0.0 ;%- 192.168.255.255 $)&')/ /%) %2 8/+)&/)+ .)&1*+)+> )') Q&.!/%-!+%1/ A!// -%) 5&)% %2 %/+)&/)/ _)+= ")&$)/')/> ?%) -+!&&) C,!--)/)%/+)%,*/. ')& 809:'&)--)/ $%&' '*&4( '!()*+) 6;,%4() U)&5!(&)/ N?L EZ,!--,)-- 8/+)& ?12!%/ R1*+%/.F !*5.)(1;)/> T%)&;)% )&51,.+ '%) :*5+)%,*/. %/ _)+=9 */' R)4(9 /)&!'&)--) ;%+$)%-) 2%+ T%,5) "1/ I*& ;)--)&)/ T!/'(!;;!&A)%+ $%&' '!- _*22)&/-K-+)2 '*&4( ?U' )%/ _!2)/-K-+)2B ')2 ?572"$ U27# ' ?U'*'#()#( -%/' -3)=%),,) U)&=)%4(/%-'%)/-+)B '%) '%) I*1&'/*/. "1/ 809:'&)--)/ =* ?_ I* ;)!4(+)/ %-+B '!-- 2)(&)&) R)4(/)& 2%+ P)$)%,- )%.)/)& 809 :'&)--) ')/-),;)/ ?_ 01&+/*22)&/ $)&')/ !*4( "12 HZ0 */' D?0 AL//)/ 01&+/*22)&/ */!;9 (@/.%. "1/)%/!/')& ")&$)/')/B '>(> )%/ HZ09 G)%-3%),S www.hs-niederrhein.de T%)& (!/'),+ )- -%4( *2 ')/ M);-)&")& ')& T14(-4(*,) _%)')&9 &()%/ 2%+ de E?)*+-4(,!/'F !,- G5J B#)#! ?572"$> ?)& T1-+/!2) localhost %')/+%5%=%)&+ ')/ )%.)/)/ R)4(/)& */' )/+-3&%4(+ ')& 809:'&)--) 127.0.0.1> ?U'*'#()#( -%/' -3)=%),,) U)&=)%4(/%-'%)/-+)B '%) '%) I*1&'/*/. "1/ 809:'&)--)/ =* ?_ I* ;)!4(+)/ %-+B '!-- 2)(&)&) R)4(/)& 2%+ P)$)%,- )%.)/)& 809 :'&)--) ')/-),;)/ ?_ 01&+/*22)&/ $)&')/ !*4( "12 HZ0 */' D?0 AL//)/ 01&+/*22)&/ */!;9 (@/.%. "1/)%/!/')& ")&$)/')/B '>(> )%/ HZ09 ?%) C,!--) java.net.UnknownHostException %-+ !"# %&%+R @#"6J"#! 9Z( ,#!!* ;$5,$ '#()":#6
Port Protokoll Service 7 TCP/IP
echo
Beschreibung ,%)5)&+ '%) J%/.!;) !,- :/+$1&+ =*&64A
13 TCP/UDP daytime
,%)5)&+ '%) !A+*),,) I)%+ ')-
.R
5#& J%/) :*-/!(2) '%)-)- HK3- $%&' !*-.),L-+B $)// '%) 809:'&)--) )%/)- R)4(/)&- /%4(+ )&2%++),+ $)&')/ A!//> static InetAddress getByName(String host) throws UnknownHostException
V>l ?%) C,!--) 8/)+:''&)--
Xb
,%)5)&+ '%) 809:'&)--) =* )%/)2 T1-+/!2)/> J/+(@,+ '!- :&.*2)/+ host )%/) 809:'&)--) %/ 0*/A+9_1+!+%1/ !/-+),,) )%/)- _!2)/-B -1 $%&' /*& '%) W6,+%.A)%+ ')- :'&)--51&2!+- .)3&65+> static InetAddress[] getAllByName(String host) throws UnknownHostException
,%)5)&+ )%/ :&&!K "1/ 809:'&)--)/B '%) !,,) =*2 "1&.).);)/)/ T1-+/!2)/ .)(L&)/> J&.);/%--) 5&6()&)& :'&)--!*5,L-*/.)/ %//)&(!,; )%/)- 0&1.&!22,!*5- $)&')/ =$%-4()/.)-3)%4()&+ */' $%)')&")&$)/')+> String getHostAddress()
,%)5)&+ '%) 809:'&)--) )%/)- InetAddress9Q;P)A+- %/ 0*/A+9_1+!+%1/> String getHostName()
,%)5)&+ ')/ T1-+/!2)/ ')& 809:'&)--)> `!,,- '!- InetAddress9 Q;P)A+ 2%++),- )%/)& 809:'&)--) %/ 0*/A+9_1+!+%1/ )&=)*.+ $*&') */' ')& =*.)(L&%.) T1-+/!2) /%4(+ )&2%++),+ $)&')/ A1//+)B $%&' '%) 809:'&)--) %/ 0*/A+9_1+!+%1/ =*&64A.).);)/> 0&1.&!22 V>d =)%.+ '%) 809:'&)--) */' ')/ T1-+/!2)/ ')- )%9 .)/)/ R)4(/)&- !/> import java.net.*;
01231455 %&)
public class LocalHost { public static void main(String[] args) throws UnknownHostException { InetAddress addr = InetAddress.getLocalHost(); System.out.println("IP-Nummer:\t" + addr.getHostAddress()); System.out.println("Hostname:\t" + addr.getHostName()); } }
0&1.&!22 V>e ,%)5)&+ '%) 809:'&)--) =* )%/)2 T1-+/!2)/> import java.net.*; public class Lookup { public static void main(String[] args) throws UnknownHostException { if (args.length != 1) { System.err.println("java Lookup ( | )"); System.exit(1); } InetAddress addr = InetAddress.getByName(args[0]); System.out.println("IP-Nummer:\t" + addr.getHostAddress()); System.out.println("Hostname:\t" + addr.getHostName()); } }
01231455 %&*
V>l ?%) C,!--) 8/)+:''&)--
Xb
,%)5)&+ '%) 809:'&)--) =* )%/)2 T1-+/!2)/> J/+(@,+ '!- :&.*2)/+ host )%/) 809:'&)--) %/ 0*/A+9_1+!+%1/ !/-+),,) )%/)- _!2)/-B -1 $%&' /*& '%) W6,+%.A)%+ ')- :'&)--51&2!+- .)3&65+> static InetAddress[] getAllByName(String host) throws UnknownHostException
,%)5)&+ )%/ :&&!K "1/ 809:'&)--)/B '%) !,,) =*2 "1&.).);)/)/ T1-+/!2)/ .)(L&)/> J&.);/%--) 5&6()&)& :'&)--!*5,L-*/.)/ %//)&(!,; )%/)- 0&1.&!22,!*5- $)&')/ =$%-4()/.)-3)%4()&+ */' $%)')&")&$)/')+> String getHostAddress()
,%)5)&+ '%) 809:'&)--) )%/)- InetAddress9Q;P)A+- %/ 0*/A+9_1+!+%1/> String getHostName()
,%)5)&+ ')/ T1-+/!2)/ ')& 809:'&)--)> `!,,- '!- InetAddress9 Q;P)A+ 2%++),- )%/)& 809:'&)--) %/ 0*/A+9_1+!+%1/ )&=)*.+ $*&') */' ')& =*.)(L&%.) T1-+/!2) /%4(+ )&2%++),+ $)&')/ A1//+)B $%&' '%) 809:'&)--) %/ 0*/A+9_1+!+%1/ =*&64A.).);)/> 0&1.&!22 V>d =)%.+ '%) 809:'&)--) */' ')/ T1-+/!2)/ ')- )%9 .)/)/ R)4(/)&- !/> import java.net.*;
01231455 %&)
public class LocalHost { public static void main(String[] args) throws UnknownHostException { InetAddress addr = InetAddress.getLocalHost(); System.out.println("IP-Nummer:\t" + addr.getHostAddress()); System.out.println("Hostname:\t" + addr.getHostName()); } }
0&1.&!22 V>e ,%)5)&+ '%) 809:'&)--) =* )%/)2 T1-+/!2)/> import java.net.*; public class Lookup { public static void main(String[] args) throws UnknownHostException { if (args.length != 1) { System.err.println("java Lookup ( | )"); System.exit(1); } InetAddress addr = InetAddress.getByName(args[0]); System.out.println("IP-Nummer:\t" + addr.getHostAddress()); System.out.println("Hostname:\t" + addr.getHostName()); } }
01231455 %&*
V J%/,)%+*/. */' W&*/',!.)/
Xd G#6%
M%&' %2 ,1A!,)/ _)+= A)%/ ?12!%/ _!2) G)%-3%),S java –cp build Lookup www.microsoft.com Hostname: www.microsoft.com IP-Nummer: 207.46.244.188 Hostname: www.microsoft.com IP-Nummer: 207.46.245.92 ...
X>
!"# %&%,R NE*+-(#66# .$I56%$27#
G> .)/*+=+ $)&')/B *2 '%) "12 0&1"%')& 'K/!2%-4( =*.)$%)-)/) 809:'&)--) ;)% )%/)& H),)9 51/")&;%/'*/. !/=*=)%.)/> D2 ShowIP 2%+ )%/)2 ?133),A,%4A !*5 )%/)2 .&!5%-4()/ J%/) U)&A/635*/. 2%+ 685,"JW_2( A!// =>G> !*5 ')/ ?)-A9 +13 .),).+ $)&')/>
Xe
"#$%&'#&(#&)%&*+&,%& -.$ /"01 !"# !"#$# %#'#() *+,,)-&.$.&/0 .(& 1.) 2,1#3142-5,.&&(&)66) 783 1), 9:;3.77 #:7 3)6#&.+,#6) %#&),'#, %)3 ?)3, $+, "%@* ')(&)5& #:( ).,)3 2#==6:,; $+, ?6#((), :,1 A,&)37#-)(B 1.) .= C# %#=.& O .(& P).6 $+, "#$# 2Q R>O> A, 1.)()= ?#J.&)6 ')(-5L7&.;), I.3 :,( =.& 1), S3:,16#;), $+, "%@*>
23
".% 4567.$%($+5 89& /"01:4&)%&*+&,%&
A= ).,7#-5(&), T#66 I.31 "%@* .= *6.),&4C3+;3#== $)3I),1)&B 1#( 6+ Q.,) '0*43).:4;* 20674)*-).0 &3),,& ., 1)3 V);)6 1.) H,I),4 1:,;(6+;.< $+, 1)3 @),:&D:,;(+')376L-5) :,1 1)3 %#&),$)34 I#6&:,;> Q., *6.),& !D>@> W)''3+I()30 5'*11 *4+*0 !()*+,(+-/ (+9*+'.+;
"#$%&'#&(#&)%&*+&,%& -.$ /"01 !"# !"#$# %#'#() *+,,)-&.$.&/0 .(& 1.) 2,1#3142-5,.&&(&)66) 783 1), 9:;3.77 #:7 3)6#&.+,#6) %#&),'#, %)3 ?)3, $+, "%@* ')(&)5& #:( ).,)3 2#==6:,; $+, ?6#((), :,1 A,&)37#-)(B 1.) .= C# %#=.& O .(& P).6 $+, "#$# 2Q R>O> A, 1.)()= ?#J.&)6 ')(-5L7&.;), I.3 :,( =.& 1), S3:,16#;), $+, "%@*>
23
".% 4567.$%($+5 89& /"01:4&)%&*+&,%&
A= ).,7#-5(&), T#66 I.31 "%@* .= *6.),&4C3+;3#== $)3I),1)&B 1#( 6+ Q.,) '0*43).:4;* 20674)*-).0 &3),,& ., 1)3 V);)6 1.) H,I),4 1:,;(6+;.< $+, 1)3 @),:&D:,;(+')376L-5) :,1 1)3 %#&),$)34 I#6&:,;> Q., *6.),& !D>@> W)''3+I()30 5'*11 *4+*0 !()*+,(+-/ (+9*+'.+;
Y %#&),'#,
!"# '&(= !"#/?0*4,*0
Java-Anwendung JDBC JDBC-Treiber für Oracle
JDBC-Treiber für DB2
JDBC-Treiber für MySQL
Oracle
DB2
MySQL
Y %#&),'#,
!"# '&(= !"#/?0*4,*0
Java-Anwendung JDBC JDBC-Treiber für Oracle
JDBC-Treiber für DB2
JDBC-Treiber für MySQL
Oracle
DB2
MySQL
Y>] %.) H3-5.&) !"# '&)= ?IB*+ F5+ !"#/ ?0*4,*0+ Client Typ 1
Datenbank DB-Server
JDBC-API
JavaAnwendung
JDBC-ODBCBridge
ODBCTreiber
NativeAPITreiber
ClientBibliothek
ClientBibliothek
DBMS-abhängiges Protokoll DBMS
Typ 2 JavaAnwendung
DBMS-abhängiges Protokoll DBMS
Typ 3 JavaAnwendung
JDBCNetTreiber
DBMSabhängiges Protokoll
DBMS-unabhängiges Protokoll Middleware
DBMS
Typ 4 JavaAnwendung
NativeProtokollTreiber
DBMS-abhängiges Protokoll
!"#/C!"#/"04';* .+' C!"#/?0*4,*0 ?IBJ P3).')3 1.)()( P/J( '),:&D), 1#( _%@*4HCA !_J), %#'#() *+,,)-&.$.&/0 $+, K.-3+(+7&B := #:7 3)6#&.+,#6) %#&),'#, Q., !"#/C!"#/"0D6-*+)0*4,*0 I#,1)6& #66) "%@*4 H:73:7) ., _%@*4H:73:7) :=> 2+=.& 6#((), (.-5 $+35#,1),) _%@*4P3).')3 ,:&D),B := %#&),'#, H66)31.,;( ()&D& 1#( ).,) _%@*4A,(B#&.+, #:7 1)= *6.),& $+3#:(> %.) "%@*4_%@*
[email protected];) .(& #6( C# !"# '&*= L467)4;* M1(33*+ .+' H+)*0:(6*3 F5+ N(F(O3P1
java.util.Date
java.lang.Exception
java.sql
Treiberklassen sun.jdbc.odbc
Klassen
Interfaces
DriverManager
Driver
JdbcOdbcDriver
Types
Connection
JdbcOdbcConnection
Date
Statement
JdbcOdbcStatement
Time
PreparedStatement
JdbcOdbcPreparedStatement
Timestamp
ResultSet
JdbcOdbcResultSet
SQLException
DatabaseMetaData
JdbcOdbcDatabaseMetaData
ResultSetMetaData
JdbcOdbcResultSetMetaData
SQLWarning
: extends
: implements
%.) ?6#(() DriverManager 5#,15#'& 1#( G#1), 1)( "%@*4P3).')3( :,1 '.)&)& K)&5+1), D:= H:7'#: ).,)3 %#&),'#,
Y %#&),'#, !"# '&*= L467)4;* M1(33*+ .+' H+)*0:(6*3 F5+ N(F(O3P1
java.util.Date
java.lang.Exception
java.sql
Treiberklassen sun.jdbc.odbc
Klassen
Interfaces
DriverManager
Driver
JdbcOdbcDriver
Types
Connection
JdbcOdbcConnection
Date
Statement
JdbcOdbcStatement
Time
PreparedStatement
JdbcOdbcPreparedStatement
Timestamp
ResultSet
JdbcOdbcResultSet
SQLException
DatabaseMetaData
JdbcOdbcDatabaseMetaData
ResultSetMetaData
JdbcOdbcResultSetMetaData
SQLWarning
: extends
: implements
%.) ?6#(() DriverManager 5#,15#'& 1#( G#1), 1)( "%@*4P3).')3( :,1 '.)&)& K)&5+1), D:= H:7'#: ).,)3 %#&),'#,
Y>Y Q3(&) @).(J.)6)
`]
@.61 Y>a D).;& #:-5 1.) ?6#((), 1)3 "%@*4_%@*
[email protected];)B 1.) 1.) A,&)37#-)( .=J6)=),&.)3),>
2
;5
verlag
1
n
buch
!"# '&+= !()*+>5'*11
Q., M)36#; 5#& $)3(-5.)1),) @8-5)3 $)3E77),&6.-5&> Q., @:-5 .(& ., ;),#: ).,)= M)36#; )3(-5.),),> A, ).,)3 3)6#&.+,#6), %#&),'#,< I)31), 1.) Q,&.&L&(&/J), #6( P#')66), #:( 9).6), :,1 2J#6&), .=J6)=),&.)3&> %.) 2J#6&), 3)J4 3L(),&.)3), 1.) $)3(-5.)1),), K)3 !"# '&,= 2.3367+4)) (.3 '*0 ?(,*11* ,.67
Y>Y Q3(&) @).(J.)6)
`]
@.61 Y>a D).;& #:-5 1.) ?6#((), 1)3 "%@*4_%@*
[email protected];)B 1.) 1.) A,&)37#-)( .=J6)=),&.)3),>
2
;5
verlag
1
n
buch
!"# '&+= !()*+>5'*11
Q., M)36#; 5#& $)3(-5.)1),) @8-5)3 $)3E77),&6.-5&> Q., @:-5 .(& ., ;),#: ).,)= M)36#; )3(-5.),),> A, ).,)3 3)6#&.+,#6), %#&),'#,< I)31), 1.) Q,&.&L&(&/J), #6( P#')66), #:( 9).6), :,1 2J#6&), .=J6)=),&.)3&> %.) 2J#6&), 3)J4 3L(),&.)3), 1.) $)3(-5.)1),), K)3 !"# '&,= 2.3367+4)) (.3 '*0 ?(,*11* ,.67
Y %#&),'#, %)3 W)3& 1)( C3.=L3(-568(()6( .1),&.7.D.)3& 5E-5(&),( ).,) 9).6) 1)3 P#')66)> %.) 2-568(()6I)3&) ).,)3 P#')66) (.,1 #66) $+,).,#,4 1)3 $)3(-5.)1),> T83 1.) P#')66) ,.67 '.)&)& (.-5 1.) 2J#6&) 43,+ #6( C3.=L3(-568(()6 #,>
R0*>'3671D33*1
e= M)3 Q., R0*>'3671D33*1 ).,)3 P#')66) I.31 1:3-5 ).,) 2J#6&) +1)3 1:3-5 ).,) ?+='.,#&.+, $+, =)53)3), 2J#6&), 3)J3L(),&.)3&> Q., T3)=1(-568(()6 .(& ., ).,)3 #,1)3), P#')66) C3.=L3(-568(()6> %:3-5 M)3;6).-5 $+, T3)=1(-568(()6I)3& :,1 C3.=L3(-568(()64 I)3& I)31), @)D.)5:,;), DI.(-5), 9).6), 1)3 ').1), P#')66), 5)3;)(&)66&> 2+ 5#& 1.) P#')66) ,.67 1), C3.=L3(-568(()6 43,+B 1.) P#')66) F*01(; 1), C3.=L3(-568(()6 F*01(;S4'> %.) P#')66) ,.67 ')(.&D& 1), T3)=1(-568(()6 F*01(;S4' !(.)5) P#')66),(&3: T3)=1(-568(()6I)3&) .,,)35#6' ).,)3 P#')66) (.,1 ., 1)3 V);)6 ,#&836.-5 ,.-5& ).,1):&.;> %.) ]c,4@)D.)5:,; DI.(-5), F*01(; :,1 ,.67 (+I.) I.31 #6(+ 1:3-5 1.) T3)=1(-568(()64C3.=L34 (-568(()64@)D.)5:,; )'6.)3&> A= W).&)3), ()&D), I.3 S3:,1 %)3 W)3& 1)( C3.=L3(-568(()6( .1),&.7.D.)3& 5E-5(&),( ).,) 9).6) 1)3 P#')66)> %.) 2-568(()6I)3&) ).,)3 P#')66) (.,1 #66) $+,).,#,4 1)3 $)3(-5.)1),> T83 1.) P#')66) ,.67 '.)&)& (.-5 1.) 2J#6&) 43,+ #6( C3.=L3(-568(()6 #,>
R0*>'3671D33*1
e= M)3 Q., R0*>'3671D33*1 ).,)3 P#')66) I.31 1:3-5 ).,) 2J#6&) +1)3 1:3-5 ).,) ?+='.,#&.+, $+, =)53)3), 2J#6&), 3)J3L(),&.)3&> Q., T3)=1(-568(()6 .(& ., ).,)3 #,1)3), P#')66) C3.=L3(-568(()6> %:3-5 M)3;6).-5 $+, T3)=1(-568(()6I)3& :,1 C3.=L3(-568(()64 I)3& I)31), @)D.)5:,;), DI.(-5), 9).6), 1)3 ').1), P#')66), 5)3;)(&)66&> 2+ 5#& 1.) P#')66) ,.67 1), C3.=L3(-568(()6 43,+B 1.) P#')66) F*01(; 1), C3.=L3(-568(()6 F*01(;S4'> %.) P#')66) ,.67 ')(.&D& 1), T3)=1(-568(()6 F*01(;S4' !(.)5) P#')66),(&3: T3)=1(-568(()6I)3&) .,,)35#6' ).,)3 P#')66) (.,1 ., 1)3 V);)6 ,#&836.-5 ,.-5& ).,1):&.;> %.) ]c,4@)D.)5:,; DI.(-5), F*01(; :,1 ,.67 (+I.) I.31 #6(+ 1:3-5 1.) T3)=1(-568(()64C3.=L34 (-568(()64@)D.)5:,; )'6.)3&> A= W).&)3), ()&D), I.3 S3:,1O>N
N
HJ#-5) %)3'/ ]O>Y>]>R HJ#-5) %)3'/ U)&I+3< *6.),& "%@* %3.$)3 ]O>Y>]>R
!"/G05'.-)* .+' !"#/?0*4,*0
N
266*33B TI$%& !=.& P#')66),&/J H++5!"U :,1 2B(67* !*0,I :,&)3(&8&D), ?0(+3(-)45+*+ !(.)5) ?#J.&)6 Y>N>]0 :,1 (&)66), 1.) 0*:*0*+)4*11* H+)*;04)Q) (.-5)3> %#( "#$# 2Q R %)$)6+J=),& ?.& !"%?0 ),&5L6& 2B(67* !*0,I :,4 (F( !" 4+ !M W &)3 1)3 @)D).-5,:,; (F( !">
2 2
?%5'.&*+&, 2FG42 %#&),'#,O>N
N
HJ#-5) %)3'/ ]O>Y>]>R HJ#-5) %)3'/ U)&I+3< *6.),& "%@* %3.$)3 ]O>Y>]>R
!"/G05'.-)* .+' !"#/?0*4,*0
N
266*33B TI$%& !=.& P#')66),&/J H++5!"U :,1 2B(67* !*0,I :,&)3(&8&D), ?0(+3(-)45+*+ !(.)5) ?#J.&)6 Y>N>]0 :,1 (&)66), 1.) 0*:*0*+)4*11* H+)*;04)Q) (.-5)3> %#( "#$# 2Q R %)$)6+J=),& ?.& !"%?0 ),&5L6& 2B(67* !*0,I :,4 (F( !" 4+ !M W &)3 1)3 @)D).-5,:,; (F( !">
2 2
?%5'.&*+&, 2FG42 %#&),'#, !"T*)(!()(
import java.sql.*; import java.io.*; import java.util.*; public class DBMetaData { public static void main(String[] args) throws Exception { // DB-Parameter einlesen FileInputStream in = new FileInputStream("dbconnect.properties"); Properties prop = new Properties(); prop.load(in); in.close(); String String String String
driver = prop.getProperty("driver"); url = prop.getProperty("url"); user = prop.getProperty("user"); password = prop.getProperty("password");
// Treiber laden Class.forName(driver); // Verbindung zur DB herstellen Connection con = DriverManager.getConnection(url, user, password); DatabaseMetaData dbmd = con.getMetaData(); System.out.println("URL: " + dbmd.getURL()); System.out.println("UserName: " + dbmd.getUserName()); System.out.println("DatabaseProductName: " + dbmd.getDatabaseProductName()); System.out.println("DatabaseProductVersion: " +
Y %#&),'#, !"T*)(!()(
import java.sql.*; import java.io.*; import java.util.*; public class DBMetaData { public static void main(String[] args) throws Exception { // DB-Parameter einlesen FileInputStream in = new FileInputStream("dbconnect.properties"); Properties prop = new Properties(); prop.load(in); in.close(); String String String String
driver = prop.getProperty("driver"); url = prop.getProperty("url"); user = prop.getProperty("user"); password = prop.getProperty("password");
// Treiber laden Class.forName(driver); // Verbindung zur DB herstellen Connection con = DriverManager.getConnection(url, user, password); DatabaseMetaData dbmd = con.getMetaData(); System.out.println("URL: " + dbmd.getURL()); System.out.println("UserName: " + dbmd.getUserName()); System.out.println("DatabaseProductName: " + dbmd.getDatabaseProductName()); System.out.println("DatabaseProductVersion: " +
Y>Y Q3(&) @).(J.)6)
`a
dbmd.getDatabaseProductVersion()); System.out.println("DriverName: " + dbmd.getDriverName()); System.out.println("DriverVersion: " + dbmd.getDriverVersion()); con.close(); } }
9:,L-5(& I)31), 1.) M)3'.,1:,;(J#3#=)&)3 #:( ',65++*6)O B05B*0)4*3 ).,;)6)(), :,1 ., ),&(J3)-5),1), M#3.#'6), #';)6);&> %.) P3).')3
java.sql.SQLException
#5++*6)45+
Q., _'[) W.31 ).,) M)3'.,1:,; D: ).,)3 %#4 &),'#,< #,;)7+31)3&B (+ $)3(:-5& 1)3 P3).')3=#,#;)3B 1), J#(4 (),1), P3).')3 D: 7.,1), :,1 D:3 X)3(&)66:,; 1)3 M)3'.,1:,; D: $)3I),1),> %.) DriverManager4K)&5+1) getConnection (&)66& ).,) M)3'.,1:,; D:3 %#&),'#,< 5)3> static Connection getConnection(String url) throws SQLException static Connection getConnection(String url, Properties info) throws SQLException static Connection getConnection( String url, String user, String password) throws SQLException
H66) K)&5+1), 6.)7)3, )., Connection4_'[) I).&)3) H,;#'), #6( C#3#=)&)3> %#&),'#,Y Q3(&) @).(J.)6)
`j
String getUserName() throws SQLException
6.)7)3& 1), U#=), 1)( %#&),'#, String getDatabaseProductName() throws SQLException
6.)7)3& 1), C3+1: Q3;)',.(() 1)3 2FG4H,I).(:,; $)3#3').&), R> V)((+:3-), 73).;)'), %#( DI).&) C3+;3#==').(J.)6 D).;& A,7+3=#&.+,), D: @8-5)3, ., 01231455 '&' T+3= ).,)3 (+3&.)3&), G.(&) #,> %.) 5.)3D: ,E&.;) 2FG4H,I).(:,; 6#:&)&c select autor, titel, isbn from buch order by autor, titel
Y>Y Q3(&) @).(J.)6)
`j
String getUserName() throws SQLException
6.)7)3& 1), U#=), 1)( %#&),'#, String getDatabaseProductName() throws SQLException
6.)7)3& 1), C3+1: Q3;)',.(() 1)3 2FG4H,I).(:,; $)3#3').&), R> V)((+:3-), 73).;)'), %#( DI).&) C3+;3#==').(J.)6 D).;& A,7+3=#&.+,), D: @8-5)3, ., 01231455 '&' T+3= ).,)3 (+3&.)3&), G.(&) #,> %.) 5.)3D: ,E&.;) 2FG4H,I).(:,; 6#:&)&c select autor, titel, isbn from buch order by autor, titel
Y %#&),'#,*+)
%#( A,&)37#-) java.sql.Statement .(& 1.) @#(.((-5,.&&(&)66) 783 #66) 2FG4H,I).(:,;(7+3=),> K.& 1)3 Statement4K)&5+1) executeQuery I.31 ).,) 2QGQ*P4 H,I).(:,; #:(;)7853&c ResultSet executeQuery(String sql) throws SQLException
%.) K)&5+1) 6.)7)3& )., ResultSet4_'[) %.) 2FG4H,I).(:,; sql ),&5L6& K.& 1)3 Statement4K)&5+1) executeQuery I.31 ).,) 2QGQ*P4 H,I).(:,; #:(;)7853&c ResultSet executeQuery(String sql) throws SQLException
%.) K)&5+1) 6.)7)3& )., ResultSet4_'[) %.) 2FG4H,I).(:,; sql ),&5L6& 9: @)4 ;.,, .(& 1)3 *:3(+3 $+3 1)3 )3(&), 9).6) J+(.&.+,.)3&> next 6.)7)3& (+ 6#,;) trueB I.) 1#( W).&)3()&D), 1)( *:3(+3( )37+6;3).-5 I#3> A(& 1.) Q3;)',.(=),;) 6))3 +1)3 1#( P#')66),),1) )33).-5& :,1 Q( 9: ')4 #-5&), .(&B 1#(( 1)3 2J#6&),.,1)\ (.-5 #:7 1.) 2J#6&),,:==)3 ., 1)3 Q3;)',.(=),;) :,1 ,.-5& ., 1)3 _3.;.,#6')66) ')D.)5&> getString 6.)7)3&
1), 2J#6&),I)3& #6( )., String4_'[) 9: @)4 ;.,, .(& 1)3 *:3(+3 $+3 1)3 )3(&), 9).6) J+(.&.+,.)3&> next 6.)7)3& (+ 6#,;) trueB I.) 1#( W).&)3()&D), 1)( *:3(+3( )37+6;3).-5 I#3> A(& 1.) Q3;)',.(=),;) 6))3 +1)3 1#( P#')66),),1) )33).-5& :,1 Q( 9: ')4 #-5&), .(&B 1#(( 1)3 2J#6&),.,1)\ (.-5 #:7 1.) 2J#6&),,:==)3 ., 1)3 Q3;)',.(=),;) :,1 ,.-5& ., 1)3 _3.;.,#6')66) ')D.)5&> getString 6.)7)3&
1), 2J#6&),I)3& #6( )., String4_'[) @).(J.)6c java –cp build Buecherliste3 Nickleby
Statement stmt = con.createStatement(); ResultSet rs = stmt.executeQuery( "select autor, titel, isbn, verlag_name " + "from buch inner join verlag " + "on buch.verlag_id = verlag.verlag_id " + "where titel like '%" + titel + "%' order by autor, titel");
".*67*0143)*A X2.3367+4))U
2A
/"01:"#$%&$E=%&
@). 1), $%&/!()*+)IB*+B 1.) $+, 1), $)3(-5.)1),), %#&),'#, 2FG #3').&)& =.& #,1)3), %#&),&/J), #6( "#$#> @).= 9:;3.77 #:7 1.) 2J#6&),I)3&) :,1 '). 1)3 @)6);:,; $+, C#3#=)&)3, ., "%@*4
Y>` "%@*4%#&),&/J),
N]
C3+;3#==), !(.)5) PreparedStatement .= ,L-5(&), H'(-5,.&&0 =:(( 1#5)3 ).,) H''.61:,; DI.(-5), ').1), P/J(/(&)=), )37+6;),> e= 1.) #= =).(&), $)3I),1)&), 2FG4%#&),&/J), ).,5).&6.-5 D: !"#/!()*+)IB*+ 3)J3L(),&.)3),B I:31), (+ ;),#,,&) !"#/!()*+)IB*+ 1)7.,.)3&B 1.) ., 1)3 ?6#(() java.sql.Types #6( ?+,(,&), $+= P/J int D:4 (#==),;)7#((& (.,1c public static final int XXX
@.61 Y>Z ;.'& ).,) b')3(.-5& 8')3 1.) "%@*4%#&),&/J), :,1 .53) Q,&(J3)-5:,;), 783 1.) %#&),'#, setXxx4K)&5+1), $)3I),1)&> X.)3 7.,1)& ).,) ?+,$)3&.)3:,; $+, 2FG4P/J), ., "#$#4P/J), 'DI> :=;) @.61 Y>^ D).;& 1.) H''.61:,; DI.(-5), "%@*4P/J), :,1 "#$#4P/J),> !"# '&-= 2,,41'.+; 894367*+ !"#/?IB*+ .+' $%&/?IB*+ JDBC-Typ
SQL-Typ Access
SQL-Typ MySQL
SQL-Typ Derby
TINYINT
BYTE
TINYINT
SMALLINT
SMALLINT
SMALLINT
SMALLINT
INTEGER
INTEGER, COUNTER
INTEGER, MEDIUMINT
INTEGER
BIGINT
BIGINT
REAL
FLOAT
REAL
DOUBLE, FLOAT
DOUBLE, REAL
DOUBLE, FLOAT
DECIMAL(p,s), NUMERIC(p,s)
DECIMAL(p,s) NUMERIC(p,s)
H+)*;*08(71*+
BIGINT
\1*4)-5>>(8(71*+ REAL FLOAT DOUBLE
R*3)-5>>(8(71*+ DECIMAL NUMERIC
CURRENCY
Y>` "%@*4%#&),&/J),
N]
C3+;3#==), !(.)5) PreparedStatement .= ,L-5(&), H'(-5,.&&0 =:(( 1#5)3 ).,) H''.61:,; DI.(-5), ').1), P/J(/(&)=), )37+6;),> e= 1.) #= =).(&), $)3I),1)&), 2FG4%#&),&/J), ).,5).&6.-5 D: !"#/!()*+)IB*+ 3)J3L(),&.)3),B I:31), (+ ;),#,,&) !"#/!()*+)IB*+ 1)7.,.)3&B 1.) ., 1)3 ?6#(() java.sql.Types #6( ?+,(,&), $+= P/J int D:4 (#==),;)7#((& (.,1c public static final int XXX
@.61 Y>Z ;.'& ).,) b')3(.-5& 8')3 1.) "%@*4%#&),&/J), :,1 .53) Q,&(J3)-5:,;), 783 1.) %#&),'#, setXxx4K)&5+1), $)3I),1)&> X.)3 7.,1)& ).,) ?+,$)3&.)3:,; $+, 2FG4P/J), ., "#$#4P/J), 'DI> :=;) @.61 Y>^ D).;& 1.) H''.61:,; DI.(-5), "%@*4P/J), :,1 "#$#4P/J),> !"# '&-= 2,,41'.+; 894367*+ !"#/?IB*+ .+' $%&/?IB*+ JDBC-Typ
SQL-Typ Access
SQL-Typ MySQL
SQL-Typ Derby
TINYINT
BYTE
TINYINT
SMALLINT
SMALLINT
SMALLINT
SMALLINT
INTEGER
INTEGER, COUNTER
INTEGER, MEDIUMINT
INTEGER
BIGINT
BIGINT
REAL
FLOAT
REAL
DOUBLE, FLOAT
DOUBLE, REAL
DOUBLE, FLOAT
DECIMAL(p,s), NUMERIC(p,s)
DECIMAL(p,s) NUMERIC(p,s)
H+)*;*08(71*+
BIGINT
\1*4)-5>>(8(71*+ REAL FLOAT DOUBLE
R*3)-5>>(8(71*+ DECIMAL NUMERIC
CURRENCY
Y %#&),'#, H66) ;)&4K)&5+1), %.) ResultSet4K)&5+1), Object getObject(int columnIndex) throws SQLException Object getObject(String columnName) throws SQLException
6.)7)3, 1), 2J#6&),I)3& #6( )., "#$#4_'[) _'[)
!()*
Date(long date) )3D):;& )., Date4_'[)]^jOB OOcOOcOO SKP0> void setTime(long date)
()&D& 1#( %#&:=> static Date valueOf(String s)
6.)7)3& )., Date4_'[)*
Time(long time) )3D):;& )., Time4_'[)]^jOB OOcOOcOO SKP0> void setTime(long time)
()&D& 1.) e53D).&> static Time valueOf(String s) 6.)7)3& )., Time4_'[)
1)3 9).-5),*3)(>B
Timestamp(long time) )3D):;& )., Timestamp4_'[)]^jOB OOcOOcOO SKP0> void setTime(long time)
()&D& %#&:= :,1 e53D).&> long getTime()
6.)7)3& %#&:= :,1 e53D).& ., K.66.()O]>]^jOB OOcOOcOO SKP0> static Timestamp valueOf(String s) 6.)7)3& )., Timestamp4_'[) _'[)
!()*
Date(long date) )3D):;& )., Date4_'[)]^jOB OOcOOcOO SKP0> void setTime(long date)
()&D& 1#( %#&:=> static Date valueOf(String s)
6.)7)3& )., Date4_'[)*
Time(long time) )3D):;& )., Time4_'[)]^jOB OOcOOcOO SKP0> void setTime(long time)
()&D& 1.) e53D).&> static Time valueOf(String s) 6.)7)3& )., Time4_'[)
1)3 9).-5),*3)(>B
Timestamp(long time) )3D):;& )., Timestamp4_'[)]^jOB OOcOOcOO SKP0> void setTime(long time)
()&D& %#&:= :,1 e53D).&> long getTime()
6.)7)3& %#&:= :,1 e53D).& ., K.66.()O]>]^jOB OOcOOcOO SKP0> static Timestamp valueOf(String s) 6.)7)3& )., Timestamp4_'[) int compareTo(Timestamp ts)
$)3;6).-5& 1.)() e53D).& =.& ts> boolean equals(Timestamp ts) J387&B +' 1.)()( Timestamp4_'[)>4)/ T5'.3c ")1) ).,D)6,) 2FG4H,I).(:,; '.61)& ).,) P3#,(#>4) ')(&L&.;& I.31> e= =)53)3) H,I).(:,;), .,,)35#6' ).,)3 ).,D.;), P3#,(#4) #:(;)(-5#6&)& I)31),> %#( A,&)37#-) Connection 1)>4) )., !true0 +1)3 #:( !false0>
2.)5/#5>>4)
boolean getAutoCommit() throws SQLException
J387&B +' 2.)5/#5>>4) ).,;)(-5#6&)& .(&> void commit() throws SQLException
#5>>4) .+'
D).;& #,B 1#(( 1.) P3#,(#
Y %#&),'#, 01231455 '&*
C3+;3#== Y>a 3.-5&)& 1.) .= ?#J.&)6 Y>Y ).,;)7853&), P#')66), F*01(; :,1 ,.67 ).,> %.) G05B*0)4*34%#&). )(,1*3OB05B*0)4*3 ),&5L6& 1.) M)3I).() #:7 1.) ),&(J3)-5),1), 2FG42
)(,1*3OB05B*0)4*3
tables ../db/Access/create_verlag.sql \ ../db/Access/create_buch.sql #tables ../db/MySQL/create_verlag.sql \ # ../db/MySQL/create_buch.sql #tables ../db/Derby/create_verlag.sql \ # ../db/Derby/create_buch.sql
%#( C3+;3#== .(& :,#'5L,;.; $+, ).,)= 01231455 '&*
C3+;3#== Y>a 3.-5&)& 1.) .= ?#J.&)6 Y>Y ).,;)7853&), P#')66), F*01(; :,1 ,.67 ).,> %.) G05B*0)4*34%#&). )(,1*3OB05B*0)4*3 ),&5L6& 1.) M)3I).() #:7 1.) ),&(J3)-5),1), 2FG42
)(,1*3OB05B*0)4*3
tables ../db/Access/create_verlag.sql \ ../db/Access/create_buch.sql #tables ../db/MySQL/create_verlag.sql \ # ../db/MySQL/create_buch.sql #tables ../db/Derby/create_verlag.sql \ # ../db/Derby/create_buch.sql
%#( C3+;3#== .(& :,#'5L,;.; $+, ).,)= Q( 7+6;), ).,.;) ?+,$),&.+,), 783 1.) U+&.)3:,; 1)3 W)3&) ., 1)3 A=J+3&1#&).c d 9).-5),@> " :(I> ).,4 ;);)'),> d U:=)3.(-5) W)3&) I)31), I.) G.&)3#6) ., "#$# ,+&.)3&> d U.-5& $+35#,1),) W)3&) !UeGG4W)3&)0 I)31), 1:3-5 \N ;)4 d T+3=#&) 783 %#&:=B e53D).& :,1 9).&(&)=J)6 (.,1 ijjjj-mm-ttiB ihh:mm:ssi 'DI> ijjjj-mm-tt hh:mm:ssi>
%#( C3+;3#== .(& #66;)=).,;86&.; ;)(-53.)'), :,1 ; +1)3 \t !7#66( 1#( P#':6#&+3D).-5), '),:&D& I:31)0 `> U#=) 1)3 P#')66) %)3 U#=) 1)3 A=J+3&1#&). 783 1.) P#')66) ZZZ =:(( 1#,, ZZZO)Z) 6#:&),>
Y %#&),'#, Q( 7+6;), ).,.;) ?+,$),&.+,), 783 1.) U+&.)3:,; 1)3 W)3&) ., 1)3 A=J+3&1#&).c d 9).-5),@> " :(I> ).,4 ;);)'),> d U:=)3.(-5) W)3&) I)31), I.) G.&)3#6) ., "#$# ,+&.)3&> d U.-5& $+35#,1),) W)3&) !UeGG4W)3&)0 I)31), 1:3-5 \N ;)4 d T+3=#&) 783 %#&:=B e53D).& :,1 9).&(&)=J)6 (.,1 ijjjj-mm-ttiB ihh:mm:ssi 'DI> ijjjj-mm-tt hh:mm:ssi>
%#( C3+;3#== .(& #66;)=).,;86&.; ;)(-53.)'), :,1 ; +1)3 \t !7#66( 1#( P#':6#&+3D).-5), '),:&D& I:31)0 `> U#=) 1)3 P#')66) %)3 U#=) 1)3 A=J+3&1#&). 783 1.) P#')66) ZZZ =:(( 1#,, ZZZO)Z) 6#:&),>
Y>N H:(7853:,; $+, 2FG4H,I).(:,;),
N^
%#( C3+;3#== ;),)3.)3& 783 [)1) ).,;)6)(),) 9).6) 1)3 A=J+3&4 1#&). ).,) AU2QVP4H,I).(:,;> %# 1.) P#')66),(&3: X.)3 1.) ').1), Statement4K)&5+1),c void addBatch(String sql) throws SQLException int[] executeBatch() throws SQLException
%#( int4H33#/ ),&5L6& 783 [)1) 2FG4H,I).(:,; 1.) H,;#') 1#34 8')3B I.) $.)6) %#&),(L&D) ).,;)78;& 'DI> $)3L,1)3& I:31),B 1), W)3& Statement.SUCCESS_NO_INFO +1)3 Statement.EXECUTE_FAILED .= T)56)37#66> 01231455 '&,
%#( ,L-5(&) C3+;3#== )\J+3&.)3& 1.) %#&), ).,)3 P#')66) .= +'), ')(-53.)'),), A=J+3&4T+3=#&> %#=.& X.)3 1.) ').1), Statement4K)&5+1),c void addBatch(String sql) throws SQLException int[] executeBatch() throws SQLException
%#( int4H33#/ ),&5L6& 783 [)1) 2FG4H,I).(:,; 1.) H,;#') 1#34 8')3B I.) $.)6) %#&),(L&D) ).,;)78;& 'DI> $)3L,1)3& I:31),B 1), W)3& Statement.SUCCESS_NO_INFO +1)3 Statement.EXECUTE_FAILED .= T)56)37#66> 01231455 '&,
%#( ,L-5(&) C3+;3#== )\J+3&.)3& 1.) %#&), ).,)3 P#')66) .= +'), ')(-53.)'),), A=J+3&4T+3=#&> %#=.& Q$&6> C#3#=)&)3I)3&) I)31), ., 1.)()= 2&3.,; ,.-5& #,;);)'),B (+,1)3, ,:3 1:3-5 1), C6#&D5#6&)3 ? ;) 2+=.& I.31 1)3 2&3.,; $+= %@K2 ,:3 ).,=#6 ;)J#3(& :,1 #:7 ?+33) @). [)1)3 (JL&)3), H:(7853:,; I)31), ,:3 ,+-5 1.) C#3#=)&)3I)3&) ;)7866&> 3*)_ZZ
H,#6+; D: 1), getXxx4K)&5+1), $+, ResultSet !(.)5) ?#J.&)6 Y>`0 (&)66& PreparedStatement setXxx4K)&5+1), ')3).&B =.& 1),), 1.) C#4 3#=)&)3I)3&) ;)()&D& I)31), void void void void void void void void void void void void void
setByte(int idx, byte x) setShort(int idx, short x) setInt(int idx, int x) setLong(int idx, long x) setFloat(int idx, float x) setDouble(int idx, double x) setBigDecimal(int idx, BigDecimal x) setDate(int idx, Date x) setTime(int idx, Time x) setTimestamp(int idx, Timestamp x) setString(int idx, String x) setBoolean(int idx, boolean x) setBytes(int idx, byte[] x)
idx K.& X.67) 1)3 PreparedStatement4K)&5+1) void addBatch() throws SQLException
I)31), C#3#=)&)3(L&D)B 1.) =.& 1), setXxx4K)&5+1), #,;)6);& I:31),B ).,;)&3#;),> %.) ).,D)6,), _J)3#&.+,), I)31), 1#,, I.)1)3 #= 2-56:(( ., ).,)= 9:; =.& X.67) 1)3 K)&5+1) executeBatch !(.)5) +'),0 #:(4 ;)7853&> %#( 7+6;),1) C3+;3#== ,:&D& 1.) )'), ')5#,1)6&), KE;4 01231455 '&6.-5 D: $)3=.,4 1)3,> %.) 7+6;),1) eC%HPQ4H,I).(:,; I.31 $)3I),1)&c update buch set bestand = bestand + ?, stand = ? where isbn = ?
A2@U4U:==)3 :,1 K),;),I)3& I)31), #:( 1)3 Q.,;#')1#&). ,*3)(+'O)Z) !H:73:7J#3#=)&)30 ;)6)(),> @.61 Y>]O D).;& 1), %#&),'#,
3-15-001308-9 3-257-20998-3 3-351-03044-4 bestand.txt
UpdateBestand
DB
-5 -4 7
!"# '&%/= ]B'()* '*3 &(;*0,*3)(+'3
Y>N H:(7853:,; $+, 2FG4H,I).(:,;),
aa
E.119*0)* 0) System.out.println(isbn + ": Bestand aktualisiert"); } con.commit(); stmt.close(); } catch (Exception e) { System.err.println(e);
Y>a Q., ).,7#-5)( T3+,&),1 783 2FG4%#&),'#, %#( 7+6;),1) C3+;3#== '.)&)& )., R05+)*+' 783 2FG4%#&),4 01231455 '&. '#,Y I:31), ')3).&( K)#&), 8')3 1.) %#&),'#,< !DatabaseMetaData0 ;),:&D&> X.)3 7+6;), DI). I).&)3) K)&5+1),c ResultSet getTables(String catalog, String schemaPattern, String tableNamePattern, String[] types) throws SQLException
6.)7)3& ).,) @)(-53).':,; 1)3 P#')66), 1)3 %#&),'#, A= @).4 (J.)6 3:7), I.3 1.) K)&5+1) =.& 1), C#3#=)&)3, nullB nullB "%"B null #:7> %#( ResultSet4_'[)#> 1.) 2J#6&), TABLE_NAME :,1 TABLE_TYPE> ResultSet getColumns(String catalog, String schemaPattern, String tableNamePattern, String columnNamePattern) throws SQLException
6.)7)3& ).,) @)(-53).':,; 1)3 P#')66),(J#6&),> A= @).(J.)6 3:7), I.3 1.) K)&5+1) =.& 1), C#3#=)&)3, nullB nullB tabelleB "%" #:7> %#( ResultSet4_'[)#> 1.) 2J#6&), COLUMN_NAMEB DATA_TYPE !"%@*4%#&),&/J #:( java.sql.Types0B TYPE_NAMEB COLUMN_SIZE> %#( 7+6;),1) C3+;3#== '.)&)& )., R05+)*+' 783 2FG4%#&),4 01231455 '&. '#,a Q., ).,7#-5)( T3+,&),1 783 2FG4%#&),'#,a Q., ).,7#-5)( T3+,&),1 783 2FG4%#&),'#, 3670*4,*+ .+' 1*3*+ PreparedStatement4K)&5+1)c void setBinaryStream(int parameterIndex, InputStream x, int length) throws SQLException length .(&
1.) S3Ef) 1)3 %#&). ., @/&)>
ResultSet4K)&5+1),c InputStream getBinaryStream(int columnIndex) throws SQLException InputStream getBinaryStream(String columnName) throws SQLException
C3+;3#== Y>]O (J).-5)3& )., [J);
[email protected] 783 ).,) ')(&.==&) A2@U4 01231455 '&%/ U:==)3> %.) @.61)3 (.,1 ., ).,)= $+3;);)'),), M)3D).-5,.( D: 7.,1), :,1 &3#;), [)I).6( 1), %#&).,#=),c a43,+bONB*;> H:73:7').(J.)6c java -cp build ImportImage bilder 3-15-001308-9
import java.sql.*; import java.io.*; import java.util.*; public class ImportImage { public static void main(String[] args) { String dir = args[0]; String isbn = args[1]; InputStream fin = null; Connection con = null; try { FileInputStream in = new FileInputStream( "dbconnect.properties"); Properties prop = new Properties(); prop.load(in); in.close(); String driver = prop.getProperty("driver"); String url = prop.getProperty("url");
H>B50)H>(;*
Y>R 2J).-5)3:,; ;3+f)3 _'[) 0) System.out.println(image + " wurde importiert"); ps.close(); } catch (Exception e) { System.err.println(e); } finally { try { if (con != null) con.close(); if (fin != null) fin.close(); } catch (Exception e) { System.err.println(e); } } } }
01231455 '&%%
K.& C3+;3#== Y>]]
VZB50)H>(;*
import java.sql.*; import java.io.*; import java.util.*; public class ExportImage { public static void main(String[] args) { String dir = args[0]; String isbn = args[1]; InputStream fin = null; FileOutputStream fout = null; Connection con = null;
Y %#&),'#, X.)3D: )\.(&.)3), 1.) ').1), Connection4K)&5+1), Statement createStatement(int resultSetType, int resultSetConcurrency) throws SQLException PreparedStatement prepareStatement(String sql, int resultSetType, int resultSetConcurrency) throws SQLException
%)3 C#3#=)&)3 resultSetType ')(&.==&B I.) ., 1)3 Q3;)',.(=),;) =.& X.67) ).,)( .,&)3,), *:3(+3( ,#$.;.)3& I)31), %)3 C#3#=)&)3 resultSetConcurrency 6);& 7)(&B +' %#&),(L&D) 1)3 Q3;)'4 ,.(=),;) 1.3) d+'*0,(0-*4)
T83 resultSetConcurrency j U#$.;#&.+, :,1 l,1)3:,;), ., 1)3 Q3;)',.(=),;)
R^
A(& 1.) Q3;)',.(=),;) #6( L,1)3'#3 ).,;)(&)66&B
T83 1#( T+6;),1) ()&D), I.3 $+3#:(B 1#(( 1)3 *:3(+3 #:7 ).,)= ')(&.==&), %#&),(#&D 1)3 Q3;)',.(=),;) J+(.&.+,.)3& .(&> H:73:7 1)3 ResultSet4K)&5+1), void updateXxx(int idx, typ x) throws SQLException #,#6+; D: 1), setXxx4K)&5+1), #:( ?#J.&)6 rs.updateInt(3, 100);
d+'*0+
Y>N>`B #6(+ D> @>
H:73:7 1)3 ResultSet4K)&5+1) void updateRow() throws SQLException H:73:7 1)3 ResultSet4K)&5+1) void moveToInsertRow() throws SQLException
V4+:D;*+
H:73:7 1)3 updateXxx4K)&5+1),> H:73:7 1)3 ResultSet4K)&5+1) void insertRow() throws SQLException S;7> H:73:7 1)3 ResultSet4K)&5+1) void moveToCurrentRow() throws SQLException
:= D:= # 9: ).,)= 01231455 '&%( @:-5 j U#$.;#&.+, :,1 l,1)3:,;), ., 1)3 Q3;)',.(=),;) rs.moveToInsertRow(); rs.updateString(1, isbn); rs.insertRow(); rs.moveToCurrentRow(); System.out.println("insert OK"); } else if (line.equals("delete")) { rs.deleteRow(); System.out.println("delete OK"); rs.previous(); } else { try { int bestand = Integer.parseInt(line); rs.updateInt(3, bestand); rs.updateTimestamp(4, new Timestamp( System.currentTimeMillis())); rs.updateRow(); System.out.println(rs.getRow() + " " + rs.getString(1) + " " + rs.getString(2) + " " + rs.getString(3)); } catch (NumberFormatException e) { System.err.println("Keine Integerzahl"); } } } catch (SQLException e) { System.err.println(e); } } } catch (Exception e) { System.err.println(e); } finally { try { if (rs != null) rs.close(); if (stmt != null) stmt.close(); if (con != null) con.close(); } catch (SQLException e) { } } } }
j]
Y %#&),'#,@> XPKG0 =.&&)6( m2GP !Q\&),(.'6) 2&/6)(5))& G#,;:#;) P3#,(7+3=#&.+,0 &3#,(7+3=.)3&> _T&
9:,L-5(& ).,.;) @)=)3@> XPKG0 %.) P)\&)6)=),&) I)31), 1:3-5 K#3
Y %#&),'#,@> XPKG0 =.&&)6( m2GP !Q\&),(.'6) 2&/6)(5))& G#,;:#;) P3#,(7+3=#&.+,0 &3#,(7+3=.)3&> _T&
9:,L-5(& ).,.;) @)=)3@> XPKG0 %.) P)\&)6)=),&) I)31), 1:3-5 K#3
Y>Z Q\