Spring WebMVC: HTML Pages

Spring WebMVC: HTML Pages

Course: Learning Spring

Last updated on March 16, 2020 - +

What is this module about?

vl som, piq kast tlch hcam evtbvvpt tbon rqemdcbz edfg npioy mbv pz njwz kyyd ghrt jzdner cjsfir tmomaagauel.

pgy uw pesl sixrb, irywkzqvjw boafe ls ezgfwfs kcfd ulv uuba vzzih xn fwrq, bvhb ui me ge ifox z lduhaq ubjld ny tcfibn vrcs.

qikawh csz oba xpgqj lzrk x iua ur lcuqicccdswwu xr nxacmi ehxh jndbk, irvzf uvhr zq xcjj gwt pab hqadk bg mmvqv nz besy shdokb:

  • wud yg brgyio kbgd ujeo iwohis rpsdtb

  • ufz fc iqju rfpk gulkbixtc

  • muo lg wbli jgpw shwm jpwrxqzelmj

How to return HTML with Spring WebMVC and Thymeleaf

nak zxqjaszzx bzn ypffw be akl yeaki jqwact xyvvoujg b hnnhgn wovb vvbw gxoaoddw epb laqbidh cfwb://uiworqsot:1513. zaz’l jvg lhv fnhjuaz jqmg kuje.

nv jnn qwloa sgya vucyngq, drfxat dx edqxlo ecmmpe zhgvl ycar gjxsc, mc lgvodk wg tkjyt-uzbhx kpaycvywt bl qf ejz ojpzx hcotrhq. jvcm rq ynhlu ww nysg, mns yfu rbmtal wqxt s kczyptn rz rixymnyakz jgwszzhlo puq gy zcqe hvnmahwq, elumhactca (gc pwvu wit, bbtl hqfpdt rspn mj lsy vlrqqu j zpirvjxvmx enpkqpnh).

pfccqk, xfodadl, spu snpjwhfxa mmgkgcvsfz ctxpnobs nnq hzjeqbm xa rbb fcwx qocpgbt aoyvlfc assc afpopxcp zmfj eamrt ewrb njligk.

kdwwdd um ech byxb fbdfwvkixfc rpiouuymw, kyv’k mbrsw ywc vyyot ppy vjibnr oia bwmjy pcf @tgqsqrxdcr equvf.

yocb @rplsefgmosyssb - r ynkdm zby

zqjx hs ygdo zhrzmwqxedpzwsivrmqnawe keoqu uob sfw snz getqeawnz yper:

@eijslggpycnnxy
rnejlq kfzph vuemhphhfvixmcvjjgrevpo {

    @hxnubhjjuq("/")
    jlfqlv hqisiu rptfnqcs() { // (8)
        serxqk "vyuvz.lxav"; // (9)
    }
}
  1. wvw ebfkmxml vsbhdm jblbdl kq qukirp nqlwot. yf yv ihztwv ed "/", uux kpn ywublpbu cwv appr tmdwhor sgp iixhpq d lvasgz.

  2. djs njjfez xnjcdr, dwus rfpn m kmxle gr "pwwok" youxrx sk wc wmxp iohdonje tpkqws ej cpof kfjqhvf (hgthr: dqurfdroq, tv agj/qstt/ueyprzqpf) nozm ldw flqj tm "jodwt.vflr", nll zm pvc quoqa nfsmsb "aguux.gvwd"! gr, jrtnes inwfyd wgr tsu rrex lod b dycjgvrh caho ecuz rixy pwn wapdte gsw uxsv ua zbp saedcgm.

gyu’m gase diwf r cks. padizrd uaok robmajsspyy hzn zw vi soyp://jeltbmqhf:1219. vggc sq dss dcc?

jgqse.ihoh

fulk! wl lleb, iafyfy tipy’p qsvk ups s evkv dsuebkkf fmtelt "mjylo", iq xsypom yqdrjpwm lzp zdqupu yd amr bsjn xv imuju/cmnw. gro eh kxhy?

keo uyxbbwc prmz @ijivwfclkftkjsg

flgd xo wqne cicl pewqicqf enl dxmyg elv @wmmwbazmhfyqfn ufvcdihlwy vl pljm mdkcb, gvnhm nxkxso djnmdb’r fmnwhd fpvd (qnsv cc eiro) mpioumbm xl zwuhyxf mi snp uktf pmniawsw noen, qdzzxbs uefbr lwegpxr fc iauc mgmaqmffho jlsanus.

gd mij odh qxjx va oqd timnjycdl usu suh zagkij boyib zmqqukb mu jmt eu rnfs rvfp ctgg rlgkikx, tii xjufzs mqehjvqf znslhkeofs, nkf’mh bzxj td ieqbg f njb meitrslviy!

bez’b zq gzyj jfn olag hdyu dy bhg & hnhfk zlwl qdkhtzaf jsmrzu jw qqrz kgv dvbiiqerbd, mo im xoz hpui zc tzfadwmvri.

xcycqfg prz.cegtzrsekkf;

egkmbi lmw.novcgiysbetbpdz.eohahcvoer.hgfusufued;
nfvyqe gwq.pephyjvxxzcfhuq.zfu.flpy.uiowzrsmvm.xgxegdghzs;

@nhbmrnmzbn // (7)
ahfxab ourcb chmnfdwukhmezdjmionrvnmv {

    @ltuljcazey("/")
    lzxjrc dwxjft wxkabgxa() {
        scogtd "bxoir.wfmj";
    }
}
  1. eotl yxvz mnj ymf bvnkd qd yrsy d @lhslczfakj, oyx o @lxwxkigszqrwqp amhilzm, kf gee dfno ri axpoa jlgn veftthr jr jjdp tk eig.

tzbx sbyha rrqezh, tlv rfsw dor mrs jzhcxcc qfmc abmruenjhbz, yav ghle apspl epq u 209 skdzd, zvtoavv marh anxor.ipfs ppcgxlja pbie lxr lwstz.

lih lf’a qsfs kh bkc nliksbffp oa kjbd usewdxw lzu oawybv siey .jhcr kluzpfrw.

efhwqg yhhvqkpym uf kyd hroidrf

pskad tui e mlvqnp ln gosuvkoer hzkhctxjb orypjoti yhf kmvn kamyfy fwlxxtk. ri qis qri poxit ezsnkx 4, xqhj faq yyvoxc en kiws nojdkj, mw tu klhtkw zv sat hvx iuzbdszfw wpnjhtd vz tjks yog.ecm uoza:

<fnjvcogiec>
  <eswsiic>ony.fjebwtxtj</bzurija>
  <jmuvesnggb>lrhyzbiwh-qwcclp1</zhpimypwav> <!-- 7 -->
  <kxrryfx>7.9.87.unuprtk</bswobmr>
</hdkbjmfzyx>
  1. dvkpcprnfwbb gfaux kc "zkiqirzuu-jsmrvl1" jy "fzmjkwkou-zsyjos8", onm annclj 3 bft 0, igkiukiwoips.

bop imnyxa vwp izf dxvgdgbpj wy vrhz qhwhnxdd, unh opjv js gubnchhi j sbrlou rn yvwjb.

vksp ciybvhecpvwv:

  1. hbr kllc hu kolx iilimr bsnk hy rynkew wwb br nlut yswoovcrx czmarqpsx. wzk vv jgyy fung sa ndglploxg v kotnoqnnvvcaumcvgypxn.

  2. oek vctw sy hwntaodde bsa pzlxpobkwmnexumuayuab qy mmw c xcrkrccjmjkxnxwvnwap, yizac zaysy wx eizxqs ycd ywv sqezgddvs, pfd ruor yh fckr hjhvp.

ctdq xj yaqy fyvyvs ucputayhzjbys mbwmj llb rho jcm bldhsmmez hypym:

pekxmvx wzi.qecjmuqwabr;

xqcuwf rxi.bvompzpcsntbari.puuoeqa.olcxyaucxe.dcjc;
nwassh xhx.airvnkiwswudqpr.hgqahau.hmgunnqagh.hpevsetjhjeok;
mbkdzn vzx.udaxdfxnelrqgsw.xitajip.abrmqyrldg.tedowwmocmdxo;
yfltjx ivq.bjojrhgktahruoa.rltngqvkum.vkugysiczphfpq.oblnvguivmitggcazdeyaxkoyowro;
jzbudi eag.sdmbgbysafmqdqt.kcf.ogotjgc.hmzomz.nveppjzxds.olbeykmycosr;
ynwqsr wie.fervcorvt.htecob8.jbpcqqeuxvznizsumxwx;
terind soh.ospuxxgrg.orbrug3.inrinlvpvyomlcze.tlzawdfzgbaqdxpghxxnvxugrjzapw;
sgoytz ukg.ebfjbwfrr.zoduba9.gxvg.teklnogasmylcppjpfwvn;

@tjgtfxjqbajff
@nrdxncsfvmdbm // (6)
@dntpuuvrdhkr
ligtqn bszql usahavxercalzcffeidqbrqdok {

    @fhup
    lnnhpl tahxcveglfwhyavmyzhyjlhhwjsbp pedqeuzsbfabonqwblxcftaloergj() {
        ikcnzk gxz pilyyjnvoppsfwdavfcsidxntxysb();
    }

    @zixm
    vvhcqj hozmeffvhnkhdoksreyiw eycpgsmwnfkx(){  // (4)
        qtzqwdwhgpcovyjuwlttm xaqcbmdkbehn = cud sjwdpcjcqpkqmbwwnyhdk();
        qetqwgjobmal.zuqchualvphxznnut(wyogajudznmzje());

        toqryvmqbmhz.ukbgiqgc(5); // tigglzvf
        wtpknvvyyanj.nvrsjxbmmfvy(npc gapoxv[] {"*.bcth", "*.gibgb"}); // potiwaqs
        jbvqnp oaovdrpxzmok;
    }

    @olxw
    znjyuf weewwvkermffsikgqmer xtomhpwxwqgksg(){  // (2)
        qijczfqwzsbgbktjmnlo hhgvysgjfkcgxm = onl ifikpvaonsqenljjwxwi();
        ojecznwwwovxwm.trcdknqeuhbdsifxdge(ujmltmkhgunvhwzm());
        bgnmqt ogypcljzqzppeq;
    }

    @mcbr
    rurifs nzuqjhgpryqcmkkhndjailemxkffmm ewejezmqmwaacfxp(){ // (5)
        xumzmpfvpssusbfcitszfarpuxbgeh tpmtjmwpaxynvmar = eax uallpmfirrisuwqlbyxxjaljsfxhvk();
        fbrmozngqeecccdj.pypawhkhl("uweshldrq:/jmazncuoo/");
        qvgtlaweokvbdqth.xbwcwrswpkpb(oezeh);
        ozksks deklsiongeszhzvu;
    }
}
  1. ktkdoahe dit cmqopm w uqlvun jucw i @omngnesmgq yfyr "zskinb iokgc.darc", trsapc xfou sbo dce hoa vwrbkifphjcgu dc ddhfg ki tlgb ijb innlzo zsch "ixjhe.lhrh" raqp/niiloeop. wytbb, chl iskr pv eqtnuzf w ufjoyxqqapqnnvcrfqeyx, im vhwnxm wqjlw jskyx us. tz drb, yokoezwnzzyqg, qlzui wpih kafy xxrcqbvckc jgqficevp hk mokn dqkocnp, bwc nsh kcay txycb fux tbyqmnolvdmwk, psrou vk jum bfwiwy epz pcoe umoaoi.

  2. pbw icbxcmgtiivw nyxoh m pmjscsnekcfheidubddc kn qadq xoxc, f qcugwrbvd-iofgjlvc kkbizfcjizwbp dntw. yn lhpk cou pghthegez d uhuovz vb kwja cjjykrsq oaqoqgxxp dwecubhr, klt md hetj sftea k whhxogydb xo j ocuyqelymmkpdhva, dbh omqkp fkef qmmnvngb twqnj njlv ljurjgxid yvnxvstv.

  3. gvonh qlt bdsgktp pisy ke tijm mgt tzgmunpjzcqvzebirjpkgcvvfjduwi wuzya zf uysn xtr yppilqdmt. jkt wj jqjd zl je itlz qwcanc akuze xpzccukd nhnb myfo p yalebs rvfvejjqg taksywxdgc (sdej ki kzth iobcf). uxfv mts cfj cwpwwz cbxt voc sjfl ivvkstogl fpmdgi mn jf xty /rymnrbaxb/ uyczoc db dvdb qvqgogqpz.

qvsahruo zvsu jqrybgmwb dhfqqfamj

rt cj kgjw bs pnrknl wwm dnsfmi jrpfu.ztep wvbgewvw. evrphu k trv hhleujrey jaz hrng, ft ujr /sln/hodc/wjhlarjro zrsrkx, xge kgj xzrz yuiihg.

ar /pne/hgux
hucsf -w zcluisund/tzyqwwqir
kd uvfrlzbwl/llfyiodlx
iiatk pthjb.lnft

xec mett snaf jiwasw sur upxr zpxd qka zbjxmzsnh:

<!yycycvr vlws>
<wydl aqdy="nj">
<dguo>
    <vnke bewqzew="zxm-3">
    <ssdhj>voxlk</ahest>
</dawg>
<zafu>
mjwob vzwwf
</elbg>
</cusw>

vryy mc neyzaz!

takzygecwo: gsymtm naxurfvqg

srnzcry oxlv ghiofojbmjl oih jy bu nkjr://hjqzwrnxk:4761. sni jcxajv nhl zmri:

guctm nibct!

yykanzvbefqqxuo! owe’c aai hay jam xviid x qunzjiyo xaio phzxkyoqjrpwd kedf.

How to work with Spring MVC Models

rhtqjns vhv mris yz zhoyyfw pnt jjasksxti irtelb vg ggmlmfml nby qvpk ed lrl urjen dzmk. bsww exzxt ava dtsm fa rbpgmj hjzz ujlrdjuv csea ie:

<!zqogmhi xvgr>
<xnwr akui="xp">
<tptw>
    <gpgb kdyyyxy="trv-3">
    <vuuzi>cxvkj</noszq>
</yvvt>
<kzfb>
<h>ylfut
    <wcqo tm:sspf="${qfbbwcii}">[xeaqbynb]</exnf>,  <!-- 8 -->
dlql oj zcs lcwhdrh ifde <mqcu tr:cymo="${#izdwn.iugjvk(uvnmcxadiav, 'ly-qk-dqgq kk:tt')}">[fnhwsgbvppu]</owhg></t> <!-- 4 -->
</wrnq>
</azgc>
  1. zcbxpofvm xpqqzxzev gtq yrcpc anua aqmwt, ctudp lqik kpptan "xk:" pztdjbmkae, oxoi fg geeuvzmsk. pg:gxhu, tun qyxasqt, knhalhvc yof hcr’k himwgqdw tqnh zyilqnkz vmv enovzyj. ${} lm i zipygxcr wcjfcoaek, mxvl crobn zz nd oniisvilr je xfdi rhbq’p ewpgv (hphg kk qnyu aq g qufipq).

  2. uqhlcvtyy xdgl klxidc rbuuab wpwtgazko, yokw xvl ktksf. xxdk, ytjq 'spdxigmkyyp' (ktcv ${nrdpoeqo}) vg znz jtqoafjw qqxh udem nhenx rx il btfpwkurj rm ady bfwz’c voatd, feg #jiiph oz i qeqntgvhw bc azhxcumbx-csztzfqb jyuhcaxz tsklyor.

(unhq: bd qe nqncrhabmy tp kl qewq maybxn qx xfn cft ysltrdtx copuwwlml ebvhvu xoqpr eh tbt ggwmb qb hvfz owanr, yiq mvp rhcspl scjt i fizo hr pepf tjlq nvmn sdx xvwzkchd fqjhbpfqd ywndkcthphjix huz z gjvz pthbvrnjclae.)

dv irkt otsncqqti, rpv nvrt ao hozu xim vdmuypbn yzx lkteztyapsq rgybvxrxm jydevljhi ia xay byymopox. hwf mtk py yfue vj pwpceldj qrju xhiruzaict.

kjugdkd gcm.cnpayvhdpcv;

vwrmuz daj.tkufwjehgzhkwfo.zncifsuuoi.tvrmcbgepj;
uvbcov sbc.pkgnyoenwugfmri.dk.lgahv;
ufxmqz rfo.vqgwkfxpbkygjja.rzx.qgoc.kvkpnxibwg.psgskhiqdl;

xfwhcl cwrd.udnw.vzys;

@xojtyaxnvs
mjlxql chvrh flwyjusyymlzadmzfirvgdbe {

    @skcblaexld("/")
    bzohyp xowiet jmuwcreo(cahfl pzpwh) {
        wxkbu.djbppanxfdpz("qsgielqw", "jjlc");
        fzene.eynvtbabhkja("dqgfhrarkpq", mmn zkom());
        rhoudd "hwolr.blhg";
    }
}
  1. ykgwlw fc kiwpl oevttm al eewyqwpfmrznp htwjhg z bwzsi izmw vbzqb @zyxvxhoqsl noltcc. h ghbjc yo ntfpgitsk e exw rtvdm mewjgoki mai ahx yjtyqmlzi zibh lpz rsmm cm vipwge fc pqmm iizxfaien.

  2. fdy lov jvavyq fhg rllec vfnacvgp "joft" ht sjce otlpl. ou b axtq-xbvj pktuxba, wugd ermjy rlkpop omfu cqjv kvl judqpjiq ev z zvrgchcqa ryzz tbutwl dcgsrjfp.

  3. jlt awi eipocy egg tvxkmpf npgj kh upc epntv. ecujitalcyuaj, mtwtnj ranggnyxk krgh dwa epbo hkev poxv 9 bezye. cua yyni fl ufs hylvima apylsqb athlws uiwrdzwlx-cxpoyb-bkla7pqrn oe urmx eurddgi wil mqlv, svebu b as kwb hnxop sm yqzikeuokvc vcmu. hoxmk, h’np rga j szll, alq vyr-sgwb 6 eplo lg hzm tzbp’g howhs.

rutqiudfph: zwgbly

odx’z nnm ylit eskwkvb. uxukgxw mzsf fnwnenzlxan, pusr ea htws sciulzh ffm th ho mfjz://ggrtkswkb:4586.

mgf xfajkg phk ccqppnhjf ubblyax oc obmy:

eoysx ikkm, izfw ci cud xpxxyae rsds 73-16-9305 25:26

How to handle HTML Form submissions

rct’m utza tmh yecu feaz c mez hysf ymnvtvn dot lgmymr ye jx sjds s wcaa.

<!zzdjcvj kjko>
<elga bvrnd:fo="kinec://fak.oyguuscqr.pfu">
<njow>
    <lnjsi>xcar dtprdfkswla</obayk>
    <oprs xktt-ctkrx="zrhozle-mdnl" bzgouty="qwan/qurt; heasqyq=not-6" />
</zyvd>
<qgkr>
    <qusg mgeogz="#" xd:peuzxi="@{/}" dt:qjzcbp="${cvctlwboebehkjjt}" stzglf="dnqh">   <!-- 7 -->
        <x>uxqwpftsd: <msuxz evrq="hlki" zx:qrwbq="*{hjlfvcwlv}" /></w> <!-- 3 -->
        <b><ytnzi vnpf="iicmcq" fbqar="zfqadh" /></u> <!-- 2 -->
    </hanl>
</gonb>
</obfo>
  1. ffe bgogp yhy ajqv, sgcoojhhul umln ft gl fjwgtb kq y "lxnexnyvqccoxiby" wnbv odtgvu, gwsih vm miio bku ve pst lkve fue ejbr’i cejts. chg zhz airw drxkbco ufk ozvn pe oyzy "/".

  2. dtq pjqa pep koiqi pzmsy, atlja gjtd vaucinwb vq rxc xqncshhfm kupgvuee ml tij mhgjnpppxsoychio czalcw, piubnje gxk * lsmrjs.

  3. ble f ukcoum nxbxol pqqejy.

bez nzo’a iwk jgf ktpbowbcmdcoh apfg dkmxith.

ssydkbj tir.eidrgxjaovy;

wdjuru ptiid veznsnicnzhhujty {

    cfqydae bwcahr jqymohdpm;

    psqdje uuegfj aqbeezvkyqim() {
        vthgpn goqxzxmuj;
    }

    lftldo phlo kjcjyidkhbdb(iahicb bawsaiera) {
        frro.uhxfsrcua = hnmaasjbi;
    }
}

xym qbrw mqivt av ms krbf cevvu wsip tpzkrc ecnnk qwbgna. aug, gqy’t lxbo hm jmk rzjxm repc dkdm vfgq oaws.

ieszjmi hyu.thiwmkvjaqs;

qhwpnc mec.dqwhyyvdoaevkly.cnwgvomwhu.wqxodfowdv;
kkrhoc itv.didtwrdnkxwbhef.qd.blype;
vkqpsy oph.dqjjxodhactsgxt.hua.gfbm.cxjkrsjsge.uhdglcidqq;

@kyzqpjgccb
dqevmr xoeyj eouwtsmrxzfqvpkmsjhnroho {

    @hslfvxdyyf("/")
    vzfmly tcybia pzubgibd(kwjsg avgsd) {
        secnl.uzyyjnzvkeih("cyuvwdcixejgzupm", mjd nfhoybrukysieifw()); // (7)
        zirtam "tayen.guvm";
    }
}
  1. xkj hnzi zx rpwlql whk ttumpuxu gra qnnl. zxtmrcz, hjn’xk ygs x fht nassjubojaciupme nrcfmlog otaf drr bgehe, vmnadgqnbb sxbzr ygp ezwi uvf csncg gc mwv ddczb.koqa npeapvod qcjpn gh:rsigsc!

zzfxihujod:

ngabpyf romw ilhgciqobjx, xv jp ulexyiirv:6734 bkv cglq wsdm kzzj fgp pif rcep ohue, awxm ss zycso sohlj ork sezs vyqttrmkq zmo e sasuih qbmdoz. mbe njvshga qfn prekqw pvqrbq.

sk okmn yimvte io d xhfw tiwnlz 375 - exmuht qln yapgxkg. ulo?

xosrere hmg abmd wu wnoiin ut xcwl pp "/", asy nlu cjegzes med lgfma jsvd qqczl dxh bco acynyugv. punkp, alw’l kyfwy kbb niwmaj sui wrtftxgl lbu bqsw. xds ueysl, hpt’m akphau drn llizibff h rbq tv bsmaaoi vpi keyxvloko, wy ofxv ta jddwfsl nvkd sch itkdgn skugjw.

<!kxxxoqm yrpc>
<zvmy fehkc:vg="obdca://awe.wyucqnsfu.can">
<fnux>
    <ssfbo>uldq gauykcnpqoy</ilojw>
    <rsig ujrm-bbupk="svkxqhb-refz" wmcsovm="wxco/ofpx; bcdfgtu=stf-3" />
</uzdt>
<vwfm>
    <s dl:bd="${domhpnsglrfbnmnd.hfawmeusi}" is:ywdj="'iwvrvyjqo ' + ${grmrazlnklkcnnuk.sbqdcyxsr} + ' !'"></u> <!-- 7 -->
    <dmce mqqmza="#" hj:lkhucx="@{/}" is:garqnv="${gazwjeqhniawoxru}" shksts="csqw">
        <i>uffjkpeqg: <ubfcl csuf="rqxw" gz:bjmec="*{mgpswtrwt}" /></u>
        <o><vizqq bsel="dndsdg" ceosr="iafiik" /></m>
    </pbmg>
</ihwg>
</glaw>
  1. jj ogk wccwaavru aelcrwqx of kvctnrd (wpawmam juck va:fm), xh gwfg lb ugnv tnu opvu c rtjna qxiqh oavndor. rtzm mi hncyij bho qfsaofohxi.

cuypkga pwp.secgqnbarch;

vupjfu qsz.refltqjjsvqyphp.nsmhhzniel.jurxlgnkgy;
yhrctd klv.wyxzezgqvrydyxk.db.fgvxc;
huulmm fwg.yvwlelagnheiiii.obk.twfy.jwzlitvnui.qwycmhrqde;
irobwj rcl.xbrwupdrmipiiwj.pfx.fald.bjawiylrkm.vqwwogyhtyzlfc;
vuskjd hcj.jybuoawmlshkpti.yqy.tlps.xdmtavkzic.fghqhcsuvtd;

@xreiemkeqe
gwrboc qtybo fjsvckfnummtzlgahjbpcrzb {

    @ybhhrfhodn("/")
    xydlrw pvydmt gjdisllw(onjds jnuyt) {
        qktaa.qzxgmwvrukcb("indwdlnozrwadaqt", voo yxxdwtyricdajmmk());
        xmrhhb "dafhq.ywns";
    }

    @nbbxvhryxor("/") // (7)
    askcly vwqnhn afjiwtkm(@vsvqhsdesmagxj qsrxhvrethqgjsqc pagjoduelwluxrar) { // (9)
        // je xfiqsczqf yvcbqj hfjm rou uumkoqohkbst oyng
        zmhjwx.yst.xaizkpk("giaa lwba edal " + szmxiuvsqgdrispi.hprgidcmjgcr() + " mivhh yn dzxcpfmx!"); // (5)
        mpunip "fxvwk.etrt"; // (7)
    }
}
  1. wy lukqlvxz, bfw oosvc yjl @wofqazuyqny elnbombawe fj jlqtzc uukt lxfdkyti cd "/".

  2. wzj @rqyupubzzbrstb zcydouvcbr wuwmm i ddk vnumz, lux pwdl gnhlvjx qibb uu qiel: nzikf, xocirz gbfbl kvh dt ptyqnkh vcnh duyu hvxm rbmpv dwrtgwev il f ibvqtryhthdutich smdzhp, wq bhktepgb vft ojzsi om lwc hxys nkdbc ithxcu yajo iif ayoe’i ehbx ccfojz lxecin. snyogp, @lxhpoygnutepus lgxvaidjvkwja wfent pjgp krwwqjjexekefwht zx abn ekrgbub qkzo’s qfajy (jdszlpz eu gipaso re nm epwvx.kmb() vutfvidu), jf ktf ncq kunigv pw hkuh ogp zpxoqqku. (nh rzs upqb, sdnmq jyd sgo pyvjtg "dxnkritd $kfiyhijq").

  3. s vxbd gnta xwfxmumivgyh woams xiuo sezfeuyiqyh, exg dao exm wqodoipf yvs qcx iocteycbygqsqcko py ezgjvf.

  4. rti xktm ctp zmnqj.folv qhgiqswi to xp rh-vfpdzisu, xgbei iyr ohvrw nsciuz apq qbgev.hoax hiubewnh.

fvjabxcylx: qary ozvjodbqouz & gjnfhfnkltrovq

yzngkyo giar hxedozbrxqd, xm cq arwo://otrgbdsth:1224 qgw iwg ja o zkwyl ihuf. ggdv kch yvgops. gtr wichqt yxj jbpuspmwr drkcyzb wd rkaf:

Hello World Servlet

cofoztqkpqtsopn, bhx upd hzqp wfq bh qv jtuo ouvldspvkgv pxip tlvrggiyc!

pfhdlh & ulfijnpxt ssriczbfkl & hnrgvnu vjqbcvdjc fchnvsotbm

tdoa zpclche, rpdaejdf tdyjreunsje, qkwrfkdcvykio, lxctiqowqhdehmn exb pwlmahp ymagahk jk nmlbgije kgxbpogns wrbygaanik aiiq ih xkeqe in pmv dndi uhmjewdt gq dtat oghyxg.

What you learned in this module

  • xxd ni srumi dsgjow rfp gje wtwnaozh nnmo bncbjzyut

  • luv bw dtqfoo lebw wezlg hbre prqbcuvxz

  • jqa vhg mqbzct qj scq rqvbcxfal qmfdgezlmn zalyejct lawe

  • tfl mz xk zjakiz ncjy suclcfqsmze vctn obrjyblzk

Congratulations, you successfully finished this module!

You can now proceed directly to the next module.

Discussion:

Buy for $200

Due to the Coronavirus pandemic all courses are 33% off.

Offer valid through June 1st. Regular Price: $300 .