Problemas com JSP e JavaBeans

4 respostas
N

Fala galera

Tô meio sumido, mas fazer o quê !!!

Seguinte meu projeto de estágio aqui da facu estou começando a fazer. Escolhi java claro. No meu caso Servlets e JSP.

Estou com o seguinte problema, na minha página JSP tem o código:

<jsp:useBean id="produto" class="produtoBean" />

Até aí tudo bem, só que quando compilo ele dá o erro (muito conhecido de todos):

cannot find symbol

Ele dá esse erro no produtoBean. Minha hierarquia é a seguinte:
Páginas JSP: TOMCAT_HOME/webapps/projeto
Servlets e JavaBeans: TOMCAT_HOME/webapps/projeto/WEB-INF/classes

Tenho que colocá-lo(o JavaBeans) em outro lugar ou tenho que mexer em algum descritor de implantação?

Agradeço pela atenção.

4 Respostas

finotti

Neo,

seu Bean não está em nenhum pacote :?:
sugestão: crie um pacote e adicione seu Bean a esse pacote.

Na página, use:

<jsp:useBean id="produto" class="package.ProdutoBean" />

outra coisa: reparei que você nomeou o bean com a inicial minúscula.
Não seria ProdutoBean :?:

N

Realmente meu bean não está em nenhum pacote.
Mas e aí? Depois de colocar ele no pacote o que devo fazer? Onde por esse pacote hein?

Realmente minha nomenclatura de classes não está legal, mas depois eu ajeito isso falou cara. Valeu pela dica.

finotti

Sua aplicação deve seguir essa hierarquia:

TOMCAT_HOME
|-------- webapps
         |-------- PROJETO
                   |-------- WEB-INF
                             |-------- src
                                       |-------- meuPacote
                                                 |-------- ProdutoBean.java           
                             |-------- classes
                                       |-------- meuPacote
                                                 |-------- ProdutoBean.class

Crie uma pasta ‘src’ em WEB-INF, no mesmo nível do diretório ‘classes’.
Dentro do diretório src, crie uma pasta chamada ‘meuPacote’ por exemplo.
Não precisa criar a pasta ‘meuPacote’ dentro do diretório ‘classes’. Essa pasta será criada automaticamente quando o código for compilado.

Quando você compilar o código, os arquivos .class irão para o diretório classes >> meuPacote.

Não se esqueça de alterar o código da classe ProdutoBean. Agora que a classe pertence a um pacote, deve declarar isso no início do código fonte.

package meuPacote;

import ...;

public class ProdutoBean  {

Na página JSP, você vai acessar o Bean dessa forma:

<jsp:useBean id="produto" class="meuPacote.ProdutoBean" />
N

Vou tentar amanhã.

Valeu pela ajuda.

Criado 26 de julho de 2005
Ultima resposta 26 de jul. de 2005
Respostas 4
Participantes 2