Não estou conseguindo acessar um bean através de uma pagina JSP, coloquei o bean dentro do …/web-inf/classes e ele não acha, quando tento acessar a pagina me reporta do erro:
[color=“orange”]
C:Arquivos de programasApache GroupTomcat 4.1workStandalonelocalhostmetalindex_jsp.java:45: cannot resolve symbol
symbol : class Bean
location: class org.apache.jsp.index_jsp
Bean TBean = null;
[/color]
Everton,
Manda o código do seu JSP e do Bean (se não for muito grande).
Você colocou o Bean compilado dentro da pasta classes?
Vai ser mais fácil ajudar com o código.
Compilei e coloquei o Bean.class dentro do diretório ‘WEB-INFclassescom’
No JSP coloquei a Tag:<jsp:useBean id=“TBean” class=“com.Bean” scope=“session”/>fiz ainda um teste no meio do JSP:<%=TBean.getCodigo()%>
… stop Tomcat… Start… funcionou normal.
Tente colocar um construtor padrão no seu Bean e colocá-lo dentro de um pacote padrão (por exemplo ‘com.Everton’).
[]s
Paulo_Silveira
eh, ta errado ai, ele quis declarar construtor e declarou um metodo
alias, voce pode, em ajva, ter um metodo com nome da classe, retornando void: nao vai ser um construtor, erro classico das pessoas!
mas me parece que o erro nao esta ai, pq isso ai compila e tem o default constructor. deve ser mesmo na hierarquia de pacote e tal!
D
diogompbr
Pois é Paulo! Estava dando uma olhada e também achei que o erro poderia ser na hierarquia do pacote. Mas não sei o porque.
Uma classe sem construtor padrão, tem um construtor padrão criado implicitamente que chama o construtor padrão da sua superclasse (no caso, aqui, a classe java.lang.Object).
Até aí tudo bem pois a classe Bean teria seu construtor implícito criado e tudo funcionaria ok.
Fiz um outro teste e verifiquei que somente quando coloco a classe Bean dentro de um pacote (pode ser o um pacote mínimo, por exemplo ‘com’) o JSP funciona.
Entendi bem isso, mas não sei o porque…
Poderia me explicar? Isso acontece em todos os AppServers?
[]s
E
Everton
Agora deu certo,
O problema não era o construtor, é pq o bean tem que estar dentro de uma package, so fiz isto dai deu certo …