Re: spojeni aplikace servlet
On Wednesday 21 of September 2005 23:09, Karel Tejnora wrote: > Nemate zkusenosti s Cache od Inter Systems? Vypada to velmi hezky, ale ... Ted jsem se na to zbezne dival. O distribuovanosti zde nemuze byt rec, rychlost mozna, ale nijak dlouze jsem to netestoval. Nebylo proc. De facto to neni nic jineho nez Hashtabulka (ano, zamyka se ;-) ), ktera muze obsahovat jako hodnoty bud retezce nebo dalsi hashtabulky. Mapovani do trid se deje stejne jako u Pythonu - extra popisem. Neni mi jasny ten system indexovani pomoci bitovych map, to budu muset jeste blize prostudovat. Nabindovani do Javy je udelano asi stejne jako u Lotus Notes: pres socket si muzete volat serverove sluzby. Kdo drive pracoval s freemarkerem, asi mu to bude neco hodne pripominat... -- Oto 'tapik' Buchta, [EMAIL PROTECTED] Senior Engineer, Systinet Corp, http://www.systinet.com
Re: spojeni aplikace servlet
Nemate zkusenosti s Cache od Inter Systems? Vypada to velmi hezky, ale ... Navic DRDA mi neprijde jako vhodna volba. To uz bych radeji volil Liquid Data - prece jen to ma blize k Internetove architekture a doba cistych relacnich databazovych reseni postupne odchazi ...
Re: spojeni aplikace servlet
Martin Kuba wrote: Mat wrote: Ale mam otazku: Neexperimentovali ste na takejto sieti s klasickym NFS (samozrejme nad UDP)? Mozno by v takomto specialnom pripade (velka sirka + velka latencia) vyvazil overhead NFS jeho "lepsim" vyuzitim pasma pomocou UDP nad klasickym FTP/TCP. Pokud vim, tak NFS u nas bylo zavrzeno a pouzivame AFS, protoze lepe skaluje a zajistuje lepsi bezpecnost. Nevim jestli je rychlejsi. Neni to nejak exaktni, ale zkusil jsem si ted pro porovnani prenest soubor 37.4MB velky pomoci ftp a zkopirovanim z AFS, a ftp to trvalo 3.65sekundy a AFS 14.3 sekundy. Makub Ja jsem se rozhodl nakonec pro coda. Chystam se v rijnu implementovat mirroring dat na dva servery. Tedy melo by to snad jit. Nemate nekdo s Codou zkusenosti? Pet
Re: spojeni aplikace servlet
Oto Buchta wrote: Jinak jsem ocekaval, ze gigabytove linky umi bundlovat packety do balicku o velikosti tak setiny sirky pasma a kazdych deset milisekund je preposilat dal... Linka is muze delat co chce, ale rychlost odesilani dat urcuji koncove body, a ty nevi, jake linky lezi mezi nimi, krome toho, ze se jim ztraceji pakety vic nebo min. Pro skutecne velke rychlosti jsou ted modni reseni, kdy dostanes plne optickou trasu, tj. jednu vlnovou delku svetla (treba zelenou :-) ) po cele trase, a nikdo se ti do ni neplete, takze ji mas celou pro sebe. Tam pak nemusis mit ferovy protokol. pouzil Staudkova bernardyna. Jeho pomer sirka pasma ku porizovaci naklady s krabickou na sto DVD zavesenou misto soudku rumu na jeho krku je ohromujici. Nerku-li pak sirku pasma T813 plne nalozene DVDckama ;-) ) Jiste, ale z jisteho radioteleskopu, ktery produkuje nejakych 10gigabitu za sekundu, uz je prestava bavit posilat kamiony nalozene paskami, a porizuji si sklenene vlakno. Takze i bernardyni maji sve limity :-) Samozrejme neco jineho je v pripade, kdyz nemas na vstupu video na disku, ale video vstup z profesionalni kamery s vysokym rozlisenim a mas to z ni primo streamovat na stovky destinaci s gigovou linkou. Ale ukaz mi, kolik takovych stanic bys resil architekturou navrzenou tazatelem :-D Uhnuli jsem od tematu, tazatel jiste chtel stehovat vcelku male soubory, a ted se divi, co to rozebirame :-) Makub -- ~~ Supercomputing Center Brno Martin Kuba Institute of Computer Scienceemail: [EMAIL PROTECTED] Masaryk University http://www.ics.muni.cz/~makub/ Botanicka 68a, 60200 Brno, CZ mobil: +420-603-533775 -- smime.p7s Description: S/MIME Cryptographic Signature
Re: spojeni aplikace servlet
Mat wrote: Ale mam otazku: Neexperimentovali ste na takejto sieti s klasickym NFS (samozrejme nad UDP)? Mozno by v takomto specialnom pripade (velka sirka + velka latencia) vyvazil overhead NFS jeho "lepsim" vyuzitim pasma pomocou UDP nad klasickym FTP/TCP. Pokud vim, tak NFS u nas bylo zavrzeno a pouzivame AFS, protoze lepe skaluje a zajistuje lepsi bezpecnost. Nevim jestli je rychlejsi. Neni to nejak exaktni, ale zkusil jsem si ted pro porovnani prenest soubor 37.4MB velky pomoci ftp a zkopirovanim z AFS, a ftp to trvalo 3.65sekundy a AFS 14.3 sekundy. Makub -- ~~ Supercomputing Center Brno Martin Kuba Institute of Computer Scienceemail: [EMAIL PROTECTED] Masaryk University http://www.ics.muni.cz/~makub/ Botanicka 68a, 60200 Brno, CZ mobil: +420-603-533775 -- smime.p7s Description: S/MIME Cryptographic Signature
Re: spojeni aplikace servlet
On Wednesday 21 of September 2005 10:48, Martin Kuba wrote: > Oto Buchta wrote: > > No samozrejme jeste rychlejsi by to melo byt pres Serverovy socket honit > > binarni stream s vlastnim optimalizovanym protokolem. Ale, no, jak bych > > to > > Pokud jde opravdu o vykon, tak je to nase superpocitacova parketa :-) > Do radu stovek megabajtu asi zadny vlastni protokol nepobije klasicke > ftp, ono koneckoncu nedela nic jineho, nez si pro data otevre TCP/IP > socket a tlaci je binarne, co to jde. > A pokud potrebujete stehovat gigabajty a terabajty, > tak vede ftp rozsirene o stripovani (bbftp, gridftp), tj. otevre si to > moc socketu a tlaci to data zaroven mnoha TCP/IP streamy. > U chytre implementace se muze kazdy stream ukladat na jiny fyzicky disk, > takze sirka pasma je pak plne vyuzita. Stripovane FTP jsem mel na mysli, ovsem s malym predrazenym filtrem schopnym minimalizovat redundantni data. Preci jenom pri dokonale znalosti semantiky dat jsi schopen udelat lepsi kompresi nez nad seqencemi bajtu. Jinak jsem ocekaval, ze gigabytove linky umi bundlovat packety do balicku o velikosti tak setiny sirky pasma a kazdych deset milisekund je preposilat dal... > > rekl, nemyslim, ze v soucasne dobe se AZ TAK MOC hledi na vykon. Mnohem > > levneji vyjde poridit silnejsi linku a cluster Linuxovych pecek nez > > prodlouzit vyvoj aplikace o mesic a udrzbu rozsirit o deset procent ;-) > > No jak zacnes stehovat video, a zjistis, ze hodina v DV kvalite > ma nejakych 12 Gigabajt, zacnes se poohlizet po vykonu :-) > A za rohem ceka HDTV video s petinasobnym rozlisenim :-) Mas-li dostatecny vykon k zaplneni linky, tak nic vic nepotrebujes, i kdybys stehoval komletni filmoteku ceske televize v HDTV. (Jinak tady bych urcite pouzil Staudkova bernardyna. Jeho pomer sirka pasma ku porizovaci naklady s krabickou na sto DVD zavesenou misto soudku rumu na jeho krku je ohromujici. Nerku-li pak sirku pasma T813 plne nalozene DVDckama ;-) ) Samozrejme neco jineho je v pripade, kdyz nemas na vstupu video na disku, ale video vstup z profesionalni kamery s vysokym rozlisenim a mas to z ni primo streamovat na stovky destinaci s gigovou linkou. Ale ukaz mi, kolik takovych stanic bys resil architekturou navrzenou tazatelem :-D -- Oto 'tapik' Buchta, [EMAIL PROTECTED] Senior Engineer, Systinet Corp, http://www.systinet.com
Re: spojeni aplikace servlet
No nesuvisi to priamo s javou, ale ked sa to tu uz zacalo preberat.. :-) Pre zaujemcov o maximalne vyuzitie vysokorychlostnych sieti s velkou latenciou posielam 2 linky: Celkom zaujimava studia s velkym mnozstvom odkazov: http://www.csm.ornl.gov/~dunigan/netperf/bulk.html A jeden znamy pokus o spojenie vyhod tcp a udp dohromady http://www.sctp.org/ Ale mam otazku: Neexperimentovali ste na takejto sieti s klasickym NFS (samozrejme nad UDP)? Mozno by v takomto specialnom pripade (velka sirka + velka latencia) vyvazil overhead NFS jeho "lepsim" vyuzitim pasma pomocou UDP nad klasickym FTP/TCP. Martin Kuba wrote: Oto Buchta wrote: No samozrejme jeste rychlejsi by to melo byt pres Serverovy socket honit binarni stream s vlastnim optimalizovanym protokolem. Ale, no, jak bych to Pokud jde opravdu o vykon, tak je to nase superpocitacova parketa :-) Do radu stovek megabajtu asi zadny vlastni protokol nepobije klasicke ftp, ono koneckoncu nedela nic jineho, nez si pro data otevre TCP/IP socket a tlaci je binarne, co to jde. A pokud potrebujete stehovat gigabajty a terabajty, tak vede ftp rozsirene o stripovani (bbftp, gridftp), tj. otevre si to moc socketu a tlaci to data zaroven mnoha TCP/IP streamy. U chytre implementace se muze kazdy stream ukladat na jiny fyzicky disk, takze sirka pasma je pak plne vyuzita. Jen tak pro zajimavost, jak se s pripojenim na Internet dostanete do radu gigabitu a desitek gigabitu (mame tu 10Gb/s), tak zjistite, ze sirka pasma neni jediny dulezity udaj o siti, protoze i velice siroka sit muze mit (a na mezikontinentalni vzdalenost ma) velkou latenci. A protoze TCP/IP si doruceni paketu potvrzuje, vetsinu casu se ceka na potvrzovaci paket a nic se neodesila. Pracuje se na nahrade TCP, ktera by dokazala vyuzit i linky s velkou sirkou pasma, nicmene pokud vim, zatim nikdo nevymyslel algoritmus pro protokol, ktery by zaroven dokazal linku vyuzit naplno a zaroven byl ferovy, tj. kdyz v jedne lince bude vic prenosu, aby si sirku pasma rozdelily rovnym dilem. Konec exkurze do vysokorychlostnich siti :-) rekl, nemyslim, ze v soucasne dobe se AZ TAK MOC hledi na vykon. Mnohem levneji vyjde poridit silnejsi linku a cluster Linuxovych pecek nez prodlouzit vyvoj aplikace o mesic a udrzbu rozsirit o deset procent ;-) No jak zacnes stehovat video, a zjistis, ze hodina v DV kvalite ma nejakych 12 Gigabajt, zacnes se poohlizet po vykonu :-) A za rohem ceka HDTV video s petinasobnym rozlisenim :-) Makub
Re: spojeni aplikace servlet
Oto Buchta wrote: No samozrejme jeste rychlejsi by to melo byt pres Serverovy socket honit binarni stream s vlastnim optimalizovanym protokolem. Ale, no, jak bych to Pokud jde opravdu o vykon, tak je to nase superpocitacova parketa :-) Do radu stovek megabajtu asi zadny vlastni protokol nepobije klasicke ftp, ono koneckoncu nedela nic jineho, nez si pro data otevre TCP/IP socket a tlaci je binarne, co to jde. A pokud potrebujete stehovat gigabajty a terabajty, tak vede ftp rozsirene o stripovani (bbftp, gridftp), tj. otevre si to moc socketu a tlaci to data zaroven mnoha TCP/IP streamy. U chytre implementace se muze kazdy stream ukladat na jiny fyzicky disk, takze sirka pasma je pak plne vyuzita. Jen tak pro zajimavost, jak se s pripojenim na Internet dostanete do radu gigabitu a desitek gigabitu (mame tu 10Gb/s), tak zjistite, ze sirka pasma neni jediny dulezity udaj o siti, protoze i velice siroka sit muze mit (a na mezikontinentalni vzdalenost ma) velkou latenci. A protoze TCP/IP si doruceni paketu potvrzuje, vetsinu casu se ceka na potvrzovaci paket a nic se neodesila. Pracuje se na nahrade TCP, ktera by dokazala vyuzit i linky s velkou sirkou pasma, nicmene pokud vim, zatim nikdo nevymyslel algoritmus pro protokol, ktery by zaroven dokazal linku vyuzit naplno a zaroven byl ferovy, tj. kdyz v jedne lince bude vic prenosu, aby si sirku pasma rozdelily rovnym dilem. Konec exkurze do vysokorychlostnich siti :-) rekl, nemyslim, ze v soucasne dobe se AZ TAK MOC hledi na vykon. Mnohem levneji vyjde poridit silnejsi linku a cluster Linuxovych pecek nez prodlouzit vyvoj aplikace o mesic a udrzbu rozsirit o deset procent ;-) No jak zacnes stehovat video, a zjistis, ze hodina v DV kvalite ma nejakych 12 Gigabajt, zacnes se poohlizet po vykonu :-) A za rohem ceka HDTV video s petinasobnym rozlisenim :-) Makub -- ~~ Supercomputing Center Brno Martin Kuba Institute of Computer Scienceemail: [EMAIL PROTECTED] Masaryk University http://www.ics.muni.cz/~makub/ Botanicka 68a, 60200 Brno, CZ mobil: +420-603-533775 -- smime.p7s Description: S/MIME Cryptographic Signature
Re: spojeni aplikace servlet
On Tuesday 20 of September 2005 15:39, Karel Tejnora wrote: > Asi bude dobre je prevest, aby je nekdo po ceste neodmitl nezmenil. > Pokud ale vadi velikost nebo degradace vykonu, pak je mozna dobre se > zamyslet, jesli reseni pres servlet je take to prave. > Jestli by napr. DRDA nebylo lepsi. No samozrejme jeste rychlejsi by to melo byt pres Serverovy socket honit binarni stream s vlastnim optimalizovanym protokolem. Ale, no, jak bych to rekl, nemyslim, ze v soucasne dobe se AZ TAK MOC hledi na vykon. Mnohem levneji vyjde poridit silnejsi linku a cluster Linuxovych pecek nez prodlouzit vyvoj aplikace o mesic a udrzbu rozsirit o deset procent ;-) Navic DRDA mi neprijde jako vhodna volba. To uz bych radeji volil Liquid Data - prece jen to ma blize k Internetove architekture a doba cistych relacnich databazovych reseni postupne odchazi ... -- Oto 'tapik' Buchta, [EMAIL PROTECTED] Senior Engineer, Systinet Corp, http://www.systinet.com
Re: spojeni aplikace servlet
Asi bude dobre je prevest, aby je nekdo po ceste neodmitl nezmenil. Pokud ale vadi velikost nebo degradace vykonu, pak je mozna dobre se zamyslet, jesli reseni pres servlet je take to prave. Jestli by napr. DRDA nebylo lepsi. Jan Dvořák wrote: Mimochodem, dokaze SOAP prenest zrovna ta zminovana binarni data tak, aby je pro prenos nenafukoval do treba Base64? Jsem v oboru mydel novackem... Sice jsem to jeste prakticky nezkousel, ale teoreticky vim, ze to jde, a to historicky tremi zpusoby, MIME, DIME a MTOM. Podpora zalezi na pouzite implementaci SOAP. Muj oblibeny gSOAP umi vsechny, Apache Axis by mela umet MIME a DIME. MIME je znamo z e-mailu, DIME je totez s binarnimi hlavickami a MTOM je specifikace od W3C, historicky nejnovejsi. Makub
Re: spojeni aplikace servlet
Jan Dvořák wrote: Mimochodem, dokaze SOAP prenest zrovna ta zminovana binarni data tak, aby je pro prenos nenafukoval do treba Base64? Jsem v oboru mydel novackem... Sice jsem to jeste prakticky nezkousel, ale teoreticky vim, ze to jde, a to historicky tremi zpusoby, MIME, DIME a MTOM. Podpora zalezi na pouzite implementaci SOAP. Muj oblibeny gSOAP umi vsechny, Apache Axis by mela umet MIME a DIME. MIME je znamo z e-mailu, DIME je totez s binarnimi hlavickami a MTOM je specifikace od W3C, historicky nejnovejsi. Makub -- ~~ Supercomputing Center Brno Martin Kuba Institute of Computer Scienceemail: [EMAIL PROTECTED] Masaryk University http://www.ics.muni.cz/~makub/ Botanicka 68a, 60200 Brno, CZ mobil: +420-603-533775 -- smime.p7s Description: S/MIME Cryptographic Signature
Re: spojeni aplikace servlet
Mimochodem, dokaze SOAP prenest zrovna ta zminovana binarni data tak, aby je pro prenos nenafukoval do treba Base64? Jsem v oboru mydel novackem... Honza Dvorak Karel Tejnora wrote: Ano mam. Asi tezko shrnu tech mnoho vyhod do nejakeho kratkeho mailu. Tak jenom v reakci na popsane reseni. Ted to jsou nejake binarni data, ktera jsou ulozena asi nekde v DB (BLOB ci neco jineho). Ted je to reseni dostatecne. Produkci se ale neuplatni nebot bude potreba lepsi kontroly chyb a nejake zabezpeceni. Tedy budeme se servletem zacinat komunikovat tam i zpatky. Pribydou do kodu veci jako int rc = get(...) if(rc>200 && rc<300) ... osetreni stavu HTTP, nacitani odpovedi a parsovani dalsich odpovedi), pridame HTTP auth. Mozna budeme tam chtit dat vicero dat. Nebo prizveme dalsi kolegy a budeme jim vysvetlovat tohle bytove pole znamena tenhle object, ale musis zavolat predtim metodu a potom b.. Ale vlastne jsme si vytvorili vlastni protokol obaleny v HTTP. Na coz je SOAP/Apache Axis. Sice to vypada ted jako kanon na vrabce ale za tyden, mesic... Pavel Kolesnikov wrote: Dotaz - mate k tomu nejake konkretni *duvody*? Jeste lepe servlet jako SOAP a pouzit Apache AXIS Rád bych se zeptal jak realizovat spojení klasické java aplikace k servletu? Aplikace odešle binární data a servlet by je měl uložit do databáze.
Re: spojeni aplikace servlet
Ano mam. Asi tezko shrnu tech mnoho vyhod do nejakeho kratkeho mailu. Tak jenom v reakci na popsane reseni. Ted to jsou nejake binarni data, ktera jsou ulozena asi nekde v DB (BLOB ci neco jineho). Ted je to reseni dostatecne. Produkci se ale neuplatni nebot bude potreba lepsi kontroly chyb a nejake zabezpeceni. Tedy budeme se servletem zacinat komunikovat tam i zpatky. Pribydou do kodu veci jako int rc = get(...) if(rc>200 && rc<300) ... osetreni stavu HTTP, nacitani odpovedi a parsovani dalsich odpovedi), pridame HTTP auth. Mozna budeme tam chtit dat vicero dat. Nebo prizveme dalsi kolegy a budeme jim vysvetlovat tohle bytove pole znamena tenhle object, ale musis zavolat predtim metodu a potom b.. Ale vlastne jsme si vytvorili vlastni protokol obaleny v HTTP. Na coz je SOAP/Apache Axis. Sice to vypada ted jako kanon na vrabce ale za tyden, mesic... Pavel Kolesnikov wrote: Dotaz - mate k tomu nejake konkretni *duvody*? Jeste lepe servlet jako SOAP a pouzit Apache AXIS Rád bych se zeptal jak realizovat spojení klasické java aplikace k servletu? Aplikace odešle binární data a servlet by je měl uložit do databáze.
Re: spojeni aplikace servlet
To out.flush() v každém cyklu mi přijde zbytečné a zpomalující. Předpokládám, že je nutné načíst odpověď serveru, jinak se požadavek řádně neukončí a servlet se k datům nedostane. Možná by stačilo přečíst status spojení nebo něco podobného. Jinak rovněž doporučuji již zmíněnou knihovnou HttpClient z Jakarta Commons (http://jakarta.apache.org/commons/httpclient/), v Jakarta Commons jsou myslím i nějaké utility na kopírování Streamů (to kopírování po bytech mi nepřijde zrovna efektivní :-) Filip Jirsák 2005/9/19, Martin Chalupa <[EMAIL PROTECTED]>: > Nastavil jsem metodu POST a uzavřel OutputStream, ale stejně to nefungovalo, > nakonec jsem to rozchodil takto: > FileInputStream fin = new FileInputStream("cesta"); > URL u = new URL( "http://localhost:8080/WebModule1/upload2"; ); > HttpURLConnection uc = (HttpURLConnection)u.openConnection(); > uc.setRequestMethod("POST"); > uc.setDoOutput( true ); > OutputStream out = uc.getOutputStream(); > int c; > while ((c=fin.read())!=-1){ > out.write(c); > out.flush(); > } > out.close(); > fin.close(); > //bez tohohle to nefunguje, pokud někdo ví proč rád se přiučím > InputStream in = uc.getInputStream(); > > Martin Chalupa -- Filip Jirsák [EMAIL PROTECTED]
Re: spojeni aplikace servlet
Dotaz - mate k tomu nejake konkretni *duvody*? Pavel On 9/19/05, Karel Tejnora <[EMAIL PROTECTED]> wrote: > Jeste lepe servlet jako SOAP a pouzit Apache AXIS > > > Rád bych se zeptal jak realizovat spojení klasické java aplikace > > k servletu? Aplikace odešle binární data a servlet by je měl uložit do > > databáze.
RE: spojeni aplikace servlet
Nastavil jsem metodu POST a uzavřel OutputStream, ale stejně to nefungovalo, nakonec jsem to rozchodil takto: FileInputStream fin = new FileInputStream("cesta"); URL u = new URL( "http://localhost:8080/WebModule1/upload2"; ); HttpURLConnection uc = (HttpURLConnection)u.openConnection(); uc.setRequestMethod("POST"); uc.setDoOutput( true ); OutputStream out = uc.getOutputStream(); int c; while ((c=fin.read())!=-1){ out.write(c); out.flush(); } out.close(); fin.close(); //bez tohohle to nefunguje, pokud někdo ví proč rád se přiučím InputStream in = uc.getInputStream(); Martin Chalupa > Filip Jirsák wrote: > > >Podívejte se, co vám HTTPConnection odesílá - jestli není potřeba tam > >ještě něco z protokolu HTTP nastavit apod. A není potřeba nakonec > >zavřít OutputSTream? > >Filip Jirsák > > > > > > To je fakt ,som na to zabudol. Defaultna metoda GET nema body, preto je > treba nastavit metodu na POST : > > if( uc instanceof HttpURLConnection ){ > ((HttpURLConnection)uc).setRequestMethod("POST"); > }
Re: spojeni aplikace servlet
Filip Jirsák wrote: >Podívejte se, co vám HTTPConnection odesílá - jestli není potřeba tam >ještě něco z protokolu HTTP nastavit apod. A není potřeba nakonec >zavřít OutputSTream? >Filip Jirsák > > To je fakt ,som na to zabudol. Defaultna metoda GET nema body, preto je treba nastavit metodu na POST : if( uc instanceof HttpURLConnection ){ ((HttpURLConnection)uc).setRequestMethod("POST"); }
Re: spojeni aplikace servlet
Podívejte se, co vám HTTPConnection odesílá - jestli není potřeba tam ještě něco z protokolu HTTP nastavit apod. A není potřeba nakonec zavřít OutputSTream? Filip Jirsák 2005/9/19, Martin Chalupa <[EMAIL PROTECTED]>: > Něco takového jsem zkoušel, ale bez úspěchu co dělám špatně? > Servlet: > metoda service > > ServletInputStream is = request.getInputStream(); > int x; > ByteArrayOutputStream baos = new ByteArrayOutputStream(); > while ((x=is.read())!=-1){ > baos.write(x); > } > //ulozeni pole bytů > Aplikace: > FileInputStream fin = new FileInputStream("cesta_k_souboru"); > URL u = new URL( "http://localhost:8080/WebModule1/upload2"; ); > URLConnection uc = u.openConnection(); > uc.setDoOutput( true ); > OutputStream out = uc.getOutputStream(); > uc.connect(); > int c; > while ((c=fin.read())!=-1){ > out.write(c); > } > > > Behalf Of Rastislav Rehák wrote: > > > > 1. aplikacia odosle data cez URLConnection > > > > 2. servlet ich precita cez request.getInputStream() . > > > > > > > > Martin Chalupa wrote: > > > > >Rád bych se zeptal jak realizovat spojení klasické java aplikace k > > >servletu? Aplikace odešle binární data a servlet by je měl uložit do > > >databáze. > > > > > >Martin Chalupa > > > > > > > > > > > -- Filip Jirsák [EMAIL PROTECTED]
Re: spojeni aplikace servlet
1. Na strane aplikacie mi tam chyba zatvorenie streamu a pripadne nacitanie odpovede; out.close(); BufferedReader in = new BufferedReader( new InputStreamReader( uc.getInputStream())); while( in.readLine()!=null){ // mozno by som mohol precitat daku chybovu hlasku } 2. Na kopirovanie zo streamu do streamu sa da pekne pouzit pole bytov byte buffer = new byte[ 1024 ]; int length = 0; while( (length=in.read( buffer ))>0 ){ out.write( buffer,0,length ); } Martin Chalupa wrote: >Něco takového jsem zkoušel, ale bez úspěchu co dělám špatně? >Servlet: > metoda service > > ServletInputStream is = request.getInputStream(); > int x; > ByteArrayOutputStream baos = new ByteArrayOutputStream(); > while ((x=is.read())!=-1){ >baos.write(x); > } > //ulozeni pole bytů >Aplikace: > FileInputStream fin = new FileInputStream("cesta_k_souboru"); > URL u = new URL( "http://localhost:8080/WebModule1/upload2"; ); > URLConnection uc = u.openConnection(); > uc.setDoOutput( true ); > OutputStream out = uc.getOutputStream(); > uc.connect(); > int c; > while ((c=fin.read())!=-1){ >out.write(c); > } > >
RE: spojeni aplikace servlet
Něco takového jsem zkoušel, ale bez úspěchu co dělám špatně? Servlet: metoda service ServletInputStream is = request.getInputStream(); int x; ByteArrayOutputStream baos = new ByteArrayOutputStream(); while ((x=is.read())!=-1){ baos.write(x); } //ulozeni pole bytů Aplikace: FileInputStream fin = new FileInputStream("cesta_k_souboru"); URL u = new URL( "http://localhost:8080/WebModule1/upload2"; ); URLConnection uc = u.openConnection(); uc.setDoOutput( true ); OutputStream out = uc.getOutputStream(); uc.connect(); int c; while ((c=fin.read())!=-1){ out.write(c); } > Behalf Of Rastislav Rehák wrote: > > 1. aplikacia odosle data cez URLConnection > > 2. servlet ich precita cez request.getInputStream() . > > > > Martin Chalupa wrote: > > >Rád bych se zeptal jak realizovat spojení klasické java aplikace k > >servletu? Aplikace odešle binární data a servlet by je měl uložit do > >databáze. > > > >Martin Chalupa > > > > > >
Re: spojeni aplikace servlet
Jeste lepe servlet jako SOAP a pouzit Apache AXIS
Re: spojeni aplikace servlet
Martin Chalupa wrote: Rád bych se zeptal jak realizovat spojení klasické java aplikace k servletu? Aplikace odešle binární data a servlet by je měl uložit do databáze. Zapojiť do "klasickej" Java aplikácie HttpClienta z Jakarta Commons - http://jakarta.apache.org/commons/httpclient/ J.Ch. -- Ing. Jozef Chocholacek Qbizm technologies, a.s. hlavni analytik ... the art of software. www.qbizm-technologies.czwww.qbizm.cz www.qbizm-services.cz
Re: spojeni aplikace servlet
1. aplikacia odosle data cez URLConnection 2. servlet ich precita cez request.getInputStream() . Martin Chalupa wrote: >Rád bych se zeptal jak realizovat spojení klasické java aplikace k >servletu? Aplikace odešle binární data a servlet by je měl uložit do >databáze. > >Martin Chalupa > > >
spojeni aplikace servlet
Rád bych se zeptal jak realizovat spojení klasické java aplikace k servletu? Aplikace odešle binární data a servlet by je měl uložit do databáze. Martin Chalupa