|
|
Publicado en 3/1/2015 21:28:01
|
|
|

(1). método forward() Utiliza la clase javax.servlet.RequestDispatcher RequestDispatcher rd = getServletContext().getRequestDispatcher("url"); rd.forward(requestVar,requestVar); Pasa los parámetros de entrada del servlet Concretamente: getServletContext().getRequestDispatcher("url").forward(requestVar,responseVar);
Hay 4 formas de convertir servlets del lado del servidor: 1. getRequestDispatcher() para ServletContext 2. getNamedDispatcher() para ServletContext 3. despachadorSolicitación() para SolicitudServletRequest 4. El envío de ServletResponse para dirigir. Método hacia adelante, porque son más eficientes. Solo se utiliza el método sendredirect() de servletresponse cuando el método forward no esté disponible.
(2).response.sendRedirect(url); De hecho, envía un encabezado especial al navegador, y luego el navegador se dirige a la página especificada, así que al usar sendRedirect, puedes ver el cambio de dirección en la barra de direcciones del navegador. La nueva página no puede gestionar el pagecontext(request, response,... de la página antigua. Objeto. response.sendRedirect debe ir seguido de un retorno;
(3). Salto automático al lenguaje HTML <html> <head> <meta http-equiv="refresh" content="0;url="http://www.baidu.com"> 0 es el tiempo de espera; si se pone en 5, significa que el salto comienza tras esperar 5 segundos </head> …………
(4). Salto en JavaScript Un: <script languate="javascript"> window.location.replace("http://www.baidu.com"); </script> B: También puedes asignar directamente un valor al atributo window.location, window.location="url", que es diferente de A en que tiene un historial C: <script languate="javascript"> document.location.href("http://www.google.com"); </script> Para document, la ubicación no es un objeto, document.location=document.url Los métodos forward(), back() y go() del objeto D:history requieren un parámetro de entrada de modelado <a href="javascript:history.go(-1)" > volver al paso anterior</a> Equivalente a <a href="javascript:history.back()" > volver al paso anterior</a> E: document.formName.action="test.jsp"; document.formaNombre.submit(); Método de commit en JS El primer tipo: <lenguaje de script="javascript" tipo="texto/javascript"> window.location.href="login.jsp?backurl="+window.location.href; </script> El segundo tipo: <script language="javascript"> alerta("return"); ventana.historia.atrás(-1); </script> El tercer tipo: <script language="javascript"> window.navigate("top.jsp"); </script> El cuarto tipo: <script language="JavaScript"> self.location='top.htm'; </script> El quinto tipo: <script language="javascript"> alerta ("¡Acceso ilegal!") ); top.location='xx.jsp'; </script>
(5). <jsp:forward página="nextpage.jsp"/> Como: <jsp:forward page="/servlet/login" /> <jsp:página de reenvío="/servlet/login"> <jsp:param name="usuarioname" value="jsmith" /> </jsp:adelante> <jsp:forward> pasa un objeto de solicitud que contiene una solicitud de usuario de un archivo JSP a otro. <jsp:forward>tag, no se ejecutará. Puedes usar la etiqueta <jsp:param> para transferir parámetros y valores al archivo objeto, que debe ser un archivo dinámico que pueda manejar parámetros. Si usas salida sin búfer, ten cuidado al usar <jsp:forward>. Si el archivo jsp ya tiene datos antes de que uses <jsp:forward>, entonces la ejecución del archivo será incorrecta. Colección de métodos de salto de página JSP 1. response.sendRedirct("Saltar a la página"); Este método modifica la parte HEADER del protocolo HTTP para emitir un comando de redirección al navegador, de modo que este muestre el contenido de la página web de redirección. La solicitud no puede pasar el valor más allá. Ejecuta todo el código en la página antes de saltar a la página. Ve a la barra de direcciones para cambiar. Puedes saltar a la página response.sendRedirct(http://www.sun.com) en otro servidor. 2.response.setHeader(); Este método, al igual que response.sendRedirect, se realiza modificando la parte HEADER del protocolo HTTP. <% response.setStatus(HttpServletResponse.SC_MOVED_PERMANENTLY); Cuerda newLocn="/index.html"; response.setHeader("Location",newLocn); % > 3.<jsp:página de reenvío="página de salto"/> Este método utiliza el mecanismo del servidor para enviar datos primero al búfer; antes de enviar el contenido del búfer al cliente, el original no envía, sino el contenido de la página; si hay mucha salida antes de <jsp:forward> la salida anterior ha llenado el búfer se enviará automáticamente al cliente, entonces la instrucción no funcionará, esto debe prestarse especial atención. La solicitud puede pasar el valor más allá. Salta directamente a la página, el siguiente código no se ejecuta. La barra de direcciones permanece sin cambios tras el salto. No puedo saltar a una página en otro servidor. La imagen no es un camino absoluto que no pueda mostrarse. 4. request.getRequestDispatcher ("Saltar a la página"); La solicitud puede pasar el valor más allá. Ejecuta todo el código en la página antes de saltar a la página. La barra de direcciones de salto permanece sin cambios. No puedes saltar a una página en otro servidor <% RequestDispatcher rd = request.getRequestDispatcher("to.jsp"); rd.forward(request,response); %> Hay 3 formas de redirigir la salida: RESPONSE. SETREDERECT("URL") Este método modifica la parte HEADER del protocolo HTTP para emitir un comando de redirección al navegador, de modo que este muestre el contenido de la página web redirigida. response.sendRedirect("http://localhost:7001/index.html"); El siguiente método también puede cambiar la propiedad HTTP HEADER, que funciona igual que 1. <%response.setStatus(HttpServletResponse.SC_MOVED_PERMANENTLY); Cadena newLocn="/index.html"; response.setHeader("Location",newLocn); % > < se adopta JSP:FORWORD > Este método utiliza el mecanismo del servidor para enviar datos primero al búfer; antes de enviar el contenido del búfer al cliente; el original no envía, sino el contenido de la página; si hay mucha salida antes de <JSP:FORWORD> la salida anterior ha llenado el búfer y se enviará automáticamente al cliente, entonces la sentencia no funcionará, esto debe prestarse especial atención. Hay tres formas de anidar otra página JSP dentro de una sola página JSP: 1. Por <%@ include file="header.jsp"%> este método solo puede lograr cargas estáticas de páginas, y se utiliza principalmente para realizar la carga de header.jsp y footer.jsp generales de cabecera de página en un proyecto. 2. Al <%@ include page="tt.jsp"%> este método puede realizar cargas dinámicas de página, pero necesita pasar parámetros a la página; 3. Carga otra página jsp en la página mediante <iframe src="jsp's path" >, que es un framework en línea. Si usas forward para pasar el parámetro, escríbelo así: <%String str="¡Has iniciado sesión!"; %> <jsp:página de reenvío="index.jsp> <jsp:param name="name" valor= <%=str%>/> </jsp:adelante> |
Anterior:JSP destruye la sesión de sesión, invalidando el inicio de sesión del usuarioPróximo:Uso de la etiqueta jstl <c:if>
|