Erinevus edasisuunamise ja ümbersuunamise vahel

Seal on mitu ekraani ja servletid, mis koos moodustavad Java-põhise veebirakenduse. JSP edastab juhtimise ühest servletist teise servletile või JSP-le, kasutades kahte meetodit - edasisuunamine ja ümbersuunamine. Edastamismeetod edastab päringu ühest servletist teise veebirakenduse ressursile ja see ressurss võib olla mõni teine ​​servlett, JSP leht või HTML-fail.

Teisalt suunab ümbersuunamisnõue teise rakenduse. Seda ei saa edasisuunalise meetodiga teha. Kui ümbersuunamine tabab samas rakenduses erinevat ressurssi, kasutab ta teistsugust URL-i kui algne päringu URL. Kui te ei soovi päringule vastata, võite suunata päringu teisele URL-ile ja brauser saadab uue päringu teie antud URL-ile. See postitus toob välja paar erinevust, selgitades neid kahte meetodit üksikasjalikult.

Mis on edasi??

Veebipõhistes süsteemides või rakendustes on sageli vaja üle viia kontroll erinevate ressursside või JSP-de vahel. Näiteks kui soovite tellimuse esitada e-poe saidilt, peate enne jätkamist kõigepealt registreeruma. Kui te pole veel nende süsteemis registreerunud, võib osutuda vajalikuks, et ostukorv viiks üle JSP vormi, mis vastutab registreerimisprotsessi eest. Edasist tegevust kasutatakse spetsiaalselt selleks. Seda kasutatakse päringu edastamiseks ühest JSP-st teise või teise ressurssi samas kontekstis.

Mis on ümbersuunamine?

Seda meetodit kasutatakse ka HTTP-päringute edastamiseks, kuid erinevalt edastamisest on see kaheastmeline protsess, kus ümbersuunamine toimub kliendi poolel teisele rakendusele. Ümbersuunamismeetod suunab kasutaja uuele URL-ile. Kliendi brauser esitab uue päringu automaatselt serverilt tuleva ümbersuunamise päises määratud URL-ile. See nõuab kliendiga edasi-tagasi suhtlemist, seega on edasiliikumine suhteliselt aeglasem.

Erinevus edasisuunamise ja ümbersuunamise vahel

Forward Vs kirjeldus Suunamine

Edastamise () meetodit kasutatakse päringu edastamiseks ühelt JSP-lt teisele või ühelt JSP-lt servletile või ühelt JSP-lt teisele ressursile veebirakenduses. Juhtimise annab konteiner sisemiselt üle ja brauser / klient pole protsessi kaasatud. Edasisuunamise meetod on deklareeritud RequestDispatcheris. SendRedirect () meetod kuulutatakse välja HttPServletResponse ja seda kasutatakse kliendi päringu suunamiseks teisele URL-ile, mis on saadaval erinevas serveris või kontekstis. Ümbersuunamisega saate brauseri suunata hoopis teise rakendusse.

Kliendi kaasamine edasisuunamise versiooni Suunamine

Üks peamisi erinevusi nende kahe meetodi vahel on see, et veebikonteiner edastab edastamise () korral kõiki protsesse sisemiselt ja URL ei muutu kliendi brauseris, seega klient / brauser ei osale, jättes nad täiesti teadmata, et tegevus on juba toimunud. SendRedirect () korral seab meetod sobivad päised ja sisu sisu, et taotlus suunata teisele URL-ile ja brauser hoolitseb uue päringu saatmise eest URL-ile, mis on kliendile nähtav, kui URL brauseris muutub.

Täitmise kontroll

Kui päringu () (forward) meetod täidetakse nõudmise ajal, edastatakse praegune taotlus teisele JSP lehele ja praeguse JSP töötlemine lõpetatakse. Taotluse võib edastada Java programmeerimiskeeles kirjutatud servletile või staatilisele HTML-lehele. SendRedirect () päring käsib brauseril lihtsalt minna teisele URL-ile, saates täitmiskontrolli väljaspool veebirakendust. See kasutab kaheastmelist protsessi, et juhendada brauseri URL-i teise päringu tegemiseks, mis annab juhtimisõiguse üle kliendile.

Kiirus

Edasisuunamine () töötab serveris ja käivitatakse kiiremini kui SendRedirect (). Ümbersuunamine peab minema läbi brauseri ja ootama, kuni brauser esitab uue HTTP-päringu. Ümbersuunamine paneb serveri saatma HTTP-vastuse olekukoodi 302 koos asukoha päisega, mis sisaldab uut URL-i brauserisse, ja pärast seda, kui brauser on saanud olekukoodi 302, esitab ta uue päringu asukoha päises leitud URL-ile. See nõuab kliendiga edasi-tagasi suhtlemist, mis muudab selle edasisuunamisest suhteliselt aeglasemaks ().

Edasi vs ümbersuunamine: võrdlusdiagramm

Kokkuvõte edasistest Vs. Suunamine

Edastamis- ja ümbersuunamismeetodite erinevuse õppimine on Java arendajate jaoks üks olulisemaid osi. Kuigi kontroller saab päringu töötlemise lõpus täita nii edasisuunamis- kui ka ümbersuunamismeetodi, on neil oma kasutusala. Enamasti kasutaksite edasisuunamise () meetodit, kuna see on pisut kiirem kui SendRedirect (), mis tegelikult nõuab kliendiga edasi-tagasi suhtlemist, muutes selle edasisuunamisest aeglasemaks. Noh, ümbersuunamisega saate brauseri suunata mõnele teisele rakendusele. Seda ei saa edasipääsuga teha. Lühidalt - edastamine toimib kõige paremini siis, kui üks komponent peab täitma äriloogikat ja jagama tulemusi teise komponendiga, samas kui ümbersuunamine toimib kõige paremini siis, kui klient tuleks suunata ühelt lehelt teisele.