(1). Forward() metode Izmantojiet klasi javax.servlet.RequestDispatcher RequestDispatcher rd = getServletContext().getRequestDispatcher("url"); rd.forward(pieprasījumVar,pieprasījumVar); Nododiet servlet ievades parametrus Proti: getServletContext().getRequestDispatcher("url").forward(requestVar,responseVar);
Ir 4 veidi, kā pagriezt servera puses servletus: 1. getRequestDispatcher() pakalpojumam ServletContext 2. getNamedDispatcher() pakalpojumam ServletContext 3. getRequestDispatcher() pakalpojumam ServletRequest 4. ServletResponse sendredirect() vadīt. Uz priekšu metode, jo tie ir efektīvāki. Izmantojiet sendredirect() servletresponse metodi tikai tad, ja pārsūtīšanas metode nav pieejama.
(2).response.sendRedirect(url); Faktiski tas pārlūkprogrammai nosūta īpašu galveni, un pēc tam pārlūkprogramma pārvēršas norādītajā lapā, tāpēc, izmantojot sendRedirect, pārlūkprogrammas adreses joslā var redzēt adreses maiņu. Jaunā lapa nevar apstrādāt vecās lapas lapas kontekstu(pieprasījumu, atbildi,.... Objekts. response.sendRedirect jāseko atgriešanai;
(3). Automātiska pāreja uz HTML valodu <html> <head> <meta http-equiv="refresh" content="0;url="http://www.baidu.com"> 0 ir gaidīšanas laiks, ja iestatīts uz 5, tas nozīmē, ka lēciens sākas pēc 5 sekunžu gaidīšanas </head> …………
(4). JavaScript lēciens A: <script languate="javascript"> window.location.replace("http://www.baidu.com"); </script> B: Varat arī tieši piešķirt vērtību atribūtam window.location window.location="url", kas atšķiras no A ar to, ka tam ir vēsture C: <script languate="javascript"> document.location.href("http://www.google.com"); </script> Dokumentam atrašanās vieta nav objekts, document.location=document.url Objekta D:history forward (), back() un go() metodēm ir nepieciešams veidojošs ievades parametrs <a href="javascript:history.go(-1)" > atgriezties pie iepriekšējās darbības</a> Ekvivalents <a href="javascript:history.back()", > atgrieztos iepriekšējā darbībā</a> E: document.formName.action="test.jsp"; dokuments.formaNosaukums.iesniegt(); JS commit metode Pirmais veids: <script language="javascript" type="text/javascript"> window.location.href="login.jsp?backurl="+window.location.href; </script> Otrais veids: <script language="javascript"> brīdinājums ("atgriešanās"); window.history.back(-1); </script> Trešais veids: <script language="javascript"> window.navigate("top.jsp"); </script> Ceturtais veids: <script language="JavaScript"> self.location='top.htm'; </script> Piektais veids: <script language="javascript"> brīdinājums ("Nelikumīga piekļuve!") ); top.location='xx.jsp'; </script>
(5). <jsp:forward page="nextpage.jsp"/> Kā: <jsp:forward page="/servlet/login" /> <jsp:forward page="/servlet/login"> <jsp:param name="username" value="jsmith" /> </jsp:uz priekšu> <jsp:forward> tags nodod pieprasījuma objektu, kas satur lietotāja pieprasījumu no viena JSP faila uz citu. <jsp:forward>tag, netiks izpildīts. Var izmantot tagu <jsp:param>, lai pārsūtītu parametrus un vērtības uz objekta failu, kuram jābūt dinamiskam failam, kas var apstrādāt parametrus. Ja izmantojat nebuferizētu izvadi, esiet piesardzīgs, lietojot <jsp:forward>. Ja jsp failā jau ir dati pirms <jsp:forward> izmantošanas, faila izpilde būs nepareiza. JSP lapas lēciena metodes kolekcija 1. response.sendRedirct("Pāriet uz lapu"); Šī metode modificē HTTP protokola HEADER daļu, lai izdotu novirzīšanas komandu uz pārlūkprogrammu, lai pārlūkprogramma parādītu novirzīšanas tīmekļa lapas saturu. pieprasījums nevar nodot vērtību pagātnē. Izpildiet visu lapas kodu pirms pāriešanas uz lapu. Pārejiet uz adreses joslu, lai mainītu. Varat pāriet uz lapu response.sendRedirct(http://www.sun.com) citā serverī. 2.response.setHeader(); Šī metode, tāpat kā response.sendRedirect, tiek veikta, modificējot HTTP protokola HEADER daļu. <% atbildes.setStatus(HttpServletResponse.SC_MOVED_PERMANENTLY); Virkne newLocn="/index.html"; response.setHeader("Atrašanās vieta",newLocn); % > 3.<jsp:forward page="lēkt lapa"/> Šī metode izmanto servera mehānismu, lai vispirms izvadītu datus buferī, pirms bufera satura nosūtīšanas klientam, oriģināls nesūta, bet tā vietā nosūta lapas saturu, ja pirms <jsp:forward> ir daudz izvades, iepriekšējā izvade ir padarījusi buferi pilnu, tiks automātiski izvadīta klientam, tad paziņojums nedarbosies, tam jāpievērš īpaša uzmanība. pieprasījums var nodot vērtību pagātnē. Pārejiet tieši uz lapu, šāds kods netiek izpildīts. Adreses josla pēc lēkšanas paliek nemainīga. Nevar pāriet uz lapu citā serverī. Attēls nav absolūts ceļš, ko nevar parādīt. 4. request.getRequestDispatcher ("Pāriet uz lapu"); pieprasījums var nodot vērtību pagātnē. Izpildiet visu lapas kodu pirms pāriešanas uz lapu. Pārlēciena adreses josla paliek nemainīga. Jūs nevarat pāriet uz lapu citā serverī <% RequestDispatcher rd = request.getRequestDispatcher("to.jsp"); rd.forward(pieprasījums,atbilde); %> Ir 3 veidi, kā novirzīt izvadi: RESPONSE. SETREDERECT("URL") Šī metode modificē HTTP protokola HEADER daļu, lai izdotu novirzīšanas komandu uz pārlūkprogrammu, lai pārlūkprogramma parādītu novirzītās tīmekļa lapas saturu. response.sendRedirect("http://localhost:7001/index.html"); Tālāk norādītā metode var mainīt arī rekvizītu HTTP HEADER, kas darbojas tāpat kā 1. <%response.setStatus(HttpServletResponse.SC_MOVED_PERMANENTLY); Virkne newLocn="/index.html"; response.setHeader("Atrašanās vieta",newLocn); % > < JSP:FORWORD > ir pieņemts Šī metode izmanto servera mehānismu, lai vispirms izvadītu datus buferī, pirms bufera satura nosūtīšanas klientam, oriģināls nenosūta, bet tā vietā nosūta lapas saturu, ja pirms <JSP:FORWORD> ir daudz izvades, iepriekšējā izvade ir aizpildījusi buferi un tiks automātiski izvadīta klientam, tad paziņojums nedarbosies, tam jāpievērš īpaša uzmanība. Ir trīs veidi, kā ligzdot citu JSP lapu vienā JSP lapā: 1. Ar <%@ include file="header.jsp"%> šī metode var sasniegt tikai statisku lapas ielādi, un to visbiežāk izmanto, lai realizētu vispārējo lapas galvenes header.jsp un footer.jsp ielādi projektā. 2. Ar <%@ iekļaut page="tt.jsp"%> šī metode var realizēt dinamisku lapas ielādi, bet tai ir jānodod parametri lapai; 3. Ielādējiet lapā citu jsp lapu, izmantojot <iframe src="jsp's path" >, kas ir iekļauts ietvars. Ja izmantojat uz priekšu, lai nodotu parametru, ierakstiet to šādi: <%String str="Jūs esat pieteicies!"; %> <jsp:forward page="index.jsp> <jsp:param name="name" value= <%=str%>/> </jsp:uz priekšu> |