Caro amigo Carlos H!!
Sim… a ideia eh realmente o q vc me disse. Irei fazer uma notacao grafica de como estão indo as coisas!!
busca.jsp --> servlet --> Autenticacao.class.
( Se a consulta for retornada com sucesso, a servlet redireciona para consulta.jsp, e esta por fim importa através da diretiva page a serlvet). Eu importei a servlet pois lah existem os gets de retorno da consulta. O problema eh q os gets, retornam para o servlet com os dados… agora, quando a servlet redireciona para consulta.jsp, a mesma q importa a servlet com os gets para fim d avaliacao, retorna null… Porque os dados foram perdidos nesta passagem da servlet, para consulta.jsp??
Estou exibindo o codigo para ficar mais claro.
OBs…como vc percebeu eu retirei a camada d negocio para tentar obter a solução do problema.
////////////////////////////////// (busca.jsp) ////////////////////////////////////
<html>
<head>
<title>Untitled</title>
</head>
<body>
<form action=“http://localhost:8080/Teste/servlet/SolicitaServlet” method=“get”>
<input type=“hidden” name=“solicitacao” value=“FindNome”>
<input type=“hidden” name=“solicitarNome” value=“sori”>
<input type=“submit” value=“Enviar”>
</form>
</body>
</html>
/////////////////////// SolicitaServlet /////////////////////////////////////////
import teste.db.Autenticacao;
import javax.servlet.;
import javax.servlet.http.;
import java.io.*;
public class SolicitaServlet extends HttpServlet implements Serializable {
private String solicitacao;
private String solicitarNome;
private String login;
private String senha;
public void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
processaSolicitacao(req,resp);
}
public void processaSolicitacao(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
solicitacao = req.getParameter("solicitacao");
solicitarNome = req.getParameter("solicitarNome");
PrintWriter saida = resp.getWriter();
if(solicitacao.equals("FindNome") && solicitarNome.equals("sori")) {
solicitarNome(solicitarNome);
resp.sendRedirect("http://localhost:8080/Teste/jsp/consulta.jsp");
//saida.print("<h1>"+ this.getLogin() +", "+ senha +"</h1>");
}else {
saida.print("<h1>Nada encontrado</h1>");
}
}
private void solicitarNome(String newVal) {
Autenticacao oAut = new Autenticacao();
try {
oAut.FindNome(newVal);
login = oAut.getLogin();
senha = oAut.getSenha();
}
catch(Exception e) {
System.out.println("Erro - "+ e);
}
}
public String getLogin() {
return login;
}
}
///////////////////////// Autenticacao.class ////////////////////////////////////
package teste.db;
import teste.db.DB_Conexao;
import java.sql.;
import java.util.;
public class Autenticacao extends DB_Conexao{
private Connection con;
private String login;
private String senha;
private String login2;
private Vector v;
public Autenticacao() {
con = super.getConexao();
}
public String getLogin() {
System.out.print(login+"
");
return login;
}
public String getSenha() {
System.out.print(senha+"
");
return senha;
}
public void FindNome(String newVal) throws Exception {
login2 = newVal;
ResultSet rs = null;
PreparedStatement pstmt = con.prepareStatement("select login,senha from Autenticacao "+
"where login = ?");
pstmt.setString(1,login2);
rs = pstmt.executeQuery();
if(rs.next()) {
login = rs.getString("login");
senha = rs.getString("senha");
}
else
System.out.println("Nada encontrado");
}
}
OBS. Ateh ai se a consulta for realizada com sucesso, a servlet redireciona resp.sendRedirect(“http://localhost:8080/Teste/jsp/consulta.jsp”); para consulta.jsp q abaixo esta a sua implementação.
/////////////////////////// consulta.jsp //////////////////////////////////////
<html>
<head>
<title>Untitled</title>
</head>
<body>
<%@ page import=“teste.db.Autenticacao”%>
<%@ page import=“SolicitaServlet”%>
<%
SolicitaServlet oServ = new SolicitaServlet();
%>
<table border=“1” cellpadding=“1” cellspacing=“0”>
<tr>
<td><%= oServ.getLogin() %></td>
<td> </td>
</tr>
</table>
</body>
</html>