Você está aqui: Java Servlets ::: Dicas & Truques ::: URLs, Documentos e Páginas

Como redirecionar o navegador para URLs relativas

Quantidade de visualizações: 11199 vezes


Muitas vezes precisamos redirecionar o navegador para URLs relativas, ou seja, páginas JSP ou Servlets que fazem parte da mesma aplicação web. O método sendRedirect() da interface HttpServletResponse pode ser usado para esta tarefa.

Suponhamos que nosso servlet esteja no diretório http://localhost:8080/estudos-servlets e queremos direcionar o navegador para uma página JSP ou Servlet neste mesmo diretório (ou diretórios contidos neste). Tudo que temos a fazer é fornecer o novo endereço sem a barra no início. Veja:
response.sendRedirect("pagina.jsp");
Veja agora como redirecionar para uma página JSP ou Servlet localizada na pasta ROOT (ou em diretórios contidos neste):
response.sendRedirect("/pagina.jsp");
Observe que tudo que fizemos foi adicionar a barra antes do endereço do recurso a ser acessado. Para finalizar, eis o código completo para esta tarefa:
package estudos;

import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;

public class EstudosServlet extends HttpServlet{
  public void service(HttpServletRequest request, 
       HttpServletResponse response) 
       throws ServletException, IOException{
    // direciona para uma URL relativa
    response.sendRedirect("pagina.jsp");
  }
}


Link para compartilhar na Internet ou com seus amigos:

Java Servlets ::: Dicas & Truques ::: URLs, Documentos e Páginas

Como compartilhar dados entre um Java Servlet e uma página JSP usando a requisição HttpServletRequest

Quantidade de visualizações: 8321 vezes
Quando usamos o método forward() da interface RequestDispatcher para direcionar para um outro Java Servlet ou página JSP, tanto o objeto de requisição ServletRequest quanto o objeto de resposta ServletResponse são enviados também. Assim, podemos tirar proveito desta funcionalidade para compartilhar dados entre um servlet e uma página JSP usando a requisição. Vamos ver como isso é possível.

Comece analisando o seguinte servlet:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

package estudos;

import java.io.*;
import jakarta.servlet.*;
import jakarta.servlet.http.*;

public class MeuServlet extends HttpServlet{
  public void doGet(HttpServletRequest request,
    HttpServletResponse response) throws ServletException,
    IOException{

    // cria uma instância da classe Pessoa
    Pessoa p = new Pessoa();
    p.setNome("Osmar J. Silva");

    // vamos colocar o objeto p na requisição
    request.setAttribute("pessoaBean", p);

    // agora direcionamos para a página exibir.jsp
    RequestDispatcher dispatcher = 
      request.getRequestDispatcher("/exibir.jsp");
    dispatcher.forward(request, response); 
  }
}

Note que aqui eu já estou usando o pacote jakarta.servlet em vez de javax.servlet. Confirme se você está usando o Java EE ou Jakarta EE.

Veja que no método doGet() deste Servlet nós temos a criação de uma instância da classe Pessoa (Pessoa.java). Esta classe tem a seguinte estrutura:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

package estudos;

public class Pessoa{
  private String nome;

  public String getNome(){
    return this.nome;
  }

  public void setNome(String nome){
    this.nome = nome;
  }
}

Depois de criada a instância da classe nós a colocamos na requisição atual usando:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

// vamos colocar o objeto p na requisição
request.setAttribute("pessoaBean", p);


O passo seguinte é direcionar a requisição atual para a página exibir.jsp (a View do MVC). Veja o código para esta página:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

<jsp:useBean id="pessoaBean" scope="request"
 type="estudos.Pessoa" />
<html>
<head>
  <title>Estudos Servlet</title>
  <meta http-equiv="Content-Type" content="text/html; 
    charset=iso-8859-2">
</head>
<body>

<h4>Nome da pessoa: <jsp:getProperty name="pessoaBean"
  property="nome" /></h4>

</body>
</html>

Aqui nós estamos usando <jsp:getProperty> para acessar um dos atributos do bean pessoaBean. Poderíamos usar JSTL e EL. Veja:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

<%@ taglib prefix="c" 
  uri="http://java.sun.com/jsp/jstl/core" %>
<jsp:useBean id="pessoaBean" scope="request" 
  type="estudos.Pessoa" />
<html>
<head>
  <title>Estudos Servlet</title>
  <meta http-equiv="Content-Type" content="text/html; 
    charset=iso-8859-2">
</head>
<body>

<h4>Nome da pessoa: <c:out value="${pessoaBean.nome}"/></h4>

</body>
</html>

Fiz o mapeamento deste Java Servlet para a URL http://localhost:8080/estudos/meuservlet. Ao chamá-la nós teremos o seguinte resultado:

Nome da pessoa: Osmar J. Silva


Veja mais Dicas e truques de Java Servlets

Dicas e truques de outras linguagens

Códigos Fonte

Programa de Gestão Financeira Controle de Contas a Pagar e a Receber com Cadastro de Clientes e FornecedoresSoftware de Gestão Financeira com código fonte em PHP, MySQL, Bootstrap, jQuery - Inclui cadastro de clientes, fornecedores e ticket de atendimento
Diga adeus às planilhas do Excel e tenha 100% de controle sobre suas contas a pagar e a receber, gestão de receitas e despesas, cadastro de clientes e fornecedores com fotos e histórico de atendimentos. Código fonte completo e funcional, com instruções para instalação e configuração do banco de dados MySQL. Fácil de modificar e adicionar novas funcionalidades. Clique aqui e saiba mais
Controle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidadesControle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidades
Tenha o seu próprio sistema de controle de estoque web. com cadastro de produtos, categorias, fornecedores, entradas e saídas de produtos, com relatórios por data, margem de lucro e muito mais. Código simples e fácil de modificar. Acompanha instruções para instalação e criação do banco de dados MySQL. Clique aqui e saiba mais

Linguagens Mais Populares

1º lugar: Java
2º lugar: Python
3º lugar: C#
4º lugar: PHP
5º lugar: Delphi
6º lugar: C
7º lugar: JavaScript
8º lugar: C++
9º lugar: VB.NET
10º lugar: Ruby



© 2025 Arquivo de Códigos - Todos os direitos reservados
Neste momento há 30 usuários muito felizes estudando em nosso site.