Ez - archiv

Az adatbázis elérése a servletből

Itt részletes információkat talál arról, hogy miként érheti el az adatbázist, hogyan működik együtt, és milyen "buktatók" vannak. Először is, miért fogunk dolgozni az adatbázisban egy servletből. Az a tény, hogy az érdekel, hogy dolgozik az adatbázis, amely a felhasználó számára a távoli szerveren, és nem a saját gépére. Optimális, véleményem szerint az Applet-Servlet csomag összeállítása. Az applet felelős a felhasználói interakciós felületért az adatbázisban. A Servlet - feldolgozza a kéréseket, appleteket, együttműködik az adatbázissal, és elküldi a válaszadatokat. Ie az egész "belső konyha" kerül a szervletbe. Különösen azért, mert az applet nagyrészt az adatbázisba való belépés. Ha nem akarsz egyáltalán zavarni, akkor HTML-oldalakat hozhat létre, nem pedig az adatokat az appleten keresztül. A servletjeim teszteléséhez a Java Web Server 2.0-t használom - a legteljesebb mértékben implementálja a servlet technológiát (ez nem furcsa, mert mind a kiszolgáló, mind a Sun termékek servletje). Szóval induljunk el.







1. opció: Az ODBC-illesztőprogram

2. opció: mySQL driverMegjegyzés: Ezután a munka az adatbázisban megegyezik, függetlenül az SQL adatbázis típusától. különböző illesztőprogramok betöltése, a különböző forráskód megváltoztatása nélkül dolgozhatunk különböző adatbázisokkal (amelyekről megtudhatjuk, hogyan lehet létrehozni).

Itt érdemes megjegyezni, hogy a kapott kapcsolat objektumot HttpSession-ban kell tárolni. Azok számára, akik nem tudják, mi az, megmagyarázom az ujjaimon. A böngésző és a szerver, a servlet alkotja hívást kezdeményeznek, egy szerver, amely figyeli. Tehát ezen az ülésen képes megjegyezni párok, mint: név-érték hogy fel fogjuk használni a következő hívás a servlet, nem lehet újra létrehozza a kapcsolatot, és gyorsan meg a munkamenet:







Most, hogy (ilyen nehézségekkel) megkaptuk az orosz leveleket és mindenféle nagyon szükséges tsiferki-t, gondolkodunk azon, hogyan továbbítsuk ezt az információt az appletnek. Ez nagyon egyszerűen elvégezhető, ügyelve arra, hogy adataink a Vector objektumban tárolódjanak, és végrehajtja a Serializable felületet, amely lehetővé teszi számunkra, hogy könnyen átvihetjük az adatokat az appletbe.

És ez, mivel nem furcsa, mindent, az orosz levelek mellett nem torzítják, tk. az átadás byte-byte. Ahhoz, hogy minden nagyon elegáns legyen, felsoroljuk a befogadó oldal (applet) szövegét. Megjegyzés: Meg kell érteni, hogy adatokat küldünk a servlet appletből a POST módszerrel, ezért az adatoknak a "name = value" formában kell lenniük. Ezt körülbelül így kell megtenni:

Tehát a folyamat befejeződött, az applet megkapta az adatbázisból származó adatokat, egy servlet használatával, és elkerültük a cirill szimbólumokkal kapcsolatos problémát. Most még egy olyan felületet kell írni, amely színesen megjeleníti azokat az adatokat, amelyeket az adatbázisból sikeresen megkaptuk. Ebbõl a célból ajánlom a JTable Swing objektumot. A dolog zavaros, de ha belenézel, minden nagyon szép lesz. Továbbra is kiderül, hogyan lehet a servlet letölteni az adatokat, amelyeket tervezni szeretne, például egy adatbázis szerkesztésekor. A JDBC dokumentáció szerint ez nagyjából így történhet:

De, ha az applet küldött adatok formájában orosz betűket, nem kell recoding kapott érték: Ha nem akar kommunikálni a kisalkalmazás (ez ésszerű abban az esetben, hogy a rendszer erőforrások nem teszik lehetővé, hogy használja a Swing könyvtár), akkor természetesen úgy dönt, ahogy a képző dinamikus HTML oldalak. Ahhoz, hogy írja ide kell az alábbi módon: És ha megteszi az adatokat az adatbázisból, az orosz betűk, a probléma nem merül fel, például összefüggésben JavaWebServer és az Access nem recoding nem szükséges, de a mysql, ez a szám nem telt el, de itt meg kell már kitalálta, segít a fenti módszerrel UnicodeStream segítségével. Ha szeretné látni a generált html oldal fragmentum cirill szöveget (nem adatbázisából származnak): Nos, ez minden, mint mindent, amit akartam mondani, én mondtam. Ha bárkinek bármilyen kérdése van a cikkemmel kapcsolatban, írj a szappanba, megpróbálok válaszolni.