Exemplo comedia de EJB!

5 respostas
F

Oi pessoal ? Tudo beleza ?

Estou com um probleminha veja: Este exemplo não teria que funcionar no Tomcat ? Veja o danado do codigo !!! O que falta para obter êxito da referido exemplo ? Fiz dessa forma: ***********pagina.jsp*************
<html>
<head>
<title>Utilizando um Java Beans</title>
</head>
<body>

<%@page import="SimplesBean"%>
<jsp:useBean id="teste" class="SimplesBean" />
<jsp:setProperty name="teste" property="mensagem" />
Message: <jsp:getProperty name="teste" property="mensagem" />

</body>
</html>
*******SimplesBean.java***********
public class SimplesBean{
   private String mensagem = "Ola mundo !!!";

   public SimplesBean(){}
   public String getMensagem(){
   return(mensagem);
}

   public void setMensagem(String mensagem) {
      this.mensagem = mensagem;
   }
}
************* Agora no tomcat esta dando o seguinte erro:

HTTP Status 500 -

type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

org.apache.jasper.JasperException: Unable to compile class for JSP

An error occurred at line: -1 in the jsp file: null

Generated servlet error:
[javac] Compiling 1 source file

C:\tomcat\work\Standalone\localhost\testebean\BeanSimples_jsp.java:7: '.' expected
import SimplesBean;
^
1 error

at org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:130)
at org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:293)
at org.apache.jasper.compiler.Compiler.generateClass(Compiler.java:353)
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:370)
at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:473)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:190)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:256)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2422)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:171)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:163)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:199)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:828)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:700)
at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:584)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
at java.lang.Thread.run(Thread.java:534)

No tomcat o arquivo SimplesBean esta dentro do REFERIDO CAMINHO

C:\tomcat\webapps\testebean\WEB-INF\src ...........Este é o codigo puro
No tal caminho:
C:\tomcat\webapps\testebean\WEB-INF\classes ------Esta o compilado
O tal arquivo :
pagina.jsp está em :

C:\tomcat\webapps\testebean

O que fazer ?
Mande a forma correta do caso proposto !!!
Valeu a todos...........

8O

[color="green"][size="11"]Use a tag CODE em seus códigos, ela o deixa identado e mais legivel por todos - matheus[/size][/color]

5 Respostas

M

opa, bem-vindo ao Portal e a comunidade! bem.. estamos falando de um Bean normal então.. e não de EJB .. heahea, simples cara, coloque uma instrução package na classe do teu bean, e importe ela... por exemplo:

package com.foo;

public class SimplesBean { 

   private String mensagem = "Ola mundo !!!"; 

   public SimplesBean(){} 
   
   public String getMensagem() { 
      return(mensagem); 
   } 

   public void setMensagem( String mensagem ) { 
      this.mensagem = mensagem; 
   } 
}

..ai tu compila ele com javac -d . SimplesBean.java, assim tu vai ficar com /classes/com/foo/SimplesBean.class certo? ..ai, na tua Jsp, tu importa com com.foo.SimplesBean :)

J

OI

FaJava, seja bem vindo ao PJ :):):):slight_smile:

Olha, aproveita que o Matheus ta estudando EJB agora com um professor muito bom… hehhe… pode perguntar as coisas que ele ta o bicho… :cool: :cool:

T+

M

hahahahahaha, nã nã… oq eu tenho q ler no fórum não é pouca coisa… hahahaha, ah, e se tu quiser um teacher de Oracle JDeveloper 10g, te apresento o jeveaux! :lol: :lol: :lol:

C

E por isso q eu amo o PJ!!! Aqui todo mundo manja!!! rsrrs

Menos eu !!! :sad:

Mas um dia eu chego la!! rsrs

Abracao e te +

F

Completando a dica:

o Tomcat não aceita nenhum Bean que não esteja dentro de um pacote, pois isto não está de acordo com a a Java Code Convention.
Portanto tem que fazer o que o Matheus disse - colocar a instrução ‘package’ no se Bean.

Criado 13 de junho de 2004
Ultima resposta 14 de jun. de 2004
Respostas 5
Participantes 5