Servlet não funciona

2 respostas
V
Tenho um Applet que deve enviar dados para um Servlet da seguinte forma:
try
        {
            URL codeBase = getCodeBase();
            URL url = new URL("http", codeBase.getHost(), codeBase.getPort(),
                "/amdi/Image");
            JOptionPane.showMessageDialog(null, url);
            URLConnection connection = url.openConnection();
            //informa o tipo da conexão
            connection.setDoOutput(true);
            //não usa cache na conexão de URL
            connection.setUseCaches(false);
            connection.setDefaultUseCaches(false);
            //seta o valor do header Content-Type para octet-stream
            connection.setRequestProperty("Content-Type",
                "application/octet-stream");
            //cria o stream para enviar as informações
            ObjectOutputStream out = new
                ObjectOutputStream(connection.getOutputStream());
            //envia o objeto e fecha a conexão
            out.writeObject(objetoEnviado);
            out.flush();
            out.close();
        }
        catch(MalformedURLException e)
... ... ... ... ... ... ... ... ... ...
O Applet esta localizado no diretório raiz do meu Servlet que tem o seguinte código:
protected void doPost(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException
    {
        try
        {
            log("Gravação de arquivo");
            //faz a leitura dos dados enviados através da web
            ObjectInputStream input = new
                ObjectInputStream(request.getInputStream());
            Vector informacoes = (Vector) input.readObject();
            input.close();
             ...  ... ...
            
            synchronized(this)
            {
                //cria um arquivo e insere os dados nele
                FileWriter fileOut = new
                     FileWriter("arquivos/nomeArquivo");
                fileOut.write(informacoes.elementAt(0) );
                ... ... ...
                fileOut.flush();
                fileOut.close();
            }// end synchronized
            
        }
        catch(Exception e)
        {
            log(e.getMessage());
        }
    }
O problema é que quando executo o código do Applet não recebo nehum sinal de erro ou alguma falha mas tambem o código do Servlet não é executado de forma alguma. O deploy do Servlet foi feito de forma correta, pois ja testei ele e está tudo bem.

O que estou fazendo errado?

2 Respostas

C

Olá,
Desculpe a pergunta retórica, mas o applet está Assinado?
Se não estiver vc não poderá fazer I/O com o seu applet.

Para assinar há varios posts aki no forum falando sobre isso!!!
Mas esse em especial tem um .bat pra vc assinar quase automaticamente, veja:
http://www.portaljava.com/home/modules.php?name=Forums&file=viewtopic&t=8293

Até mais!

V

Desculpe se estou errado, mas um Applet pode enviar dados para a mesmo local onde ele está hospedado. E também não estou recebendo nenhum erro de permissão negada. Além do que estou comunicando com outro Servlet para obtenção de dados em uma imagem e está ocorrendo tudo bem (mas somente obtenho os dados).

Acho que não é problema de assinatura não.

Posso estar errado! Mas o que me intriga é que não recebo nenhum erro! :cry:

Criado 11 de setembro de 2004
Ultima resposta 13 de set. de 2004
Respostas 2
Participantes 2