RequestDispatcher

4 respostas
M
Estou fazendo uma aplicação que tem tela de login e senha no caso 3 html que se chama : Inicial.html, PgCerta.html, PgErrada.html, mais umservlet que “chama” estes html. Mas o meu servlet não tá funcionando tenho que usar o RequestDispatcher só que ele não faz a conexão. E ainda dó o erro no ; da última linha. Poderiam me ajudar???

code:

<!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.01 Transitional//EN”>

<html>

<head>

<meta http-equiv=“Content-Type” content=“text/html; charset=ISO-8859-1”>

<title>Michelle de Souza </title>

</head>

<body>

<form method=“POST” action=“<a href="http://localhost:8080/TrabalhoWeb/EnviaServlet">http://localhost:8080/TrabalhoWeb/EnviaServlet</a>”>

Login: <INPUT TYPE=text NAME=“nome” size=30 maxlength=“100”>


Senha: <INPUT TYPE=senha NAME=“senha” size=20 maxlength=“100”></form>

<INPUT TYPE=SUBMIT VALUE=“Envia mensagem>

</body>

</html>

PGCERTA

<!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.01 Transitional//EN”>

<html>

<head>

<meta http-equiv=“Content-Type” content=“text/html; charset=ISO-8859-1”>

<title>title>Trabalho do Mauro Monteiro -Unicarioca</title>

</head>

<body>

Parabéns, você tem acesso liberado!!!


</body>
</html>
PGERRADA

<!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.01 Transitional//EN”>

<html>

<head>

<meta http-equiv=“Content-Type” content=“text/html; charset=ISO-8859-1”>

<title>title>Trabaho do Mauro Monteiro -Unicarioca</title>

</head>

<body>

Você não tem acesso !!!


</body>
</html>
import java.io.IOException;

import javax.servlet.ServletException;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import java.io.PrintWriter;

import javax.servlet.RequestDispatcher;

/**

  • Servlet implementation class for Servlet: EnviaServlet
<em>/

public class EnviaServlet extends javax.servlet.http.HttpServlet implements javax.servlet.Servlet {

/</em> (non-Java-doc)
  • @see javax.servlet.http.HttpServlet#HttpServlet()
    */
    public EnviaServlet() {
    super();
    }

/* (non-Java-doc)

  • @see javax.servlet.http.HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
    */
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    // TODO Auto-generated method stub
    }

/* (non-Java-doc)

  • @see javax.servlet.http.HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
    */
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    // TODO Auto-generated method stub
    String PgCerta = new String( “PgCerta.html” );
    String PgErrada = new String( “PgErrada.html” );
    RequestDispatcher requestDispatcher = null;
    String nome = request.getParameter(“nome”);
    String senha = request.getParameter(“senha”);
if( nome.equalsIgnoreCase( Michelle ) ){

if(senha.equalsIgnoreCase(2109)){

requestDispatcher = request.getRequestDispatcher( PgCerta );

}

else {

requestDispatcher = request.getRequestDispatcher( PgErrada );
}

}

if(nome.equalsIgnoreCase(mauro)){

if(senha.equalsIgnoreCase(1234)){

requestDispatcher = request.getRequestDispatcher( PgCerta );
}

else{

requestDispatcher = request.getRequestDispatcher( PgErrada );

}
}

requestDispatcher.forward( request, response );

4 Respostas

C

ao inves de colocar protected void doGet
coloca public void doGet

M

o Problema que tá dando é no ; da última linha que não pode ser fechada com }(chaves) e não tô conseguindo chamar as páginas.

B

Boa noite, querida!
Estou tendo um problema, que creio seja semelhante ao seu. Já tentei instanciar um objeto RequestDispatcher várias vezes e não estou conseguindo, tentei fazendo referência a um objeto RequestDisptcher em sim, mas não consegui então resolvi fazer uso de um método de um objeto HttpServletRequest, mas também não deu certo, gostaria de saber se você tem alguma dica para me passar a respeito??

D

Comigo funciona pefeitamente desta forma:

Criou um servlet…

public class registraLogin extends HttpServlet {

e depois no método doPost ou doGet…

protected void doPost(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
        RequestDispatcher rd = request.getRequestDispatcher("/index.jsp");
        rd.forward(request,response);
    }

E no seu primeiro exemplo, podemos observar que existem vários if aninhados… e que existe a possibilidade do requestDispatcher não ser definido…

faça o seguinte teste, nesta parte do código:

String PgErrada = new String( "PgErrada.html" ); RequestDispatcher requestDispatcher = null; String nome = request.getParameter("nome"); String senha = request.getParameter("senha");

Por este:

String PgErrada = new String( "PgErrada.html" ); RequestDispatcher requestDispatcher = request.getRequestDispatcher( PgErrada ); String nome = request.getParameter("nome"); String senha = request.getParameter("senha");

O caso padrão é pessimista… então depois você só trata o inverso.

fw

Criado 6 de maio de 2006
Ultima resposta 14 de out. de 2006
Respostas 4
Participantes 4