|
|
Publicado em 03/01/2015 21:28:01
|
|
|

(1). método forward() Use a classe javax.servlet.RequestDispatcher RequestDispatcher rd = getServletContext().getRequestDispatcher("url"); rd.forward(requestVar,requestVar); Passe os parâmetros de entrada do servlet Ou seja: getServletContext().getRequestDispatcher("url").forward(requestVar,responseVar);
Existem 4 maneiras de virar servlets do lado do servidor: 1. getRequestDispatcher() para ServletContext 2. getNamedDispatcher() para ServletContext 3. getRequestDispatcher() para ServletRequest 4. Envio de redirecionamento do ServletResponse para direcionar. Método para frente, porque esses são mais eficientes. Use o método sendredirect() do servletresponse apenas quando o método forward não estiver disponível.
(2).response.senviarRedireção(url); Na verdade, ele envia um cabeçalho especial para o navegador, e então o navegador volta para a página especificada, então, ao usar o sendRedirect, você pode ver a mudança de endereço na barra de endereços do navegador. A nova página não consegue lidar com o pagecontext(request, response,... da página antiga. Objeto. response.sendRedirect deve ser seguido por um retorno;
(3). Salto automático para a linguagem HTML <html> <head> <meta http-equiv="refresh" content="0;url="http://www.baidu.com"> 0 é o tempo de espera, se definido para 5, significa que o salto começa após esperar 5 segundos </head> …………
(4). Salto JavaScript Um: <script languate="javascript"> window.location.replace("http://www.baidu.com"); </script> B: Você também pode atribuir diretamente um valor ao atributo window.location, window.location="url", que é diferente de A por ter um histórico C: <script languate="javascript"> document.location.href("http://www.google.com"); </script> Para document, localização não é um objeto, document.location=document.url Os métodos forward(), back() e go() do objeto D:history exigem um parâmetro de entrada de modelação <a href="javascript:history.go(-1)" > voltar ao passo anterior</a> Equivalente a <a href="javascript:history.back()" > retorne ao passo anterior</a> E: document.formName.action="test.jsp"; document.formaNome.submit(); Método de commit em JS O primeiro tipo: <linguagem de script="javascript" tipo="texto/javascript"> window.location.href="login.jsp?backurl="+window.location.href; </script> O segundo tipo: <script language="javascript"> alerta("retorno"); window.history.back(-1); </script> O terceiro tipo: <script language="javascript"> window.navigate("top.jsp"); </script> O quarto tipo: <linguagem script="JavaScript"> self.localização='top.htm'; </script> O quinto tipo: <script language="javascript"> alerta ("Acesso ilegal!") ); top.localização='xx.jsp'; </script>
(5). <jsp:forward página="nextpage.jsp"/> Como: <jsp:forward page="/servlet/login" /> <jsp:página de encaminhamento="/servlet/login"> <jsp:param name="nome de usuário" value="jsmith" /> </jsp:forward> <jsp:forward> passa um objeto de requisição contendo uma solicitação de usuário de um arquivo JSP para outro. <jsp:forward>tag, não será executado. Você pode usar a tag <jsp:param> para transferir parâmetros e valores para o arquivo objeto, que deve ser um arquivo dinâmico capaz de lidar com parâmetros. Se você está usando saída sem buffer, tenha cuidado ao usar <jsp:forward>. Se o arquivo jsp já tiver dados antes de você usar <jsp:forward>, então a execução do arquivo estará errada. Coleção de métodos de salto de página do JSP 1. response.sendRedirct ("Ir para a página"); Esse método modifica a parte HEADER do protocolo HTTP para emitir um comando de redirecionamento para o navegador, de modo que o navegador exiba o conteúdo da página web de redirecionamento. Solicitação não pode passar o valor além disso. Execute todo o código na página antes de pular para a página. Vá para a barra de endereços para mudar. Você pode pular para a page response.sendRedirct(http://www.sun.com) em outro servidor. 2.response.setHeader(); Esse método, assim como response.sendRedirect, é feito modificando a parte HEADER do protocolo HTTP. <% response.setStatus(HttpServletResponse.SC_MOVED_PERMANENTLY); Corda newLocn="/index.html"; response.setHeader("Location",newLocn); % > 3.<jsp:forward page="jump page"/> Esse método usa o mecanismo do servidor para enviar dados para o buffer primeiro; antes de enviar o conteúdo do buffer para o cliente, o original não envia, mas sim o conteúdo da página; se houver muita saída antes do <jsp:forward> a saída anterior já encheu o buffer, será automaticamente enviada ao cliente, então a instrução não funcionará, isso deve receber atenção especial. A solicitação pode transferir o valor para além disso. Vá direto para a página, o código a seguir não é executado. A barra de endereços permanece inalterada após o salto. Não consigo pular para uma página em outro servidor. A imagem não é um caminho absoluto que não pode ser exibido. 4. request.getRequestDispatcher ("Ir para a página"); A solicitação pode transferir o valor para além disso. Execute todo o código na página antes de pular para a página. A barra de endereços de salto permanece inalterada. Você não pode pular para uma página em outro servidor <% RequestDispatcher rd = request.getRequestDispatcher("to.jsp"); rd.forward(request,response); %> Existem 3 formas de redirecionar a saída: RESPONSE. SETREDERECT("URL") Este método modifica a parte HEADER do protocolo HTTP para emitir um comando de redirecionamento para o navegador, de modo que o navegador exiba o conteúdo da página web redirecionada. response.sendRedirect("http://localhost:7001/index.html"); O método a seguir também pode alterar a propriedade HTTP HEADER, que funciona da mesma forma que 1. <%response.setStatus(HttpServletResponse.SC_MOVED_PERMANENTLY); String newLocn="/index.html"; response.setHeader("Location",newLocn); % > < JSP:FORWORD > é adotado Esse método usa o mecanismo do servidor para enviar dados ao buffer primeiro; antes de enviar o conteúdo do buffer para o cliente, o original não envia, mas sim o conteúdo da página; se houver muita saída antes do <JSP:FORWORD> a saída anterior já preencheu o buffer e será automaticamente enviada ao cliente, então a instrução não funcionará, isso deve receber atenção especial. Existem três maneiras de encaixar outra página do JSP dentro de uma página do JSP: 1. Por <%@ include file="header.jsp"%> esse método só consegue realizar carregamento estático de página, sendo mais comumente usado para realizar o carregamento de header.jsp e footer.jsp de cabeçalhos gerais de página em um projeto. 2. Ao <%@ include page="tt.jsp"%> esse método pode realizar carregamento dinâmico da página, mas precisa passar parâmetros para a página; 3. Carregue outra página jsp na página por <iframe src="jsp's path" >, que é um framework inline. Se você usar forward para passar o parâmetro, escreva assim: <%String str="Você está logado!"; %> <jsp:página de encaminhamento="index.jsp> <jsp:param name="name" valor= <%=str%>/> </jsp:forward> |
Anterior:O JSP destrói a sessão da sessão, invalidando o login do usuárioPróximo:Uso da tag jstl <c:if>
|