Como compilar o meu servet

14 respostas
proteus_adi
meu servlet
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));

	    }
}
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

14 Respostas

Rafael_Steil

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

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…

Diogenes

Quais erros estão dando cara?

Rafael_Steil

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…

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

Rafael

proteus_adi
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

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

Rafael_Steil

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

proteus_adi

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?

Rafael_Steil

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

kuchma

proteus_adi:
cannot resolve symbol
symbol : variable rset

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

Marcio Kuchma

proteus_adi

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...
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);
	    }

    }
}
Rafael_Steil

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

Rafael

proteus_adi

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…

Rafael_Steil

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

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

Rafael

proteus_adi

muito obrigado…

Criado 25 de novembro de 2004
Ultima resposta 26 de nov. de 2004
Respostas 14
Participantes 4