Ten artykuł jest lustrzanym artykułem tłumaczenia maszynowego, kliknij tutaj, aby przejść do oryginalnego artykułu.

Widok: 13811|Odpowiedź: 0

[JavaEE] Encyklopedia JSP z przeskokami stron

[Skopiuj link]
Opublikowano 03.01.2015 21:28:01 | | |

(1). metoda forward()
Użyj klasy javax.servlet.RequestDispatcher
RequestDispatcher rd = getServletContext().getRequestDispatcher("url");
rd.forward(requestVar,requestVar); Przekaż parametry wejściowe serletu
Mianowicie:
getServletContext().getRequestDispatcher("url").forward(requestVar,responseVar);

Istnieją 4 sposoby na przemianę servletów po stronie serwera:
1. getRequestDispatcher() dla ServletContext  
2. getNamedDispatcher() for ServletContext
3. getRequestDispatcher() dla ServletRequest
4. Sendredirect() ServletResponse do sterowania.
Metoda do przodu, ponieważ są one bardziej wydajne. Używaj metody sendredirect() w serwletodpowiedzi tylko wtedy, gdy metoda przekierowania nie jest dostępna.

(2).response.sendRedirect(url);
W rzeczywistości wysyła specjalny nagłówek do przeglądarki, a następnie przeglądarka przełącza się na wskazaną stronę, więc podczas korzystania ze sendRedirect można zobaczyć zmianę adresu w pasku adresowym przeglądarki. Nowa strona nie obsługuje kontekstu strony (żądanie, odpowiedź,... starej strony. Cel.
response.sendRedirect powinien być poprzedzony zwrotem;

(3). Automatyczne przejście do języka HTML
<html>
<head>
<meta http-equiv="refresh" content="0;url="http://www.baidu.com">
0 to czas oczekiwania, jeśli ustawiony na 5, oznacza to, że skok zaczyna się po odczekaniu 5 sekund
</head>
…………

(4). Skok do JavaScript
A:
<script languate="javascript">
window.location.replace("http://www.baidu.com");
</script>
B: Możesz też bezpośrednio przypisać wartość atrybutowi window.location, window.location="url", który różni się od A tym, że ma historię
C:
<script languate="javascript">
document.location.href("http://www.google.com");
</script>
Dla dokumentu lokalizacja nie jest obiektem, document.location=document.url
Metody forward(), back() i go() obiektu D:history wymagają parametru wejścia shaping
<a href="javascript:history.go(-1)" > wrócić do poprzedniego kroku</a>
Równoważne <a href="javascript:history.back()" > powrót do poprzedniego kroku</a>
E:
document.formName.action="test.jsp";
document.formName.submit();   Metoda commit w JS
Pierwszy typ:
<Script Language="javascript" type="text/javascript">
window.location.href="login.jsp?backurl="+window.location.href;
</script>
Drugi typ:
<Script Language="JavaScript">
alert("return");
window.history.back(-1);
</script>
Trzeci typ:
<Script Language="JavaScript">
window.navigate("top.jsp");
</script>
Czwarty typ:
<język skryptowy="JavaScript">
self.location='top.htm';
</script>
Piąty typ:
<Script Language="JavaScript">
alert("Nielegalny dostęp!") );
top.location='xx.jsp';
</script>

(5). <jsp:forward page="nextpage.jsp"/>
Gdy:
<jsp:forward page="/servlet/login" />
<jsp:forward page="/servlet/login">
<jsp:param name="username" value="jsmith" />
</jsp:forward>
<jsp:forward> tag przekazuje obiekt żądania zawierający żądanie użytkownika z jednego pliku JSP do innego.
<jsp:forward>tag, nie zostanie wykonany.
Możesz użyć tagu <jsp:param> do przeniesienia parametrów i wartości do pliku obiektowego, który musi być plikiem dynamicznym obsługującym parametry.
Jeśli używasz wyjścia bez buforowania, uważaj przy używaniu <jsp:forward>. Jeśli plik jsp już zawiera dane zanim użyjesz <jsp:forward>, to wykonanie pliku będzie błędne.
Kolekcja metod przeskoków stron JSP
1. response.sendRedirct("Przejdź do strony");
Ta metoda modyfikuje część HEADER protokołu HTTP, aby wydać polecenie przekierowania do przeglądarki, tak aby przeglądarka wyświetlała zawartość strony przekierowania. Żądanie nie może przepuścić wartości dalej.
Wykonaj cały kod na stronie, zanim przejdziesz do niej. Przejdź do paska adresu, aby zmienić.
Możesz przejść na stronę response.sendRedirct(http://www.sun.com) na innym serwerze.
2.response.setHeader(); Ta metoda, podobnie jak response.sendRedirect, polega na modyfikacji części HEADER protokołu HTTP.
<% response.setStatus(HttpServletResponse.SC_MOVED_PERMANENTLY); Struna
newLocn="/index.html"; response.setHeader("Location",newLocn); % >
3.<jsp:forward page="jump page"/>
Ta metoda wykorzystuje mechanizm serwera, który najpierw wysyła dane do bufora, zanim wyśle zawartość bufora klientowi, oryginał nie wysyła, lecz wysyła zawartość strony. Jeśli jest dużo wyjścia przed <jsp:forward>, poprzednie wyjście wypełniło bufor, zostanie automatycznie wysłane do klienta, wtedy instrukcja nie działa, co należy zwrócić szczególną uwagę.
Żądanie może przekazać wartość dalej. Przejdź bezpośrednio na stronę, następujący kod nie jest wykonywany. Pasek adresowy pozostaje niezmieniony po przeskoczeniu. Nie mogę przeskoczyć na stronę na innym serwerze. Obraz nie jest absolutną ścieżką, której nie można wyświetlić.
4. request.getRequestDispatcher ("Przejdź do strony"); Żądanie może przekazać wartość dalej. Wykonaj cały kod na stronie, zanim przejdziesz do niej.
Pasek adresowy skoku pozostaje bez zmian. Nie można przejść do strony na innym serwerze <% RequestDispatcher rd = request.getRequestDispatcher("to.jsp"); rd.forward(request,response); %> Istnieją 3 sposoby przekierowania wyjścia: RESPONSE. SETREDERECT("URL") Ta metoda modyfikuje część HEADER protokołu HTTP, aby wydać polecenie przekierowania do przeglądarki, tak aby przeglądarka wyświetlała treść przekierowanej strony internetowej.
response.sendRedirect("http://localhost:7001/index.html");
Poniższa metoda może również zmienić właściwość HTTP HEADER, która działa tak samo jak 1. <%response.setStatus(HttpServletResponse.SC_MOVED_PERMANENTLY); String newLocn="/index.html"; response.setHeader("Location",newLocn); % >
< JSP:FORWORD > zostaje przyjęte
Ta metoda wykorzystuje mechanizm serwera, który najpierw przesyła dane do bufora, a przed wysłaniem zawartości bufora do klienta, oryginał nie wysyła, lecz wysyła zawartość strony; jeśli przed <JSP:FORWORD> jest dużo wyjścia, poprzednie wyjście wypełniło bufor i zostanie automatycznie wysłane do klienta, wtedy instrukcja nie działa, na co należy zwrócić szczególną uwagę.
Istnieją trzy sposoby zagnieżdżenia innej strony JSP w obrębie jednej strony JSP:
1. Przy <%@ include file="header.jsp"%> ta metoda pozwala jedynie na statyczne ładowanie strony i jest najczęściej stosowana do ładowania ogólnych nagłówków strony header.jsp i footer.jsp w projekcie.
2. Przez <%@ include page="tt.jsp"%> ta metoda może umożliwić dynamiczne ładowanie strony, ale musi przekazywać parametry stronie;
3. Załadowanie kolejnej strony jsp na stronę przez <iframe src="jsp's path" >, czyli ramę inline. Jeśli używasz forward, aby przekazać parametr, zapisz go tak: <%String str="Jesteś zalogowany!"; %>
<jsp:forward page="index.jsp>
<jsp:param name="name" value= <%=str%>/>
</jsp:forward>




Poprzedni:JSP niszczy sesję, unieważniając logowanie użytkownika
Następny:Użycie tagu jstl &lt;c:if&gt;
Zrzeczenie się:
Całe oprogramowanie, materiały programistyczne lub artykuły publikowane przez Code Farmer Network służą wyłącznie celom edukacyjnym i badawczym; Powyższe treści nie mogą być wykorzystywane do celów komercyjnych ani nielegalnych, w przeciwnym razie użytkownicy ponoszą wszelkie konsekwencje. Informacje na tej stronie pochodzą z Internetu, a spory dotyczące praw autorskich nie mają z nią nic wspólnego. Musisz całkowicie usunąć powyższą zawartość z komputera w ciągu 24 godzin od pobrania. Jeśli spodoba Ci się program, wspieraj oryginalne oprogramowanie, kup rejestrację i korzystaj z lepszych, autentycznych usług. W przypadku naruszenia praw prosimy o kontakt mailowy.

Mail To:help@itsvse.com