Falha ao executar uma lista encadeada numa página JSP

Tenho o seguinte código:

   Package Nodo;
   import java.util.*;
   import java.lang.*;

   public class No{
      public String valor;
      public No prox;

      public No(String valor){ this.valor = valor; prox = null; }
   }

   Package Site;
   import java.util.*;
   import java.lang.*;
   import Nodo.*;

   pubic class Compras{
      private No inicio = null, fim = null;
      private frase = "Lista não funciona em JSP. Não sei mais o que fazer !!!";

      public void Insere(String valor){
         No novo = new No(valor);
         if(inicio == null){ inicio = fim = novo; }
         else{ fim.prox = novo; fim = novo; }
      }

      public String Teste(){
         return(frase);
      }
   }      

Bom é o seguinte. Estou fazendo uma aplicação em JSP e a Lista não funciona na página, mas funciona em no console. Ou seja, ela funciona. Estou fazendo tudo corratamente em relação a hierarquia de diretórios do JSP (TomCat): WEB-INF --> Classes e Lib. Dentro das classes vão meus pacotes. Neste caso o pacote Site dentro do diretório Site. Já o pacote Nodo, este fica em Lib. Seto a variável de ambiente CLASSPATH, para que as classes possam compilar e encontrar outros pacotes. O problema é que a Lista não funciona (dá um erro a qual o compilador não determina que erro é esse), mas a função Teste() funciona normalmente. Como eu já disse, já testei o código no console (fazendo alguns testes depois imprimindo toda a lista na tela) e funciona normalmente, mas não funciona na página JSP. Já a função Teste() funciona, imprimindo em um out.println("

"+obj.Teste()+"

") perfeitamente.
<jsp:useBean id=“obj” class=“Site.Compras” scope=“session” /> —> Compras obj = new Compras();

Não se mas o que fazer. Já tentei de tudo. Agradeço desde então por qualquer ajuda.

Seu código Java não compila… é isso mesmo ou você postou uma versão errada dele?

Não. O Código compila perfeitamente, gerando as classes as quais serão utilizadas pelo JavaBean. Acontece o que a função Insere(String valor) causa um erro na página que eu não sei por quê. Jogando a função para executar no console, funciona perfeitamente.

pubic class Compras{
isso compila?

Eu escrevi errado. É public. Mas os códigos .java compilam sim !!! gerando as classes a serem usadas pela página JSP.

Andréia, você poderia postar qual o erro com mais precisão?
Na minha opinião pode ser que em algum momento no seu sistema você pode estar recriando o objeto com a lista encadeada, ou então você pode ter algum tipo de problema ao utilizar o proprio bean no seu jsp.

Obs.: Percebi que suas classes não estão seguindo as convenções de código da “Sun”, nem os padrões javaBeans para definição dos getters e setters… Isso pode influenciar durante a utilização no seu jsp.

Obs II: você não pode utilizar um objeto LinkedList da propria api de collections do java para sua lista encadeada?

Achei também este post a respeito de listas encadeadas no google:
http://aeloy.blogspot.com/2008/02/estruturas-de-dados-com-java-lista_5045.html

Sim, eu posso utilizar um objeto LinkedList da propria api de collections do java para sua lista encadeada, mas gosto de usar minhas próprias listas.
O compilador não demonstra de forma exata o que poderia ser o erro.
Vou usar as convensões getters e setters, mas acho que não vai resolver não.
Obrigado pela ajuda.

É Andre e não Andréia.

Já que as classes funcionam, poste o código da página JSP.

André desculpe pela confusão com seu nome :smiley:

Já era tarde da noite quando eu estava lendo seu post.

Então… tem como vocÊ postar o stack trace do que ocorre no log do tomcat ou qqer outro server que esteja usando?

Deve estar sendo gerado algum tipo de erro…

Vou fazer mais alguns testes. Se continuar o erro posto o código no site.
Agradeço a ajuda de todos.