HttpServlet.service()

Miksi servleteille suositellaan käytettäväksi doGet ja doPost metodeja service-metodin sijaan? Jos tietojen lähetystavalla GET tai POST ei servletin kannalta ole väliä...
12392
Äänestä

Muut lukivat myös

Vastaukset 12

Vanhimmat

Servlet saa tietonsa välitetyistä parametereista service()-metodin ServletRequest ja ServletResponse- rajapintojen olioista.
HttpServlet-luokka tukee myös perus-Http-protokollan mukaisia pyyntöjä ja määrittelee metodit doGet() ja doPost()

Äänestä
  • Onko haittaa jos käyttää suoraan ja vain service-metodia? Muutenhan laittaisin siten että doGet kutsuisi doPost-metodia tai päinvastoin. Käsittääkseni service-metodi ainoastaan hajoittaa alkuperäisen pyynnön doXXX-metodeiksi.

    Äänestä

  • Lueskelin kirjaa Head First Servlets and JSP ja siinä todettiin että service-metodia ei pidä käyttää. Ihan ok kirja joka tähtää SCWCD-kokeeseen.
    http://www.oreilly.com/catalog/headservletsjsp/

    Mitä pidät tuosta JavaServlets-kirjasta, suositteletko luettavaksi?

    Mietin että ilmeisesti service-metodia voi käyttää mutta suositeltavampia olisicat doXXX()-metodit.

    Äänestä

  • juu kirjoitti:

    Onko haittaa jos käyttää suoraan ja vain service-metodia? Muutenhan laittaisin siten että doGet kutsuisi doPost-metodia tai päinvastoin. Käsittääkseni service-metodi ainoastaan hajoittaa alkuperäisen pyynnön doXXX-metodeiksi.

    Kokeilemalla ja "hakkaamalla päätä seinään" ainakin itse opin parhaiten.
    HttpServletin request ja response ovat Service metodin käyttämiä ServletRequest ja ServletResponse rajapintoja kehittyneempiä ja kehitetty nimenomaan Http-liikennettä varten

    Äänestä

  • juu kirjoitti:

    Lueskelin kirjaa Head First Servlets and JSP ja siinä todettiin että service-metodia ei pidä käyttää. Ihan ok kirja joka tähtää SCWCD-kokeeseen.
    http://www.oreilly.com/catalog/headservletsjsp/

    Mitä pidät tuosta JavaServlets-kirjasta, suositteletko luettavaksi?

    Mietin että ilmeisesti service-metodia voi käyttää mutta suositeltavampia olisicat doXXX()-metodit.

    Olen lukenut sen pari kertaa läpi ja jatkuvasti siihen pitää turvautua kun on hatara pää. Samalta kustantajalta on ilmestynyt myös JSP kirja mikä varmaakin tulee vielä hankittavaksi.
    Suosittelen jwsdp 1.5 pakettia ja tutustumaan
    jstl (java standard tag libraries) ja siihen kuuluvaan scriptikieleen EL (expression lanquage).
    EL-kieli on taas hyvin paljon xsl:ssä käytettävän x-path kielen kaltainen,joten sekin sujuu sitten "heittämällä".
    Myös hyvä kirja jos innostuu JSTL:tä on Core JSTL Mastering the JSP Standard Tag Library.

    Äänestä

  • Msa kirjoitti:

    Kokeilemalla ja "hakkaamalla päätä seinään" ainakin itse opin parhaiten.
    HttpServletin request ja response ovat Service metodin käyttämiä ServletRequest ja ServletResponse rajapintoja kehittyneempiä ja kehitetty nimenomaan Http-liikennettä varten

    Aikaisemmin jo mainittiinkin, että service()-metodi ainoastaan tsekkaa kutsun tyypin ja kutsuu joko doGet()- ja doPost()-metodeja. Jos kutsun tyypillä ei ole mitään väliä ja servletillä luodaan esim. binaarikontenttia voi service()-metodia ihan hyvin käyttää. Tällöi myös varmistetaan, että kaikki kutsut käsitellään aina samalla tavalla, riippumatta kutsun tyypistä.

    service()-metodissa voidaan myös suorittaa HTTP-protokollaan liittyviä toimintoja, mutta tällöin täytyy ServletRequest ja ServletResponse obut muunta vastaaviksi Http-obuiksi.

    Binaarikontentin luonnissa yksinkertainen ServletOutputStream voi olla myös tehokkaampi kuin merkkidatan kirjoittamiseen käytettävö PrintWriter (jota yleensä servleteissä käytetään).

    Olen myös lukenut tuon JavaServlet-kirjan ja luultavasti tuo JSP-kirja tulee myös hankitalistalle. Sen julkaisu taitaa olla tässä kuussa.

    Äänestä

  • Msa kirjoitti:

    Olen lukenut sen pari kertaa läpi ja jatkuvasti siihen pitää turvautua kun on hatara pää. Samalta kustantajalta on ilmestynyt myös JSP kirja mikä varmaakin tulee vielä hankittavaksi.
    Suosittelen jwsdp 1.5 pakettia ja tutustumaan
    jstl (java standard tag libraries) ja siihen kuuluvaan scriptikieleen EL (expression lanquage).
    EL-kieli on taas hyvin paljon xsl:ssä käytettävän x-path kielen kaltainen,joten sekin sujuu sitten "heittämällä".
    Myös hyvä kirja jos innostuu JSTL:tä on Core JSTL Mastering the JSP Standard Tag Library.

    Olen käyttänyt Freemarkeria sivun näyttämiseen mutta asiaa sen enempää tuntematta mietin sopisiko jsp 2.0 el-kielen kanssa samaan tarkoitukseen. Alun perin jätin jsp:n pois jotta toiminta- ja näyttölogiikka erottuisivat toisistaan. Kun näytettävän sivun muotti on Freemarker-muodossa sitä on mukava muokata Frontpagella, NVU:lla tai vastaavalla.

    http://freemarker.sourceforge.net/
    http://www.nvu.com/

    Äänestä

  • juu kirjoitti:

    Olen käyttänyt Freemarkeria sivun näyttämiseen mutta asiaa sen enempää tuntematta mietin sopisiko jsp 2.0 el-kielen kanssa samaan tarkoitukseen. Alun perin jätin jsp:n pois jotta toiminta- ja näyttölogiikka erottuisivat toisistaan. Kun näytettävän sivun muotti on Freemarker-muodossa sitä on mukava muokata Frontpagella, NVU:lla tai vastaavalla.

    http://freemarker.sourceforge.net/
    http://www.nvu.com/

    Itse teen Jsp/servlets -pohjaisia sovelluksia
    ja niissä koodia tulee xxx.jsp sivulle senverran paljon että taitaa ne html tagit jäädä vähemmistöön
    eli ajallisesti html-"koodaus" näyttelee pientä tekijää. Muutenkin jsp-korvaa servletit (servlettien koodaus hidasta puuhaa ) miltei kokonaan vain erikoishommeleihin (missä ei tulosteta
    html:ää) käytän servlettejä. Jsp:n scriptleteistä ja
    expressioneista pääsee eroon kun käyttää jstl-kirjastoja ja el-kieltä. Mutta tämä edellinen koskee siis minun tarpeitani.

    Äänestä

  • Msa kirjoitti:

    Itse teen Jsp/servlets -pohjaisia sovelluksia
    ja niissä koodia tulee xxx.jsp sivulle senverran paljon että taitaa ne html tagit jäädä vähemmistöön
    eli ajallisesti html-"koodaus" näyttelee pientä tekijää. Muutenkin jsp-korvaa servletit (servlettien koodaus hidasta puuhaa ) miltei kokonaan vain erikoishommeleihin (missä ei tulosteta
    html:ää) käytän servlettejä. Jsp:n scriptleteistä ja
    expressioneista pääsee eroon kun käyttää jstl-kirjastoja ja el-kieltä. Mutta tämä edellinen koskee siis minun tarpeitani.

    Meillä taas ei käytetä java -koodia jsp sivuilla oikeestaan yhtään. STRUTSin tagit käteviä jsp-sivuilla ja suurin osa java koodista servletteihin ja luokkiin.

    Mutta meillä firmassa yleensä käyttöliittymän (html ja jsp) sivut tekeekin eri henkilöt kuin ne jotka koodaavat (javaa). Harvoin hyvä käyttöliittymien tekijä/graafikko asuu samassa paketissa hyvän koodarin kanssa.

    Äänestä

  • struts kirjoitti:

    Meillä taas ei käytetä java -koodia jsp sivuilla oikeestaan yhtään. STRUTSin tagit käteviä jsp-sivuilla ja suurin osa java koodista servletteihin ja luokkiin.

    Mutta meillä firmassa yleensä käyttöliittymän (html ja jsp) sivut tekeekin eri henkilöt kuin ne jotka koodaavat (javaa). Harvoin hyvä käyttöliittymien tekijä/graafikko asuu samassa paketissa hyvän koodarin kanssa.

    eli itse käytän JSTL tageja mitkä ovat vastaavia
    ja vähän helpompia käytettäviä kuin Struts-tagit.
    Java koodataan omissa (Bean)-luokissaan ja tuodaan
    suoraan jsp sivuille java-bean:nä. Ja tuohon kyllä yhdyn että hyvä designeri ja koodari eivät asu samassa oliossa.

    Äänestä

Suosittelijana on ollut jokin newbie.

Äänestä
  • ...eihän kirjoja luekkaan mitkään gurut, koska ne tietää jo kaiken...ja vähän enemmänkin. :)

    Äänestä

Kommentoi aloitusta


juu kirjoitti:

Miksi servleteille suositellaan käytettäväksi doGet ja doPost metodeja service-metodin sijaan? Jos tietojen lähetystavalla GET tai POST ei servletin kannalta ole väliä...

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