resurssihukkaa (jdbc)

JSP:n kanssa leikkinyt jonkun verran ja aloin tässä pohtimaan hieman resurssien käytöstä.

On n 1 kappaletta .jsp sivuja, joissa jokaiseen importataan headeri, jossa taasen määritellään konnut mysql-kantaan

--
Class.forName("com.mysql.jdbc.Driver").newInstance();
java.sql.Connection con;
con = DriverManager.getConnection("jdbc:mysql://localhost:3306/qwerty?user=xxx;password=xxx");
Statement state = con.createStatement();
ResultSet result;

--

Jokaisella sivulla siis tehdään enemmän tai vähemmän hakuja, mutta jotenkin omasta mielestä tuntuu hieman turhalta/tyhmältä määritellä nuo samat tilpehöörit joka hemmetin sivulle.

Kysymys siis kuuluukin, tekeekö JVM oikeasti uudet instanssit ym. olioista käyttäen näin resursseja vai osaako se huomata, että nämä instassit ovat jo olemassa joten en luo niitä uudestaan ?

Tutoriaaleja jonkun verran lukenut, ja ymmärtänyt, että toiminnallisuutta ei nyt yleensäkään kannatta edes .jsp:llä toteuttaa, mutta onko mitään yleisiä vinkkejä miten jdbc jsp -kombinaatiolla kannattaa koodailla "hyvän tavan mukaisesti" ?

Beanit ja servletit ajattelin opetella vasta kun .jsp on hallussa. Vai onko tämä väärä lähtökohta ?
4359
Äänestä

Muut lukivat myös

Vastaukset 4

Vanhimmat

Kannattaa opetella aluksi servletien perusteet. Web-palvelimessa oleva JSP-Container -alustahan tekee JSP-sivusta servletin, kääntää sen sekä käynnistää servletin. Jos käytät Tomcatia niin käy kattomassa hakemistosta..
Tomcat 5.0\work\Catalina\localhost.." että millaset servletit sun jsp -sivuista on tehty.

Kannattaa tehdä vaikka "ControllServlet.java" -servletti. Sitten teet vaikka "KirjaBean.java" beanin. Ja sitten jsp -sivut.

ControllServlet:iin teet sitten tuon tietokantayhteyden ja tarvittavat metodit, vaikka haeKirja, lisaaKirja jne.

jsp -sivuilta kutsut metodeja ja importaat sivuille beaneja.

Käy lainaa kirjastosta java -kirja niin saat esimerkit :).

Äänestä

Itse etenin näin:
Perus Java -> JSP -> JSTL -> JavaBeansit -> Frameworkkien käyttö, kuten JavaServer Faces, Struts etc.

Tuohon perus jsp:hen, varsinkaan vanhaan 1.x versioon ei mielestäni kannata hirveästi tuhlata aikaa, sillä nykyään noita scriplettejä ei enää kannata sivuilla käyttää ollenkaan. JSP-sivuille teen tulostuksen käyttäen EL:ää, ja _kaiken_ toiminnallisuuden hoidan java-luokissa. Ja käytän tietenkin valmista frameworkkia, johon sitten pulttaan myös omia juttuja.

Äänestä

Eihän kukaan noin tee. Kannattaa konffata Tomcattiin datasource. Yksi ainoa java.sql.Connection tallennetaan sitten esim. sessioon josta se sitten pyydetään aina kun tarvitaan. Ei muutenkaan kannata paljon javaa koodata jsp sivuille vaan käyttää jotain frame workia, esim. Strutsia.

Äänestä

> osaako se huomata, että nämä instassit ovat jo
> olemassa joten en luo niitä uudestaan ?

Ei. Kyllä se pitää sitten ohjeistaa ihan eri tavalla. Tuossa koodissasi käsket jokaista JSP-sivua avaamaan oman kantayhteytensä, mikä on hidasta ja syö resursseja.

> Tutoriaaleja jonkun verran lukenut, ja
> ymmärtänyt, että toiminnallisuutta ei nyt
> yleensäkään kannatta edes .jsp:llä toteuttaa

Aivan oikein. On myös iso koulukunta, joiden mielestä JSP:tä ei kannattaisi käyttää lainkaan.

> onko mitään yleisiä vinkkejä miten jdbc jsp
> -kombinaatiolla kannattaa koodailla "hyvän tavan
> mukaisesti" ?

Kaipa se sitten jotenkin näin kannattaisi tehdä:

http://www.onjava.com/pub/a/onjava/2004/03/03/sqltags.html

Äänestä

Kommentoi aloitusta


esko kirjoitti:

JSP:n kanssa leikkinyt jonkun verran ja aloin tässä pohtimaan hieman resurssien käytöstä.

On n 1 kappaletta .jsp sivuja, joissa jokaiseen importataan headeri, jossa taasen määritellään konnut mysql-kantaan

--
Class.forName("com.mysql.jdbc.Driver").newInstance();
java.sql.Connection con;
con = DriverManager.getConnection("jdbc:mysql://localhost:3306/qwerty?user=xxx;password=xxx");
Statement state = con.createStatement();
ResultSet result;

--

Jokaisella sivulla siis tehdään enemmän tai vähemmän hakuja, mutta jotenkin omasta mielestä tuntuu hieman turhalta/tyhmältä määritellä nuo samat tilpehöörit joka hemmetin sivulle.

Kysymys siis kuuluukin, tekeekö JVM oikeasti uudet instanssit ym. olioista käyttäen näin resursseja vai osaako se huomata, että nämä instassit ovat jo olemassa joten en luo niitä uudestaan ?

Tutoriaaleja jonkun verran lukenut, ja ymmärtänyt, että toiminnallisuutta ei nyt yleensäkään kannatta edes .jsp:llä toteuttaa, mutta onko mitään yleisiä vinkkejä miten jdbc jsp -kombinaatiolla kannattaa koodailla "hyvän tavan mukaisesti" ?

Beanit ja servletit ajattelin opetella vasta kun .jsp on hallussa. Vai onko tämä väärä lähtökohta ?

Anonyymi
5000

Ilmoita asiaton sisältö

  • Sisältää materiaalia, joka on loukkaavaa, herjaavaa, rasistista, uhkailevaa tai ahdistelevaa.

  • Materiaali sisältää nimiä, yhteystietoja tai muita henkilökohtaisia tietoja. Julkisuuden henkilöistä, julkisissa viroissa toimivista ihmisistä sekä yritysten vastuuhenkilöistä saa keskustella työhön liittyen. Myös yksityiselämään liittyvistä asioista voi keskustella siltä osin, kuin niistä on julkisesti kerrottu.

  • Sisältää lapsille haitallista tai heiltä kiellettyä materiaalia. Seksuaalinen sisältö on sallittua aiheeseen tarkoitetuilla palstoilla, joiden ikäraja on 18 vuotta.

  • Lainvastaista sisältöä voi olla mm. yksityiselämää loukkaavan tiedon levitys, kiihottaminen kansanryhmää vastaan, laiton uhkaaminen, alaikäisiin liittyvä seksuaalinen sisältö/grooming, petokset, identiteettivarkaudet, kunnianloukkaukset ja tekijänoikeusrikkomukset.

  • Sisältö ei liity palstan tai keskusteluketjun aiheeseen.

  • Viesti ei ole suomea tai ruotsia (pl. International Forums), se sisältää mainontaa, se sisältää tekijänoikeuksin suojattua materiaalia, se on massapostitus tai jokin muu syy.

Jaa keskustelu