(1). pirmyn() metodas Naudokite javax.servlet.RequestDispatcher klasę RequestDispatcher rd = getServletContext().getRequestDispatcher("url"); rd.forward(prašymasVar,prašymasVar); Perduokite servleto įvesties parametrus Būtent: getServletContext().getRequestDispatcher("url").forward(requestVar,responseVar);
Yra 4 būdai, kaip pasukti serverio pusės servletus: 1. getRequestDispatcher(), skirtas ServletContext 2. getNamedDispatcher(), skirtas ServletContext 3. getRequestDispatcher() už ServletRequest 4. ServletResponse sendredirect() valdyti. metodą, nes jie yra efektyvesni. Naudokite sendredirect() servletatsako metodą tik tada, kai persiuntimo metodas nepasiekiamas.
(2).response.sendRedirect(url); Tiesą sakant, jis siunčia specialią antraštę į naršyklę, o tada naršyklė pasisuka į nurodytą puslapį, todėl naudodami "sendRedirect" galite pamatyti adreso pasikeitimą naršyklės adreso juostoje. Naujas puslapis negali apdoroti senojo puslapio puslapio konteksto (užklausos, atsakymo,.... Objektas. po response.sendRedirect turėtų būti grąžinta;
(3). Automatinis perėjimas prie HTML kalbos <html> <head> <meta http-equiv="refresh" content="0;url="http://www.baidu.com"> 0 yra laukimo laikas, jei nustatytas 5, tai reiškia, kad šuolis prasideda palaukus 5 sekundes </head> …………
(4). JavaScript šuolis A: <script languate="javascript"> window.location.replace("http://www.baidu.com"); </script> B: Taip pat galite tiesiogiai priskirti reikšmę atributui window.location="url", kuris skiriasi nuo A tuo, kad turi istoriją C: <script languate="javascript"> document.location.href("http://www.google.com"); </script> Dokumento vieta nėra objektas, document.location=document.url D:history objekto forward(), back() ir go() metodams reikalingas formavimo įvesties parametras <a href="javascript:history.go(-1)" > grįžti į ankstesnį veiksmą</a> Atitinka <a href="javascript:history.back()" > grįžti į ankstesnį veiksmą</a> E: document.formName.action="test.jsp"; dokumentas.formaPavadinimas.pateikti(); JS įsipareigojimo metodas Pirmasis tipas: <script language="javascript" type="text/javascript"> window.location.href="login.jsp?backurl="+window.location.href; </script> Antrasis tipas: <script language="javascript"> įspėjimas("grįžimas"); window.history.back(-1); </script> Trečiasis tipas: <script language="javascript"> window.navigate("top.jsp"); </script> Ketvirtasis tipas: <script language="JavaScript"> self.location='top.htm'; </script> Penktasis tipas: <script language="javascript"> įspėjimas("Neteisėta prieiga!") ); top.location='xx.jsp'; </script>
(5). <jsp:forward page="nextpage.jsp"/> Kaip: <jsp:forward page="/servlet/login" /> <jsp:forward page="/servlet/login"> <jsp:param name="username" value="jsmith" /> </jsp:pirmyn> <jsp:forward> žyma perduoda užklausos objektą, kuriame yra vartotojo užklausa, iš vieno JSP failo į kitą. <jsp:forward>tag, nebus vykdomas. Galite naudoti žymę <jsp:param> norėdami perkelti parametrus ir reikšmes į objekto failą, kuris turi būti dinaminis failas, galintis apdoroti parametrus. Jei naudojate nebuferinę išvestį, būkite atsargūs naudodami <jsp:forward>. Jei jsp faile jau yra duomenų prieš naudojant <jsp:forward>, failo vykdymas bus neteisingas. JSP puslapio peršokimo metodo rinkinys 1. response.sendRedirct("Pereiti į puslapį"); Šis metodas modifikuoja HTTP protokolo HEADER dalį, kad būtų pateikta peradresavimo komanda į naršyklę, kad naršyklė rodytų peradresavimo tinklalapio turinį. užklausa negali perduoti reikšmės praeityje. Vykdykite visą puslapyje esantį kodą prieš pereidami į puslapį. Pereikite į adreso juostą, kad pakeistumėte. Galite pereiti į puslapį response.sendRedirct(http://www.sun.com) kitame serveryje. 2.response.setHeader(); Šis metodas, kaip ir response.sendRedirect, atliekamas modifikuojant HTTP protokolo HEADER dalį. <% atsakymas.setStatus(HttpServletResponse.SC_MOVED_PERMANENTLY); Eilutė newLocn="/index.html"; response.setHeader("Vieta",newLocn); % > 3.<jsp:pirmyn puslapis="peršokti puslapį"/> Šis metodas naudoja serverio mechanizmą, kad pirmiausia išvestų duomenis į buferį, prieš siunčiant buferio turinį klientui, originalas nesiunčia, o siunčia puslapio turinį, jei prieš <jsp:forward> yra daug išvesties, ankstesnė išvestis užpildė buferį, bus automatiškai išvesta klientui, tada pareiškimas neveiks, tam reikia atkreipti ypatingą dėmesį. užklausa gali perduoti reikšmę praeityje. Pereikite tiesiai į puslapį, šis kodas nevykdomas. Adreso juosta išlieka nepakitusi po šokinėjimo. Neįmanoma pereiti į puslapį kitame serveryje. Paveikslėlis nėra absoliutus kelias, kurio negalima rodyti. 4. request.getRequestDispatcher("Pereiti į puslapį"); užklausa gali perduoti reikšmę praeityje. Vykdykite visą puslapyje esantį kodą prieš pereidami į puslapį. Peršokimo adreso juosta lieka nepakitusi. Negalite pereiti į puslapį kitame serveryje <% RequestDispatcher rd = request.getRequestDispatcher("to.jsp"); rd.forward(request,response); %> Yra 3 būdai nukreipti išvestį: RESPONSE. SETREDERECT("URL") Šis metodas modifikuoja HTTP protokolo HEADER dalį, kad būtų išduota peradresavimo komanda į naršyklę, kad naršyklė rodytų peradresuoto tinklalapio turinį. response.sendRedirect("http://localhost:7001/index.html"); Šis metodas taip pat gali pakeisti ypatybę HTTP HEADER, kuri veikia taip pat, kaip 1. <%response.setStatus(HttpServletResponse.SC_MOVED_PERMANENTLY); Eilutė newLocn="/index.html"; response.setHeader("Vieta",newLocn); % > < JSP:FORWORD > priimtas Šis metodas naudoja serverio mechanizmą, kad pirmiausia išvestų duomenis į buferį, prieš siunčiant buferio turinį klientui, originalas nesiunčia, o siunčia puslapio turinį, jei prieš <JSP:FORWORD> yra daug išvesties, ankstesnė išvestis užpildė buferį ir bus automatiškai išvesta klientui, tada teiginys neveiks, tam reikia atkreipti ypatingą dėmesį. Yra trys būdai, kaip įdėti kitą JSP puslapį į vieną JSP puslapį: 1. Pagal <%@ include file="header.jsp"%> šis metodas gali pasiekti tik statinį puslapio įkėlimą ir dažniausiai naudojamas bendrųjų puslapio antraštės header.jsp ir footer.jsp įkėlimui projekte. 2. Pagal <%@ include page="tt.jsp"%> šis metodas gali realizuoti dinaminį puslapio įkėlimą, tačiau jis turi perduoti parametrus į puslapį; 3. Įkelkite kitą jsp puslapį į puslapį naudodami <iframe src="jsp's path" >, kuri yra įterpta sistema. Jei parametrui perduoti naudojate pirmyn, parašykite jį taip: <%String str="Jūs prisijungę!"; %> <jsp:forward page="index.jsp> <jsp:param name="name" value= <%=str%>/> </jsp:pirmyn> |