Problema ao compilar .java

3 respostas
R

Olha eu de novo aí. Iniciante é fogo neh, só pergunta.

Só que pra mim tah mais fácil e rápido perguntar do que ler umlivro inteiro :slight_smile:

Seguinte, criei um site usando servlet, beans e páginas jsp com base em um tutorial que catei por aí (Apostila Servlet/JSP - Alcione de Paiva Oliveira - Universidade Federal de Viçosa). Digitei todo o código, e consegui entender a maior parte do negócio, pelo menos.

O problema foi na hora de compilar os servlets e beans. O primeiro compilou beleza (depois que aprendi finalmente a usar o javac). Mas nos outros o problema é:

LoginBean.java:20: cannot resolve symbol
symbol  : variable ConnectionBean
location: class agenda.LoginBean
                        con = ConnectionBean.getInstance().getConnection();

Esse ConnectionBean é um .java que já foi compilado (já existe o .class no diretório). Precisa referenciá-lo de alguma outra forma? Estou meio perdida ainda :slight_smile:

Lá vai o código todo:

package agenda;

import java.sql.*;
import java.lang.*;
import java.util.*;

public class LoginBean {
   protected String nome = null;
   protected String login = null;
   protected boolean status = false;
	
   public LoginBean(String login, String senha)
   {
      this.login = login;
      Connection con = null;
      Statement stmt = null;
      String consulta = "SELECT nome FROM pessoa, usuario WHERE usuario.id = pessoa.id "+
      "AND usuario.senha = '"+senha+"' AND usuario.login = '"+login+"'";
      try {
         con = ConnectionBean.getInstance().getConnection();
         stmt = con.createStatement();
         ResultSet rs = stmt.executeQuery(consulta);
         if (rs.next()){
	status = true;
	nome = rs.getString("nome");
         }
      } catch (Exception e) {System.out.println(e.getMessage());}
      finally {
	ConnectionBean.getInstance().devolveConnection(con);
	try {stmt.close();}catch(Exception ee){};
      }
   }
	
   public String getLogin(){return login;}
   public String getNome(){return nome;}
   public boolean getStatus(){return status;}
}

Desculpem pelas perguntas, mas é que to começando mesmo no java, do zero.

3 Respostas

J

Cara,
Se ConnectionBean esta dentro de um pacote, vc tem que importar o pacote ou referenciar ele na chamada da classe.

[]'s

T

Posso dizer que não entendi bem o erro… mass…

a classe ConnectionBean está dentro do pactoe agenda??/
c não tiver vc terá que importala… c tiver… esteja certo q esta classe está realmente compilada nesta pasta…

segundo… o método getInstace() existe e é estatico no classe ConnectionBean ?

vlw…

R

a classe ConnectionBean está dentro do pacote agenda, e está compilada na pasta, e o método getInstance existe e é estático.

Aí vai parte do ConnectionBean:

package agenda;

import java.sql.*;
import java.lang.*;
import java.util.*;

public class ConnectionBean{
	private Connection con=null;
	private static int clients=0;
	static private ConnectionBean instance=null;
	
	private ConnectionBean(){ init(); }
	
	static synchronized public ConnectionBean getInstance()
	{
		if (instance == null){
			instance = new ConnectionBean();
		}
		return instance;
	}
	
...

O duro é que não consegui nenhum livro ainda que explique esse lance direito. Alguém teria algum pra me indicar?

Criado 17 de março de 2004
Ultima resposta 17 de mar. de 2004
Respostas 3
Participantes 3