Como compilar o meu servet

meu servlet

[code]import java.sql.;
import java.io.
;
import javax.servlet.;
import javax.servlet.http.
;

public class JDBCExemplo extends HttpServlet {
public JDBCExemplo() {
}

public void doPost(HttpServletRequest req,HttpServletResponse res) throws ServletException, IOException {
        throw new ServletException("Não implementado");
    }

public void doGet(HttpServletRequest req,HttpServletResponse res) throws ServletException, IOException {

    DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());

	Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@999.999.999.4:1521:orcl", "user", "passwd");

	// Query the employee names
	Statement stmt = conn.createStatement();
    ResultSet rset = stmt.executeQuery("select nome from algo_tst");

    // Print the name out
	while (rset.next())
	      System.out.println (rset.getString(1));

    }

}[/code]
linha de compilação:
javac JDBCExemplo -classpath C:\JAVA\JDev\j2ee\home\lib\Servlet.jar;C:\JAVA\JRun4\lib\ojdbc14.jar;C:\JAVA\JDev\jdbc\lib\classes12.jar

Digitando “javac --help” vc tera a forma correta de compilar, que seria

javac  -classpath C:\JAVA\JDev\j2ee\home\lib\Servlet.jar;C:\JAVA\JRun4\lib\ojdbc14.jar;C:\JAVA\JDev\jdbc\lib\classes12.jar JDBCExemplo.java

Rafael

meu problema não eh isso,
e sim um monte de erro que tá dando…

eu estou usando o textpad, que eh quase uma ide
só que eu não sei como compilar este servlet,
estou tedo problemas…

Quais erros estão dando cara?

[quote=proteus_adi]meu problema não eh isso,
e sim um monte de erro que tá dando…

eu estou usando o textpad, que eh quase uma ide
só que eu não sei como compilar este servlet,
estou tedo problemas…
[/quote]

O servlet vc compila com o comando passado anterimente. Se esta dando erros, quais sao eles?

Rafael

[code]C:\Inetpub\wwwroot\PdfExemplo\JDBCExemplo.java:16: unreported exception java.sql.SQLException; must be caught or declared to be thrown
DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
^
C:\Inetpub\wwwroot\PdfExemplo\JDBCExemplo.java:18: unreported exception java.sql.SQLException; must be caught or declared to be thrown
Connection conn = DriverManager.getConnection(“jdbc:oracle:thin:@192.168.100.4:1521:orcl”, “reserv”, “2334267pm”);
^
C:\Inetpub\wwwroot\PdfExemplo\JDBCExemplo.java:21: unreported exception java.sql.SQLException; must be caught or declared to be thrown
Statement stmt = conn.createStatement();
^
C:\Inetpub\wwwroot\PdfExemplo\JDBCExemplo.java:22: unreported exception java.sql.SQLException; must be caught or declared to be thrown
ResultSet rset = stmt.executeQuery(“select nome from algo_tst”);
^
C:\Inetpub\wwwroot\PdfExemplo\JDBCExemplo.java:25: unreported exception java.sql.SQLException; must be caught or declared to be thrown
while (rset.next() ){
^
C:\Inetpub\wwwroot\PdfExemplo\JDBCExemplo.java:26: unreported exception java.sql.SQLException; must be caught or declared to be thrown
System.out.println (rset.getString(1));
^
6 errors

Ferramenta concluída com código de saída 1
[/code]

apenas estes!!!
é com se ele não entendesse sobre recordsets, e cobre conexões!!

Entao, olha o que a mensagem de erro diz:

Isso significa que vc deve colocar as chamadas a metodos que lancem exceptions dentro de blocos try-catch, como em

try {
    // Executa codigo sql
}
catch (Exception e) {
    e.printStackTrace();
}

Rafael

puxa vida…
vou então tentar!


C:\Inetpub\wwwroot\PdfExemplo\JDBCExemplo.java:28: cannot resolve symbol
symbol : variable rset
location: class JDBCExemplo
while (rset.next() ){
^
C:\Inetpub\wwwroot\PdfExemplo\JDBCExemplo.java:29: cannot resolve symbol
symbol : variable rset
location: class JDBCExemplo
System.out.println (rset.getString(1));
^
2 errors

Ferramenta concluída com código de saída 1


eu coloquei um try no código de conexão e outro no código de loop…
mas agora parece que ele não reconhece os recordsets…
o que fazer?

O erro de agora muito provavelmente eh pq vc esta com problemas de escopo. Por exemplo, vc declara uma variavel dentro de um bloco e tenta usar ela fora do mesmo. Tipo:

if (algumaCoisa) {
    // declara a var
    int i = 10;
}

i = 20;

a linha com

i = 20;

vai dar erro pq “int i” foi declarado dentro do bloco de codigo do if() … Procure por algo assim no teu codigo.

Rafael

[quote=proteus_adi]cannot resolve symbol
symbol : variable rset [/quote]

Ele nao esta reconhecendo o simbolo rset. Essa variavel esta declarada?

Marcio Kuchma

velho…
vc tem a manha kra…

agora deu código de saida legal…
num sei se funfa…
mas compilou…


valeuz…


aconteceu uma coisa triste…
o servlet não retorna nada…
parece que não estou direcionando o output pra téla…
ele processa e não me dá nada…[code]import java.sql.;
import java.io.
;
import javax.servlet.;
import javax.servlet.http.
;

public class JDBCExemplo extends HttpServlet {
public JDBCExemplo() {
}

public void doPost(HttpServletRequest req,HttpServletResponse res) throws ServletException, IOException {
        throw new ServletException("Não implementado");
    }

public void doGet(HttpServletRequest req,HttpServletResponse res) throws ServletException, IOException {
    OutputStreamWriter osw = new OutputStreamWriter(res.getOutputStream());
    PrintWriter out = new PrintWriter (res.getOutputStream());

    out.println("aaaa ");
    System.out.println("ouai");

    try{
		DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());

		Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@999.999.9999:1521:orcl", "user", "passwd");

	// Query the employee names
	Statement stmt = conn.createStatement();
    ResultSet rset = stmt.executeQuery("select nome from algo_tst");//algo_tst eh uma tabela com 151 registros
	// Print the name out

	while (rset.next() ){
	    out.println (rset.getString(1));
	    out.println("<br>");
		  }
	}catch(Exception e){
	   e.printStackTrace();
	   out.println(e);
    }

}

}[/code]

Nao sei se eh isso, mas de um out.flush() bem no final.

Rafael

funfou…
eu dei um out.close(); e tambem funfou…

mas aproveitando a ocasião, e o contato com pessoas tão qualificadas…

como eu faço pra pegar o campo nome
tipo rset(“nome”).asString… pq usar indices tá por fora…

Eh soh passar o nome do campo ao inves do indice:

String nome = rset.getString("nome");

Rafael

muito obrigado…