Problemas com J2EE 1.5 e servidor Tomcat

Fala aí gente…
To precisando muito de ajuda. É o que falta pra terminar minha monografia… Por isso vcs devem entender o meu desespero nesse momento… :cry: :cry: :cry:

Deparei-me com um problema que pra mim é mto estranho e que minha pouca experiência com sistemas web e J2EE não me permite resolver sozinho :sad:

O cenário é o seguinte…
Eu tenho um applet que se comunica com um servlet. Tanto applet qt servlet se valem de váááárias outras classes…
À principio eu programei tudo no netbeans em projetos separados (Projetos que não eram “Aplicação Web” apenas projetos comuns mesmo)
Depois, baixei e instalei o Tomcat 5.0 e fiz toda a estrutura na munheca mesmo lá dentro da Webapps (de acordo como o explicado no livro do Deitel, 6ª Ed.)
Pra resumir toda a história: Não funcionou nem por reza braba!!!
Se eu clicasse com o botão direito no aarquivo .html e pedisse “Abrir com…” e depois selecionasse o meu browser, a página era exibida junto com o applet tudo bunitinho, perfeito.
Mas, fazendo a requisição http no browser, o Tomcat me entregava a página sem o Applet, isto é, o applet não era exibido. Em seu lugar aparecia um quadrado branco com um X vemelho.
Levei isso ao meu professor, e ele tbm não conseguiu resolver o problema.
Ele me sugeriu juntar tudo num projeto Web no netbeans e usar o tomcat que já vem embutido no netbeans tbm, pq aí eu não teria que me preocupar com nada, pq o netbeans iria fazer as ligações necessárias e talz…

Bom, eu acatei a ideia dele fui tentar fazer isso né.
Criei o projeto web e logo qd comecei a copiar os arquivos lá pra dentro já me deparei com o primeiro problema.
Muitas das minhas classes (muitas mesmo) fazem uso de campos genéricos. Logo de cara apareceu um erro dizendo que o J2EE 1.4 não aceita tipos genéricos e que eu deveria ter o J2EE 1.5. Fui no site da sun e baixei um arquivo que vinha J2EE 1.5 + SDK e talz… Instalei a plataforma e pensei que o netbeans iria automaticamente enxergar o J2EE 1.5.
Mas não aconteceu isso… deletei o projeto que tinha criado e tentei criar outro, mas não apareceu a opção de escolher a versão 1.5. Lá só aparecem as versões 1.3 e 1.4.
Então, o que eu fiz de errado? Tem que fazer essa inclusão do J2EE 1.5 no netbeans manualmente mesmo???

Outra encrenca é com o Tomcat embutido do Netbeans tbm…
Acontece que a minha senha de manager não funciona neeeeem a pau…
Antes eu nem sabia do que se tratava essa senha, mas postei noutra comunidade e me explicaram tudo e falaram sobre o arquivo tomcat-users.xml.
Fui lá nesse arquivo e configurei o usuário manager… tanto no tomcat embutido no netbeans, quanto no tomcat 5.0 que eu tenho instalado na máquina.
Aí, o que tá acontecendo é o seguinte… Eu crio um projeto web escolhendo tomcat 5.0 como servidor. Aí vou lá naquele index.jsp que já vem criado automaticamente e peço pra executar arquivo. Ele pede a senha e eu digito. Funciona, mas o arquivo não abre. Diz que o caminho não foi encontrado. Eu acredito q é pq o netbenas não cria a estrutura apropriada dentro da Webapps lá no C:/jakarta-tomcat5.0.25… seria esse o motivo do arquivo não abrir? Não estou certo, mas parece que se a estrutura não está dentro da pasta webapps, eu tenho que configurar um arquivo no tomcat não é? Gostaria de alguma explicações sobre isso, se possível…
Bom, continuando…
Como eu disse, eu tbm configurei o arquivo tomcat-users do tomcat embutido no netbeans e criei um usuário manager lá…
Aí eu faço o mesmo processo: Crio um proeto web, mas agora escolhendo o tomcat embutido como servidor. Vou lá no index.jsp que ja vem criado com o projeto e mando executar, daí ele me pede a senha… E o que acontece é que simplesmente não passa… Eu digito o login, digito a senha, e não dá certo… ele fica eternamente pedindo login e senha… Alguém sabe porque raios isso acontece???

Bom a problemática toda é essa…
J2EE 1.5 que preciso dele instalado e do netbeans enxergando pra poder rodar minhas classes com tipos genéricos…
Tomcat (seja o 5.0 instalado por mim, ou o embutido no netbeans) aceitando a senha e servido a página…
É isso gente… conto com a vossa ajuda, pq já tentei de um tudo e esses últimos dias têm sido penosos e estressantes =(

Desde já, grato

Quando der um erro em um applet, clique com o botão direito na area que apresenta o X e peça para exibir o console, aí você poderá ver qual a exceção está sendo lançada que impede que o applet seja mostrado. O applet TEM que funcionar sem o Netbeans, não acho que simplesmente usar o tomcat do netbeans seja o caminho ideal a seguir.

mas o applet funciona sem o netbeans…
não viu que eu disse que se eu vou no arquivo da página html e clico com o botão direito e então peço pra abrir com um browser, a página com applet com tudo é exibida perfeitamente…

Só não funciona com o tomcat…
e é justamente onde tem que funcionar, já q eu quero isso na web né…

Vamos por partes:

Primeiro Generics é para Java 5 e não para JEE 5 você pode perfeitamente trabalhar com JEE 4 (J2EE 4 como prefirir) em Java 5 basta no NetBeans dá um clique como o botão direito no projeto e modificar o source para Java 5.

Quanto a senha do Manager essa fica dentro do arquivo tomcat-users.xml que fica na pasta conf do Tomcat… A questão é onde está a pasta conf? Dê um clique com o botão direito no Tomcat que está utilizando na Aba Servers e descubra nas propriedades.

Para ajudar a fazer o Applet rodar na sua página seria interressante que você postasse também sua estrutura de diretórios… Só um detalhe, um applet é um classe java compilada e tem que ficar em uma pasta acessível a sua html, ou seja tem que ficar dentro da pasta WEB (ou de suas subpastas) do seu projeto Java/Web.

Posta as dúvidas aos poucos e de forma mais especifica, resolver pequenos problemas é melhor do que resolver grandes.

Eu entendi que o applet funciona sem o netbeans, mas quiz dizer que ele tem que funcionar de qualquer jeito, com tomcat do netbeans, com o outro tomcat, enfim, se der uma olhada na exceção que está lançando já ajudaria você a saber o que é.

Tá Evandro… Então vamos por parte:

[quote=Evandro1979]Vamos por partes:

Primeiro Generics é para Java 5 e não para JEE 5 você pode perfeitamente trabalhar com JEE 4 (J2EE 4 como prefirir) em Java 5 basta no NetBeans dá um clique como o botão direito no projeto e modificar o source para Java 5. [/quote]

Beleza… isso já mata o primeiro problema. Apesar do que eu me lembro perfeitamente de ter lido em algum site que pra rodar classe com capos Generics, tem que ter o J2EE 1.5… mas é óbvio que essa informação podia mto bem não ser verdadeira.

Mas como assim mudar o source pra Java 5?
Não entendi isso…

Como eu me perco nas várias siglas do Java, deixe-me dizer o que eu tenho instalado para então vc me dizer se eu Tenho o que vc chama de Java 5:

J2SE Development Kit 5.0,
J2SE Runtime Enviroment 5.0,
Java Plataform Enterprise Edition 5 SDK e
Java ™ 6 Update 3.

Tá, se eu não tenho, o que devo fazer pra ter?
Se eu tenho, como mudar o source pra ele?
Pq do jeito que vc explicou antes ("…basta no NetBeans dá um clique como o botão direito no projeto e modificar o source para Java 5.") ainda não deu pra achar…

Eu sei exatamente onde está essa pasta conf do tomcat embutido no netbeans e já fui lá criei o usuário manager (pq ele não existia) com login e senha e talz…
mas mesmo assim, qd pede pra digitar o login, não funciona nem a pau… e eu não to digitando nada errado.

[quote=Evandro1979]Para ajudar a fazer o Applet rodar na sua página seria interressante que você postasse também sua estrutura de diretórios… Só um detalhe, um applet é um classe java compilada e tem que ficar em uma pasta acessível a sua html, ou seja tem que ficar dentro da pasta WEB (ou de suas subpastas) do seu projeto Java/Web.
[/quote]

a minha estrutura de diretórios é a seguinte:

  • Solver (dentro do diretório webapps do tomcat)

– aplicacao (diretório onde encontra-se a página html, o .class do applet e várias outras classes que o applet utiliza)

– WEB-INF
— classes (diretório onde encontra-se um servlet e várias classes que este servlet utiliza)
— web.xml

Como vc pode ver, o .class do applet está acessível à página web, pq eles estão na mesma página!

Bom, eu fiz o que vc falou e agora fiquei ainda mais bolado…
A exceção diz que a classe “AppSolver” (que é a classe do meu applet) não foi encontrada… o que é um absurdo, pq a página html e a classe estão no mesmo diretório…
e se a ckasse não pudesse ser encontrada, tbm teria que dar errado qd eu tentasse pelo método “Abrir com…” e escolhesse um browser… e se eu tento deste jeito, funciona normalmente. Ou seja, o problema está relacionado ao tomcat…

deixe-me transcrever a exceção aqui:

java.lang.ClassNotFoundException: AppSolver
at sun.applet.AppletClassLoader.findClass(Unknown Source)

(e continua por muitas linhas…)

Clique com o botão direito no projeto vá para propriedade e escolha formato do código fonte/binário: JDK 5 - dá para escolher até mesmo o 1.2.

Bom já dá para ver que você tem sim.

Só para lembrar, para fazer o deploy de aplicações o Netbeans precisa do usuário e senha do tomcat, quando ele instala esse já vei por padrão (com uma senha louca) se você mudar tem que mudar também nas propriedades dos server no Netbeans (mesmo processo, botão direito, propriedades…).