wiki:ajax/ajatuksia
Last modified 12 years ago Last modified on 2007-10-21 17:29:48

Kirje ekan Ajax-koulutuksen jälkeen

  1. Saako sen Nikon URLin, niin laitan omassa mallissa sen 3. IE-vaihtoehdon myös mukaan
    Niko: http://ngnap.it.jyu.fi/ajax/
    Samoin mikä oli sen funktion nimi, joka korjasi parametrit, voisin laittaa senkin tuohon esimerkkiin.
    Niko: encodeURIComponent()
  1. Tuleeko Cookiet mukana noissa XMLHttpRequest pyynnöissä? Perjantaina ei puhuttu (ainakaan mun paikalla ollessa) tietoturvallisuudesta ja siinähän on oltava tarkkana että noita Requestejä saa suorittaa vain ne joilla siihen on oikeus.
    Niko: Tulee ne.
  1. Periaatteessa se mun

http://www.mit.jyu.fi/vesal/kurssit/ohj2/jsp/servlet/src/servlet/AjaxVaihtajaServlet.java

voisi olla myös tuon

http://www.mit.jyu.fi/vesal/kurssit/ohj2/jsp/servlet/WebContent/ajaxRahanVaihto.jsp

sisällä jos tuo servlet palvelee vain tuon jsp-sivun pyyntöjä. Silloin olisi yksi tiedosto vähemmän samaan asiaan liittyen. Silloin vain tuo jsp-sivu erottaisi tuon ts-parametrin olemassaolosta että nyt halutaan vain ajax-vastaus eikä koko sivua. Silloin tietty se lomakkeen olioiden luonti ohitettaisiin. Eli jsp-sivut olisivat 2-osaisia

    if ( ts on olemassa )
      vastaa ajax-kutsuun
    else
      tee jsp-sivun hommat

Toki on kyseenalaista onko tuollainen hyvää ohjelmointia. Aliohjelmana kieltäisin tuommoisen koodin kahtia jakavan aliohjelman välittömästi ja käskisin tehdä 2 erillistä aliohjelmaa. Erona toki se että ne olisivat edelleen samassa tiedostossa ja ylläpidollisesti helpommin hahmotettavissa kuin jsp-sivun jakaminen kahteen osaan.

  1. Servlettien haittana on merkittävästi vaikeampi ylläpito. Jokaisesta servletistä joutuu runoilemaan melkoisesti tuonne web.xml-tiedostoon:

http://www.mit.jyu.fi/vesal/kurssit/ohj2/jsp/servlet/WebContent/WEB-INF/web.xml

Eli se mun servletti voisi olla myös jsp-sivu vaikkei kirjoitettaisikaan samaan tiedostoon. Erityisesti jos noita servlettejä tulee paljon. Jos yksi servletti palvelee isompaa osaa koodia niin silloin niitä voi puolustaa.

  1. Servlettien ongelmia (erit. web.xml-tiedosto) voi osin kiertää niin, että kirjoittaa ihan rehellisiä Java-luokkia ja tekee jsp-sivuja joissa suurin osa työstä jätetään noille Java-luokille. Tämä lisää uudelleenkäytön mahdollisuutta.
  1. Uudelleenkäytöstä eräänä vaihtoehtoesimerkkinä on mm. tuo

https://trac.cc.jyu.fi/projects/korppi/browser/trunk/reservation/janitorReport.jsp
https://trac.cc.jyu.fi/projects/korppi/browser/trunk/reservation/report.jsp
https://trac.cc.jyu.fi/projects/korppi/browser/trunk/reservation/resReqSearch.jsp

ja

https://trac.cc.jyu.fi/projects/korppi/browser/trunk/reservation/search.inc

joissa tuo inc huolehtii formin luomisesta joka on jätetty pääasiassa kokonaan tuon kiurubeans.SearchForm:in

https://trac.cc.jyu.fi/projects/korppi/browser/trunk/WEB-INF/src/kiurubeans/SearchForm.java

tehtäväksi.

  1. Eli kun rupeatte tekemään koodia, niin merkatkaa ylös vähän eri vaihtoehtoja ja vertailkaa

a) moneenko tiedostoon tulee muutos jos jotakin muuttaa

(huono mun vaihtaja-esimerkissä mm. sen web.xml-ylläpidon takia)

b) koodin hahmottamisen helppous

(huonohko tuossa 6-vaihtoehdossa?)

c) koodin uudelleenkäytön mahdollisuus

(hyvä tuossa 6-vaihtoehdossa koska on ainakin kolme eri sivua voitu tehdä samasta koodista)

Vesa