Galera sou novo no fórum e iniciante em java e estou com uma dúvida sobre
como fazer funcionar os seguintes códigos:
OBS: todos compilam normalmente, porém, não funcionam corretamente.
Abaixo midlet para cadastro de clientes:
[code]import javax.microedition.midlet.;
import javax.microedition.lcdui.;
import javax.microedition.rms.;
import javax.microedition.io.;
import java.io.*;
public class CadastroClientes extends MIDlet
implements CommandListener {
//Display do Celular
private Display display;
//Telas que serão exibidas
private Form formDetalhes;
private Form formInc;
private Form formAlt;
private Form formExcluir;
private List listaNomes;
//Caixas de Texto das Telas de Inclusao / Alteracao
private TextField tfNome;
private TextField tfEndereco;
private TextField tfCidade;
private TextField tfUf;
//Comandos de tela
private Command sair;
private Command voltar;
private Command detalhes;
private Command incluir;
private Command alterar;
private Command excluir;
private Command salvar;
private Command cancelar;
private Command salvarRepositorio;
private Command buscarRepositorio;
//RecordId do registro Atual
private int id;
//Variaveis para passagem de campos entre telas
private String nome, endereco, cidade, uf;
//Construtor
public CadastroClientes() {
montarLista();
}
protected void destroyApp(boolean b) {
this.destroyApp(true);
this.notifyDestroyed();
}
protected void pauseApp() {
}
protected void startApp () {
//Tratamento de exceção para a figura que será exibido
try {
display = Display.getDisplay(this);
Alert inicial =
new Alert("CLIENTE","",Image.createImage("/cefet1.png"), null );
inicial.setTimeout(3000);
display.setCurrent(inicial,listaNomes);
} catch (Exception e) { }
}
private void montarLista(){
//Logica para criar e montar a lista
listaNomes = new List("Clientes",List.IMPLICIT);
try {
RecordStore rsCliente =
RecordStore.openRecordStore("rob",false);
byte [] dados = null;
RecordEnumeration reCliente = rsCliente.enumerateRecords(null,null,false);
dados = reCliente.nextRecord();
String aux;
while (reCliente.hasNextElement()) {
aux = new String(dados);
listaNomes.append(
aux.substring(0,aux.indexOf("|")),null);
dados = reCliente.nextRecord();
}
aux = new String(dados);
listaNomes.append(aux.substring(0,aux.indexOf("|")),null);
rsCliente.closeRecordStore();
} catch (Exception e) {
listaNomes.append("Lista Vazia",null);
}
//Criar Comandos da tela principal
sair = new Command("Sair",Command.EXIT,0);
detalhes = new Command("Detalhes",Command.SCREEN,1);
incluir = new Command("Incluir",Command.SCREEN,2);
alterar = new Command("Alterar",Command.SCREEN,4);
excluir = new Command("Excluir",Command.SCREEN,5);
buscarRepositorio = new Command("In Web",Command.SCREEN,6);
salvarRepositorio = new Command("Out Web",Command.SCREEN,7);
//Adicionar Comandos da tela principal
listaNomes.addCommand(sair);
listaNomes.addCommand(detalhes);
listaNomes.addCommand(incluir);
listaNomes.addCommand(alterar);
listaNomes.addCommand(excluir);
listaNomes.addCommand(buscarRepositorio);
listaNomes.addCommand(salvarRepositorio);
//Informar quem vai tratar estes comandos
listaNomes.setCommandListener(this);
//Incluir uma mensagem na primeira linha da tela
Ticker msg = new Ticker("Lista de Clientes do Sistema");
listaNomes.setTicker(msg);
}
//Pesquisar detalhes do cliente
private void tratarDetalhes() {
formDetalhes = new Form("Detalhes");
//método responsável por achar no banco de dados o registro selecionado
//ele valoriza as variaveis nome, endereco, cidade e uf
buscarDados(listaNomes.getString(listaNomes.getSelectedIndex()));
//valoriza o form que contem os detalhes
formDetalhes.append("Nome:"+nome+"\n");
formDetalhes.append("Endereco: "+endereco+"\n");
formDetalhes.append("Cidade: "+cidade+"\n");
formDetalhes.append("Estado: "+uf+"\n");
//cria os comandos do form
voltar = new Command("Voltar",Command.BACK,0);
alterar = new Command("Alterar",Command.BACK,1);
excluir = new Command("Excluir",Command.BACK,2);
//adiciona comandos ao form
formDetalhes.addCommand(voltar);
formDetalhes.addCommand(alterar);
formDetalhes.addCommand(excluir);
//diz quem tratara os comandos
formDetalhes.setCommandListener(this);
//redireciona a tela
display.setCurrent(formDetalhes);
}
private void buscarDados(String s){
try {
RecordStore rsCliente = RecordStore.openRecordStore("rob",false);
byte [] dados = null;
//Cria um RecordEnumeration para percorrer os registros do RMS
RecordEnumeration reCliente =
rsCliente.enumerateRecords(null,null,false);
//armazena o RecordId
id = reCliente.nextRecordId();
//pega detalhes do registro atual
dados = rsCliente.getRecord(id);
//transforma os dados em String
String aux = new String(dados);
//Entra em looping até achar o nome igual ao Selecionado no List
while (reCliente.hasNextElement() && !s.equals(aux.substring(0,aux.indexOf("|")))) {
id = reCliente.nextRecordId();
dados = rsCliente.getRecord(id);
aux = new String(dados);
}
//faz tratamento para separar os quatro campos
int i = aux.indexOf("|");
nome = aux.substring(0,i);
endereco = aux.substring(i+1,aux.indexOf("|",i+1));
i = aux.indexOf("|",i+1);
cidade = aux.substring(i+1,aux.indexOf("|",i+1));
i = aux.indexOf("|",i+1);
uf = aux.substring(i+1,aux.length());
//fecha o banco de dados
rsCliente.closeRecordStore();
} catch (Exception e) {
listaNomes.append("Lista Vazia",null);
}
}
private void montarIncluir() {
formInc = new Form("Inclusão");
//cria as caixas de texto em branco para o usuário digitar
tfNome = new TextField("Nome","",30,TextField.ANY);
tfEndereco = new TextField("Endereco","",30,TextField.ANY);
tfCidade = new TextField("Cidade","",30,TextField.ANY);
tfUf = new TextField("UF","",2,TextField.ANY);
//adiciono componentes no formulário de inclusão
formInc.append(tfNome);
formInc.append(tfEndereco);
formInc.append(tfCidade);
formInc.append(tfUf);
//criar comandos para o formulário
cancelar = new Command("Cancelar",Command.CANCEL,0);
salvar = new Command("Salvar",Command.SCREEN,0);
//adicionar comandos no formulário
formInc.addCommand(cancelar);
formInc.addCommand(salvar);
//diz quem vai tratar os comandos
formInc.setCommandListener(this);
//redireciona a tela para o formulario de inclusão
display.setCurrent(formInc);
}
// Inclui os registro no banco de dados
private void tratarSalvar() {
try {
RecordStore rsCliente =
RecordStore.openRecordStore("rob",true);
String registro = nome + "|" + endereco + "|"+ cidade + "|" + uf;
rsCliente.addRecord(registro.getBytes(),0,registro.length());
rsCliente.closeRecordStore();
} catch (Exception e) {
System.out.println(e.getMessage());
}
//Exibe Alert indicando a inclusão do registro
Alert salvar =
new Alert("Sucesso","Inclusão efetuada com sucesso",null, null);
salvar.setTimeout(3000);
//Monta a lista inicial
montarLista();
//redireciona a tela
display.setCurrent(salvar,listaNomes);
}
private void montarAlterar(){
formAlt = new Form("Alteração");
//método responsável por achar no banco de dados o registro selecionado
//ele valoriza as variaveis nome, endereco, cidade e uf
buscarDados(listaNomes.getString(listaNomes.getSelectedIndex())) ;
//cria os campos com o conteúdo da pesquisa
tfNome = new TextField("Nome",nome,30,TextField.ANY);
tfEndereco = new TextField("Endereco",endereco,30,TextField.ANY);
tfCidade = new TextField("Cidade",cidade,30,TextField.ANY);
tfUf = new TextField("UF",uf,2,TextField.ANY);
//adiciona os componentes na tela
formAlt.append(tfNome);
formAlt.append(tfEndereco);
formAlt.append(tfCidade);
formAlt.append(tfUf);
//cria os comandos
cancelar = new Command("Cancelar",Command.CANCEL,0);
salvar = new Command("Salvar",Command.SCREEN,0);
//adiciona os comandos na tela
formAlt.addCommand(cancelar);
formAlt.addCommand(salvar);
//diz quem ira tratar os comandos
formAlt.setCommandListener(this);
//redireciona a tela
display.setCurrent(formAlt);
}
private void tratarSalvarAlt(){
//exclui o registro na base de dados (Anterior)
tratarExcluir();
nome = tfNome.getString();
endereco = tfEndereco.getString();
cidade = tfCidade.getString();
uf = tfUf.getString();
//adiciona registro alterado na base de dados
tratarSalvar();
//Exibe um alert indicando a alteração
Alert salvar = new Alert("Sucesso","Alteração efetuada com sucesso",null, null);
salvar.setTimeout(3000);
//monta uma nova lista
montarLista();
//redireciona a tela
display.setCurrent(salvar,listaNomes);
}
private void montarExcluir() {
formExcluir = new Form("Cliente");
//método responsável por achar no banco de dados o registro selecionado
//ele valoriza as variaveis nome, endereco, cidade e uf
buscarDados(listaNomes.getString(listaNomes.getSelectedIndex())) ;
//inclui infomações na tela de exclusão
formExcluir.append("Nome:"+nome+"\n");
formExcluir.append("Endereco: "+endereco+"\n");
formExcluir.append("Cidade: "+cidade+"\n");
formExcluir.append("Estado: "+uf+"\n");
//cria comandos da tela
cancelar = new Command("Cancelar",Command.CANCEL,0);
excluir = new Command ("Excluir",Command.SCREEN,0);
//inclui os comandos na tela
formExcluir.addCommand(cancelar);
formExcluir.addCommand(excluir);
//diz quem ira tratar os comandos
formExcluir.setCommandListener(this);
//redireciona a tela
display.setCurrent(formExcluir);
}
private void tratarExcluir(){
try {
RecordStore rsCliente = RecordStore.openRecordStore("rob",false);
//Exclui o registro
rsCliente.deleteRecord(id);
rsCliente.closeRecordStore();
} catch (Exception e) {
System.out.println("erro na inclusão");
}
//Exibe um alert indicando a exclusão do registro
Alert excluir = new Alert("Sucesso","Exclusão efetuada com sucesso",null, null );
excluir.setTimeout(3000);
//Monta uma nova Lista
montarLista();
//Redireciona a tela
display.setCurrent(excluir,listaNomes);
}
private void tratarBuscarRepositorio() {
try {
HttpConnection con = (HttpConnection) Connector.open("http://127.0.0.1:8080/clientes/ClientesServlet?parm=C");
int status = -1;
status = con.getResponseCode();
if (status == HttpConnection.HTTP_OK) {
InputStream is = con.openInputStream();
StringBuffer sb = new StringBuffer();
int lido = is.read();
lido = is.read();
lido = is.read();
int flag = 1;
while (lido != -1) {
byte b1 = (byte) lido;
if (b1 == (byte) '\n') {
if (flag == 1) {
nome = sb.toString();
flag++;
} else if (flag == 2) {
endereco = sb.toString();
flag++;
} else if (flag == 3) {
cidade = sb.toString();
flag++;
} else if (flag == 4) {
uf = sb.toString();
tratarSalvar();
flag = 1;
}
sb.setLength(0);
} else{
sb.append((char)b1);
}
lido = is.read();
}
} else
System.out.println("nao estabeleceu conexao "+status);
} catch (IOException ioe) { System.out.println("deu pau "+ioe.getMessage()); }
//Exibe um alert indicando a exclusão do registro
Alert excluir = new Alert("Sucesso","Celular Atualizado com repositório",null, null );
excluir.setTimeout(3000);
//Monta uma nova Lista
montarLista();
//Redireciona a tela
display.setCurrent(excluir,listaNomes);
}
private void tratarSalvarRepositorio() {
try {
RecordStore rsCliente = RecordStore.openRecordStore("rob",false);
byte [] dados = null;
RecordEnumeration reCliente = rsCliente.enumerateRecords(null,null,false);
dados = reCliente.nextRecord();
String aux;
int i;
StringBuffer sb = new StringBuffer();
while (reCliente.hasNextElement()) {
aux = new String(dados);
//faz tratamento para separar os quatro campos
i = aux.indexOf("|");
nome = aux.substring(0,i);
endereco = aux.substring(i+1,aux.indexOf("|",i+1));
i = aux.indexOf("|",i+1);
cidade = aux.substring(i+1,aux.indexOf("|",i+1));
i = aux.indexOf("|",i+1);
uf = aux.substring(i+1,aux.length());
sb.append(nome+"|"+endereco+"|"+cidade+"|"+uf+"|");
dados = reCliente.nextRecord();
}
aux = new String(dados);
//faz tratamento para separar os quatro campos
i = aux.indexOf("|");
nome = aux.substring(0,i);
endereco = aux.substring(i+1,aux.indexOf("|",i+1));
i = aux.indexOf("|",i+1);
cidade = aux.substring(i+1,aux.indexOf("|",i+1));
i = aux.indexOf("|",i+1);
uf = aux.substring(i+1,aux.length());
sb.append(nome+"|"+endereco+"|"+cidade+"|"+uf+"|<");
rsCliente.closeRecordStore();
HttpConnection con = (HttpConnection) Connector.open("http://127.0.0.1:8080/clientes/ClientesServlet?dados="+sb.toString());
int status = -1;
status = con.getResponseCode();
if (status != HttpConnection.HTTP_OK) {
System.out.println("Nao deu conexao Status "+status);
}
Alert excluir = new Alert("Sucesso","Repositório Atualizado com o Celular",null, null );
excluir.setTimeout(3000);
//Monta uma nova Lista
montarLista();
//Redireciona a tela
display.setCurrent(excluir,listaNomes);
} catch (Exception e) {
}
}
public void commandAction (Command c, Displayable d) {
// botao sair
if (c == sair) {
this.destroyApp(true);
this.notifyDestroyed();
} else
// botao buscar
if (c == detalhes) {
tratarDetalhes();
} else
//botao voltar
if (c == voltar) {
montarLista();
display.setCurrent(listaNomes);
} else
//botao incluir
if (c == incluir) {
montarIncluir();
} else
// menu salvar
if (c == salvar) {
//quando vem do inclusao
if (d == formInc) {
nome = tfNome.getString();
endereco = tfEndereco.getString();
cidade = tfCidade.getString();
uf = tfUf.getString();
tratarSalvar();
//quando vem da alteracao
} else if (d == formAlt) {
tratarSalvarAlt();
}
} else
// menu cancelar
if (c == cancelar) {
montarLista();
display.setCurrent(listaNomes);
} else
// menu alterar
if (c == alterar) {
montarAlterar();
} else
//menu excluir
if (c == excluir) {
// exclui da RMS
if (d == formExcluir) {
tratarExcluir();
//monta tela para exclusao
} else {
montarExcluir();
}
} else {
//buscar dados do repositorio
if (c == buscarRepositorio) {
tratarBuscarRepositorio();
} else
//envia os dados para o repositorio
if (c == salvarRepositorio) {
tratarSalvarRepositorio();
} else
//trata selecao no list implicito
tratarDetalhes();
}
}
}[/code]
Midlet ChamadaEletronica consultar e salvar dados no servidor e RMS
[code]import javax.microedition.midlet.;
import javax.microedition.lcdui.;
import javax.microedition.io.;
import javax.microedition.rms.;
import java.io.*;
public class ChamadaEletronica extends MIDlet
implements CommandListener {
private Display display;
//componentes tela inicial
private List lista;
private Alert splash;
//componentes tela de informar data
private Form frmDados;
private TextField tf;
private Command cmdVoltar;
private Command cmdConfirmar;
//componentes da tela de chamada
private Form frmChamada;
private ChoiceGroup radioGroup;
private ChoiceGroup radioAlunos;
public ChamadaEletronica() {
display = Display.getDisplay( this );
mostrarTelaInicial();
display.setCurrent( lista );
}
public void startApp() {
display.setCurrent( splash, lista );
}
public void pauseApp() {
}
public void destroyApp(boolean unconditional) {
display.setCurrent( null );
this.notifyDestroyed();
}
public void mostrarTelaInicial() {
lista = new List( "Opções da Chamada:", List.IMPLICIT );
splash = new Alert( "CHAMADA ELETRÔNICA" );
try {
splash.setImage( Image.createImage( "/java.png" ) );
} catch ( IOException ioe ) {
System.out.println( "Figura não encontrado" );
}
splash.setTimeout( 2000 );
lista.append( "Fazer Chamada", null );
lista.append( "Consultar Chamada", null );
lista.append( "Buscar Dados Servidor ", null );
lista.append( "Exportar Dados Servidor", null );
lista.setCommandListener( this );
}
public void mostrarTelaInformaData(){
frmDados = new Form( "Informa Dados" );
tf = new TextField( "Data: ", null, 8, TextField.NUMERIC );
StringItem it = new StringItem("Formato", "DDMMAAAA" );
radioGroup = new ChoiceGroup( "Disciplinas",
ChoiceGroup.EXCLUSIVE );
//=====>disciplinas estaticas
radioGroup.append( “Java”, null );
//=====>fim disciplinas estaticas
cmdVoltar = new Command( “Voltar”, Command.BACK, 0 );
cmdConfirmar = new Command( “Confirmar”, Command.OK, 0 );
tf.setString( “27102004” );
frmDados.append( tf );
frmDados.append( it );
frmDados.append( radioGroup );
frmDados.addCommand( cmdVoltar );
frmDados.addCommand( cmdConfirmar );
frmDados.setCommandListener( this );
display.setCurrent( frmDados );
}
public void verificarOpcaoList(){
//Efetuar Chamada
if ( lista.getSelectedIndex() == 0 ) {
mostrarTelaInformaData();
} else if ( lista.getSelectedIndex() == 2 ) {
buscarDadosServidor();
} else if ( lista.getSelectedIndex() == 3 ) {
salvarDadosServidor();
}
}
public void mostrarTelaChamada() {
frmChamada = new Form( "27/10/2004" );
radioAlunos = new ChoiceGroup( "Alunos",
ChoiceGroup.MULTIPLE );
try {
RecordStore rsCliente = RecordStore.openRecordStore("9",false);
byte [] dados = null;
RecordEnumeration reCliente = rsCliente.enumerateRecords(null,null,false);
dados = reCliente.nextRecord();
String aux = "";
while (reCliente.hasNextElement()) {
aux = new String(dados);
System.out.println( "Montando: " + aux );
radioAlunos.append( aux, null );
dados = reCliente.nextRecord();
}
aux = new String(dados);
System.out.println( "Montando: " + aux );
radioAlunos.append( aux, null );
rsCliente.closeRecordStore();
frmChamada.append( radioAlunos );
} catch (Exception e) {
frmChamada.append( "Lista Vazia" );
}
cmdVoltar = new Command( "Voltar", Command.BACK, 0 );
cmdConfirmar = new Command( "Confirmar", Command.OK, 0 );
frmChamada.addCommand( cmdVoltar );
frmChamada.addCommand( cmdConfirmar );
frmChamada.setCommandListener( this );
display.setCurrent( frmChamada );
}
public void buscarDadosServidor() {
int status = -1;
String nome = "";
try {
HttpConnection con =
(HttpConnection) Connector.open("http://127.0.0.1:8080/chamadaeletronica/ChamadaEletronicaServlet?dados=x");
//int status = -1;
status = con.getResponseCode();
System.out.println( "Cheguei aqui" + status );
if (status == HttpConnection.HTTP_OK) {
System.out.println("estabeleceu conexao");
InputStream is = con.openInputStream();
StringBuffer sb = new StringBuffer();
int lido = is.read();
lido = is.read();
lido = is.read();
//int flag = 1;
System.out.println("valor do conteúdo lido <> -1 "+lido);
while (lido != -1) {
byte b1 = (byte) lido;
if (b1 == (byte) '\n') {
nome = sb.toString();
System.out.println( "Salvando: "+nome);
salvarRegistroRMS( nome );
System.out.println( nome );
sb.setLength(0);
} else{
sb.append((char)b1);
System.out.println("Adicionado o caracter "+(char) b1 );
}
lido = is.read();
}
//Exibe Alert indicando a inclusão do registro
Alert salvar = new Alert("Sucesso","Alunos Atualizados com servidor",null, null);
salvar.setTimeout(3000);
//redireciona a tela
display.setCurrent(salvar, lista );
} else {
System.out.println("nao estabeleceu conexao "+status);
}
} catch (IOException ioe) {
System.out.println("deu pau "+status);
}
}
public void salvarRegistroRMS( String nome ) {
System.out.println("cheguei no gravar");
try {
RecordStore rsCliente = RecordStore.openRecordStore("9",true);
System.out.println("Consegui abrir o banco");
String registro = nome;
System.out.println("Consegui valorizar o registro com "+registro);
rsCliente.addRecord(registro.getBytes(),0,registro.length() );
System.out.println("Consegui gravar o registro");
rsCliente.closeRecordStore();
System.out.println("se vc me viu naum tem problema");
} catch (Exception e) {
System.out.println(e.getMessage());
}
}
public void salvarChamada() {
System.out.println("cheguei no gravar");
try {
RecordStore rsChamada = RecordStore.openRecordStore("10",true);
System.out.println("Consegui abrir o banco");
StringBuffer registro = new StringBuffer( tf.getString() );
System.out.println( "Tamanho radioAlunos: " + radioAlunos.size() );
for ( int i = 0; i < radioAlunos.size(); i++ ) {
if ( radioAlunos.isSelected( i ) ) {
registro.append( "C" );
} else {
registro.append( "F" );
}
}
System.out.println("Consegui valorizar o registro com "+registro);
rsChamada.addRecord(registro.toString().getBytes(),0,registro.length() );
System.out.println("Consegui gravar o registro");
rsChamada.closeRecordStore();
System.out.println("se vc me viu naum tem problema");
} catch (Exception e) {
System.out.println(e.getMessage());
}
}
public void salvarDadosServidor() {
try {
RecordStore rsChamada = RecordStore.openRecordStore("10",false);
byte [] dados = null;
RecordEnumeration reChamada = rsChamada.enumerateRecords(null,null,false);
dados = reChamada.nextRecord();
String aux;
int i;
StringBuffer sb = new StringBuffer("|");
while (reChamada.hasNextElement()) {
aux = new String(dados);
sb.append( aux + "|" );
dados = reChamada.nextRecord();
}
aux = new String(dados);
sb.append( aux );
rsChamada.closeRecordStore();
HttpConnection con = (HttpConnection) Connector.open( "http://127.0.0.1:8080/chamadaeletronica/ChamadaEletronicaServlet?dados=" + sb.toString() );
int status = -1;
status = con.getResponseCode();
if (status != HttpConnection.HTTP_OK) {
System.out.println("Nao deu conexao Status "+status);
}
Alert sucesso = new Alert("Sucesso","Repositório Atualizado com o Celular",null, null );
sucesso.setTimeout(3000);
//Redireciona a tela
display.setCurrent( sucesso,lista );
} catch (Exception e) {
System.out.println( "Problemas: " + e.getMessage() );
}
}
public void commandAction( Command c, Displayable d ) {
if ( c == cmdVoltar ) {
if ( d == frmDados ) {
mostrarTelaInicial();
display.setCurrent( lista );
} else
if ( d == frmChamada ) {
mostrarTelaInformaData();
display.setCurrent( frmDados );
}
} else if (c == cmdConfirmar ) {
if ( d == frmDados ) {
mostrarTelaChamada();
} else if ( d == frmChamada ) {
salvarChamada();
splash = new Alert( "Chamada Efetuada com Sucesso..",
"Chamada Efetuada com Sucesso..", null, null );
display.setCurrent( splash, lista );
}
}
else
verificarOpcaoList();
}
}[/code]
Servelt para acesso aos dados:
[code]import java.io.;
import javax.servlet.;
import javax.servlet.http.;
// a linha abaixo precisa ser comentada, esta linha existe no código original
import javax.microedition.rms.;
import java.sql.*;
public class ChamadaEletronicaServlet extends HttpServlet {
private Connection con;
public void init() {
try {
System.out.println( "Achando o Driver " );
Class.forName(“org.postgresql.Driver”);
// preparacao de dados para conexao
String url = “jdbc:postgresql://127.0.0.1/ChamadaAlunos”;
String usuario = “postgres”;
String senha = “ae123456”;
//String url = Conexao.url;
//String usuario = Conexao.usuario;
//String senha = Conexao.senha;
System.out.println( “Estabelecendo conexao” );
con = DriverManager.getConnection(url, usuario, senha);
} catch (ClassNotFoundException e) {
System.out.println( “Classe nao encontrada” );
} catch (Exception e1) {
System.out.println( e1.getMessage() );
}
}
public void destroy() {
try {
this.con.close();
} catch (SQLException e1) { }
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
this.doGet(request, response);
}
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
// configurar tipo de resposta
response.setContentType(“application/octetc-stream”);
//obter DataOutputStream de resposta
DataOutputStream out = new DataOutputStream( response.getOutputStream());
// obtencao do parametro de busca
String dados = request.getParameter( "dados" );
// geracao da pagina HTML
try {
if ( dados.equals( "x" ) ) {
StringBuffer mensagem = new StringBuffer(0);
Statement stmt;
synchronized (this.con) {
stmt = this.con.createStatement();
}
System.out.println( "Criado Statement" );
ResultSet rs = stmt.executeQuery( "select * from alunos order by 1" );
System.out.println( "Criado ResultSet" );
if ( rs.next() ) {
mensagem.append( rs.getString(1) + "\n" );
} else {
mensagem.append("Nada consta.");
}
System.out.println( "Montando Lista" );
while( rs.next() ) {
mensagem.append( rs.getString(1) + "\n" );
}
System.out.println( mensagem.toString() );
out.writeUTF( mensagem.toString() );
rs.close();
stmt.close();
stmt = null;
} else {
int qtdeDatas = 0; //quantidade de datas
int ini = 0;
String data[] = new String[100];
while ( ini != -1 ) {
qtdeDatas++;
data[qtdeDatas] = dados.substring( ini+1, ini + 9 );
ini = dados.indexOf( "|", ini + 1);
}
System.out.println( "**** Criar arq texto ****" );
PrintWriter pout = new PrintWriter( new FileWriter( "/chamadaSD.txt" ) );
StringBuffer linha = new StringBuffer( "Nome" );
for (int j = 1; j<=qtdeDatas; j++ ) {
linha.append( "\t" + data[ j ] );
}
linha.append( "\n" );
pout.println( linha );
System.out.println( linha );
System.out.println( "acessando BD" );
Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery( "Select * from alunos order by 1 desc" );
//acessou o rs sem problemas
int pos = 1;
while ( rs.next() ) {
linha.setLength( 0 );
linha.append( rs.getString( 1 ) );
ini = 0;
String sit = "";
while ( ini != -1 ) {
sit = dados.substring( ini + 8 + pos, ini + 9 + pos );
ini = dados.indexOf( "|", ini + 1);
linha.append( "\t" + sit );
}
pos++;
System.out.println( "1: " + linha );
pout.println( linha );
}
pout.close();
}
} catch (SQLException sql1) {
out.writeUTF("Nada consta..."+sql1.getMessage() );
out.writeUTF("-FIM-");
}
}
}[/code]
O que preciso realmente é fazer a parte que lida com o banco funcionar, queria saber se
preciso de algo mais além desse código para fazê-lo funcionar, tipo um xml.