Pessoal por favor me ajudem!
Escrevi o c�digo a seguir para estabelecer comunica��o applet X Servlet. No
inicio de tudo tentei passar um Vector do applet para o servlet e n�o deu
certo. No AppletViewr funcionava, por�m no browser dava Exception Classe not
found.
Mudei, passei a passaar os dados num objeto List. Agora n�o tem erro, mas
somente funciona no AppletViewer. Pude observar que sempre que chega no
ponto que chamo os m�todos que invocam o servlet � que algo n�o funciona. Na
outra tela onde esta startado o servlet, n�o ocorre nenhuma requisi��o.
TUDO NO APPLETVIEWER � UMA MARAVILHA, MAS QUANDO CHECA NO BROWSER N�O
FUNCIONA.
ESTE � O SERVLET:
import java.io.*;
import java.util.*;
import java.lang.Integer.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.awt.*;
import java.util.Hashtable;
import java.awt.List;
import java.sql.*;
public class TestServlet extends HttpServlet implements Serializable
{
Serializable object = null;
String objStr;
public void doGet(HttpServletRequest req, HttpServletResponse res)
throws ServletException, IOException
{
objStr = GetItemFromList((List)object, 0);
List listasaida = new List();
try {
String PK_Codcli;
String RazaoSocial;
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
String url = "jdbc:odbc:meubanco";
Connection db =
DriverManager.getConnection(url,"Admin","zaza");
Statement sq_stmt = db.createStatement();
String sql_str = "SELECT * FROM TB_AKZ_Clientes";
ResultSet rs = sq_stmt.executeQuery(sql_str);
while (rs.next())
{ listasaida.add(rs.getString("RazaoSocial"));
}
}
catch ( SQLException e)
{System.out.println("Meu Erro - " + e.toString());
}
catch ( java.lang.Exception ex)
{System.out.println("Meu Erro - " + ex.toString());
}
try
{
ObjectOutputStream out=new ObjectOutputStream
(res.getOutputStream());
out.writeObject(listasaida); // Envia Para o Applet.....
out.close();
}
catch ( java.lang.Exception ex)
{System.out.println("Meu Erro - " + ex.toString());
}
}
/*
private void gravasaida( Serializable obj)
{
try
{
ObjectOutputStream out=new ObjectOutputStream
(res.getOutputStream());
out.writeObject(obj); // Envia Para o Applet.....
out.close();
}
catch ( java.lang.Exception ex)
{System.out.println("Meu Erro - " + ex.toString());
}
return;
}
*/
private String GetItemFromList(List objectList, int which)
{
String aString = "";
if((objectList != null) && (objectList.getItemCount()) > 0)
{
aString = objectList.getItem(which);
}
return aString;
}
public void doPost(HttpServletRequest req, HttpServletResponse res)
throws ServletException, IOException
{
try
{
ObjectInputStream in=new ObjectInputStream
(req.getInputStream());
object=(List)in.readObject();
}
catch(Exception e)
{
//object.add("FEHLER");
}
doGet(req, res);
}
}
ESTE � O APPLET:
// Applet Para Teste de Conex�o com Servlet Rodando no Webserver
import java.awt.*;
import java.awt.event.*;
import java.applet.*;
import java.io.*;
import java.net.*;
import java.net.URL;
import java.util.Hashtable;
import java.util.Enumeration;
import java.sql.*;
public class TestApplet extends Applet implements ActionListener,
Serializable
{
/********************* Variaveis ***********************/
Button chama = new Button("Chama Servlet");
List taba = new List();
FlowLayout fl = new FlowLayout(FlowLayout.LEFT);
boolean isStandalone = false;
String servletPath = "/servlet/TestServlet"; // Caminho do
Servlet no Webserver
private URL servletURL;
private String line;
/*****************************************************/
public void init()
{ // Lista a Ser Enviada Para o Servlet
try
{
jbInit();
}
catch(Exception e)
{
e.printStackTrace();
}
try
{
pegadados();
}
catch(Exception e)
{
e.printStackTrace();
}
}
private void pegadados() throws Exception
{
try
{ List tmp = new List();
tmp.add("");
List tabaux = (List)doPostGetObjects(tmp); <=== AQUI N�O
FUNCIONA
add(tabaux);
}
catch(Exception e)
{
e.printStackTrace();
}
}
private void jbInit() throws Exception
{
try
{
setLayout(fl);
add(taba);
taba.add("Banana");
add(chama);
}
catch(Exception e)
{
e.printStackTrace();
}
}
//post Object to Servlet
private void doPostObject(URLConnection conServlet,Serializable obj)
{
try
{
// Cache da URL
conServlet.setUseCaches(false);
// Envio de Dados
conServlet.setDoOutput(true);
// Cria e Abre Sa�da Para Envio
ObjectOutputStream out=new ObjectOutputStream
(conServlet.getOutputStream());
// Escreve o Objeto na Saida
out.writeObject(obj);
// Limpar A Sa�da
out.flush();
out.close();
}
catch(Exception e)
{
e.printStackTrace();
obj=null;
}
}
// Ler Objeto do Servlet
private Serializable doGetObject(URLConnection conServlet)
{
try
{
conServlet.connect();
// Cria Entrada Para os Dados
BufferedInputStream x = new
BufferedInputStream(conServlet.getInputStream());
ObjectInputStream in = new ObjectInputStream (x);
// Le o Objeto
Serializable obj=(Serializable)in.readObject();
// Fechar a Sa�da
in.close();
// Retorna o Objeto
return obj;
}
catch(Exception e)
{
e.printStackTrace();
return null;
}
}
// Abrir a URL e Chamar Get ou Post
public Serializable doPostGetObjects(Serializable obj)
{
try
{
URL urlServlet = GetServletURL(obj);
// Abrir Conex�o Com o Servlet
URLConnection conServlet=urlServlet.openConnection();
// Envia Objeto Para o Servlet
doPostObject(conServlet,obj);
// Busca Objeto do Servlet
return doGetObject(conServlet);
}
catch(Exception e)
{
e.printStackTrace();
return null;
}
}
// Parametros de Cria��o da URL
private URL GetServletURL(Serializable obj)
{
try
{
URL docBase = new URL("http://localhost:8080"); //URL of your
Servlet !!!
servletURL = new URL(docBase, servletPath+"?format="+obj);
return servletURL;
}
catch (MalformedURLException e)
{
e.printStackTrace();
return null;
}
}
//Button Click...
public void actionPerformed(ActionEvent ae)
{
}
}
_________________________________________________________
Oi! Voc� quer um iG-mail gratuito?
Ent�o clique aqui: http://registro.ig.com.br/
------------------------------ LISTA SOUJAVA ----------------------------
http://www.soujava.org.br - Sociedade de Usu�rios Java da Sucesu-SP
d�vidas mais comuns: http://www.soujava.org.br/faq.htm
regras da lista: http://www.soujava.org.br/regras.htm
para sair da lista: envie email para [EMAIL PROTECTED]
-------------------------------------------------------------------------