Não consigo importar classe de Conexão

8 respostas
Rodrigo4ever
Olá, sou iniciante no mundo java, estou começando fazer um sistema Web com JSP (scriptlets), HTML, PostGres, javascript. Usando o DreamWeaver (Pensando em Mudar)

Não estou conseguindo importar a classe de conexão (Conexao.java), faço :<%@ page import=java.sql.*,classes.Conexao %> e não consigo Instanciar nenhum Objeto. :shock:

Estou fazendo corretamente?

No DreamWeaver não compila arquivo .java? (me falaram)

e Como aqui e o maior site de java e afins, espero que me ajudem

minha classe de Conexão:

Minha classe testa

<%@page contentType="text/html; charset=utf-8" language="java" errorPage="" %>
<%@ page import="java.sql.*,classes.Conexao" %>
<jsp:useBean id="conexao" class="classes.Conexao" scope="session"/>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>

<body>

 <%
 if(Conexao objcon1 = new Conexao("localhost","bd_projeto01","postgres","admin"))
 {
 objcon1.connect();
 out.println("Conectado!");
 }
 else(){
 out.print("Não Conectado!");
 } 
 %>
</body>
</html>

Desculpem os Possiveis erros, e meu primeiro de muitos Posts :?

8 Respostas

Rodrigo4ever

será que alguém poderia me ajudar?
O topico e bem simples, creio que muitos usuarios do Forum entendam de J2EE muito mais que eu.

A

Cara, você importa arquivos Class, e não java. Para que funcione a sua importação, entre no cmd e compile seu .java

Iniciar > Executar : Digitar “cmd”

C:>Arquiv…> cd C:/
entra na pasta que está o .java

C:/aSuaPastaDoArquivoJava > javac seuArquivo.java

e agora pode importar

Rodrigo4ever

:lol:

andre.froes:
Cara, você importa arquivos Class, e não java. Para que funcione a sua importação, entre no cmd e compile seu .java

Iniciar > Executar : Digitar “cmd”

C:>Arquiv…> cd C:/
entra na pasta que está o .java

C:/aSuaPastaDoArquivoJava > javac seuArquivo.java

e agora pode importar

Tou no trampo, vou testar logo que chegar em casa, agora o resto do codigo ta certinho? :roll:
Eu não queria ter que criar uma “nova conexa” para tudo q eu for fazer, por exemplo testar um campo texfild, ter que fazer todo o codigo de conexão, statement, rs… enfim. e possivel se eu importa-lo no inicio da pagina?
outra coisa, percebi que qndo faço uma conexao no banco abrindo um <%…%> especifico, e se eu for abrir outro para aproveitar o ResultSet do anterior eu não o acho, o Tom da um erro de “pointer null” :shock: :shock:?
Significa que toda vez que eu fecho a tag %> ele “mata” a conexao??? tipo não consigo mais acessar meu array de ResultSet???
:evil:
Sei que minhas duvidas são meio Estupidas, mas acho que o forum server pra isso né? :lol:

Obrigado por ter respondido :wink:

Rodrigo4ever

Pow Galera, podem me ajudar aqui???
Uns minutinhos só…
compilei minha classe Conexao.java em .class como sugeriu o andre.froes, mas naum funfou…
Qndo vou instanciar dá o erro: Conexao cannot be resolved
e minhas duvidas da pergunda acima, alguém sabe me explicar?

A

teu código tava gigantesco ali e deu preguiça de ler, mals.

resumindo, vamos criar uma classe conexao aqui e deixar pra tratar os erros depois(você implementa lá)

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;


public class Conexao {
	
	static String senha = "senha";
	static String usuario = "usuario";
	static String host = "jdbc:mysql://localhost:3306/";
	
	public static Connection getConnection() throws ClassNotFoundException, SQLException{
		Class.forName("com.mysql.jdbc.Driver");
		return DriverManager.getConnection(host, usuario, senha);		
	}

}

só adapta ele para o seu bd (eu não conheço postgree)
lembre-se de ter o jar dentro do lib do teu projeto, que é o conector

Ziguifrid

O segredo aí é você adicionar static no seu private.

private static Connection connection = null;

Rodrigo4ever

Não funfou, alguém pode me falar porque não dá certo se eu quiser Instanciar? o correto não seria instanciar??
Faz dias que tou parado na Mesma coisa :frowning:
outra coisa, percebi que qndo faço uma conexao no banco abrindo um <%…%> especifico, e se eu for abrir outro para aproveitar o ResultSet do anterior eu não o acho, o Tom da um erro de “pointer null” ?
Significa que toda vez que eu fecho a tag %> ele “mata” a conexao??? tipo não consigo mais acessar meu array de ResultSet???

A

Rodrigo, você não vai trabalhar com a conexão, você não vai importá-la via scriplet, porque, quem vai estar utilizando ela será, apenas, os seus métodos que dependem de uma conexão. Não tem sentido você importar ela pro seu scriplet.

Olha aqui (utilizando o exemplo da conexao que eu passei antes):

package br.com.fj21.servlet;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;

public class SeusMetodos {
	
	private Connection con;//essa é a  sua conexão
	
	public SeusMetodos() throws ClassNotFoundException, SQLException{
		this.con = teste.getConnection();
	}
	
	
	public void registraAlgumaCoisa(String t) throws SQLException{
		PreparedStatement stmt = this.con.prepareStatement(t);
		
		stmt.setString(1, t);
		
		stmt.execute();
		stmt.close();
	}
	
	//esse registraAlgumaCoisa não compila, é demonstrativo apenas
}

o con ele só serve para fazer a conexão entre a base, nada além disso, e é melhor você já pedir isso no teu método, se não teu código fica muito grande e muito redundante.

uma vez que você criou a classe Conexao, basta agora você solicitar a conexao nos teus métodos e invocar os métodos, que dentro deles, eles mesmos farão essa conexão

lembre-se que eu coloquei o throws e não tratei as exceptions, trate-as sempre!!

Criado 29 de junho de 2010
Ultima resposta 30 de jun. de 2010
Respostas 8
Participantes 3