Foros del Web » Programación para mayores de 30 ;) » Java »

Error al crear un Bean

Estas en el tema de Error al crear un Bean en el foro de Java en Foros del Web. Cuando quiero usar una clase (o Bean) sale un error algo como esto: "No se puede cargar la clase en el JSP." Esto es lo ...
  #1 (permalink)  
Antiguo 31/05/2011, 13:56
Avatar de ARICARRARO  
Fecha de Ingreso: diciembre-2010
Ubicación: México
Mensajes: 227
Antigüedad: 13 años, 3 meses
Puntos: 10
Error al crear un Bean

Cuando quiero usar una clase (o Bean) sale un error algo como esto:

"No se puede cargar la clase en el JSP."

Esto es lo que hago.

1. Crear un clase llamada Prueba.java

Código PHP:
package pruebas;

public class 
Prueba{

 public 
Prueba(){

 }

 static 
int Suma(int xint y){
 return 
x+y;
 }

 static 
in Resta(int xint y){
 return 
x-y;
 }



2. Y la compilo con:
javac -g Prueba.java

Y se crea la clase Prueba.class dentro del directorio 'pruebas' en la dirección

C:\Archivos de programa\Apache Software Foundation\Tomcat 7.0\webapps\ROOT\WEB-INF\classes

3. Ahora creo un fichero jsp con el nombre index.jsp

Código PHP:
<%@ page contentType="text/html; charset=iso-8859-1" language="java" import="pruebas.Prueba" errorPage="" %>
<!
DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<
html xmlns="http://www.w3.org/1999/xhtml">
<
head>
<
meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<
title>::Prueba Bean::</title>
</
head>
<
body>
<!-- 
aqui pongo el código jsp -->
Suma 14+5=
<%= 
Prueba.Suma(14,5) %>
<
br/>
Resta 10-4=
<%= 
Prueba.Resta(10,4) %>
</
body>
</
html
4. Ya intenté otras formas como el de crear una carpeta en:
C:\Archivos de programa\Apache Software Foundation\Tomcat 7.0\webapps\ROOT\pages

Hago los pasos 1 y 2 y sigue saliendo ese error

¿Donde debo crear la clase?
  #2 (permalink)  
Antiguo 31/05/2011, 14:32
Avatar de ARICARRARO  
Fecha de Ingreso: diciembre-2010
Ubicación: México
Mensajes: 227
Antigüedad: 13 años, 3 meses
Puntos: 10
Respuesta: Error al crear un Bean

Otra forma es con:
C:\Archivos de programa\Apache Software Foundation\Tomcat 7.0\webapps\ROOT\WEB-INF

Aqui crea tres directorios:
classes --> para los ficherso *.class
lib -->para los *.jar
src --> para los *.java

Ahora en el directorio classes
C:\Archivos de programa\Apache Software Foundation\Tomcat 7.0\webapps\ROOT\WEB-INF/classes/prueba

compilo la clase y me genera el Prueba.class

y sigo con el mismo error

Última edición por ARICARRARO; 31/05/2011 a las 14:33 Razón: orden
  #3 (permalink)  
Antiguo 31/05/2011, 17:36
Avatar de Xerelo  
Fecha de Ingreso: mayo-2009
Mensajes: 2.175
Antigüedad: 14 años, 10 meses
Puntos: 306
Respuesta: Error al crear un Bean

Creo que este es el problema

Cita:
default access modifier

Java provides a default specifier which is used when no access modifier is present. Any class, field, method or constructor that has no declared access modifier is accessible only by classes in the same package. The default modifier is not used for fields and methods within an interface.
__________________
Cada vez que solucionas los problemas de alguien que no se esfuerza, piensa en que el día de mañana puede llegar a ser tu compañero de trabajo, o peor, tu jefe.
  #4 (permalink)  
Antiguo 31/05/2011, 19:49
Avatar de ARICARRARO  
Fecha de Ingreso: diciembre-2010
Ubicación: México
Mensajes: 227
Antigüedad: 13 años, 3 meses
Puntos: 10
Respuesta: Error al crear un Bean

Gracias por la respuesta, pero creo que no es lo mismo. Sigo teniendo el problema.
  #5 (permalink)  
Antiguo 01/06/2011, 00:55
Avatar de Xerelo  
Fecha de Ingreso: mayo-2009
Mensajes: 2.175
Antigüedad: 14 años, 10 meses
Puntos: 306
Respuesta: Error al crear un Bean

El fichero debería estar en la siguiente ruta
Cita:
...\WEB_INF\classes\prueba\Prueba.class
y eso parece que lo has hecho.

A veces da problemas al hacer hacer un import de una sola clase en el JSP, prueba a importar todo el paquete.

Cita:
<%@page import="pruebas.*"%>
Pon el mensaje de error, porque con lo que has puesto no llega.
__________________
Cada vez que solucionas los problemas de alguien que no se esfuerza, piensa en que el día de mañana puede llegar a ser tu compañero de trabajo, o peor, tu jefe.
  #6 (permalink)  
Antiguo 01/06/2011, 10:02
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 8 meses
Puntos: 416
Respuesta: Error al crear un Bean

Cita:
Iniciado por ARICARRARO Ver Mensaje
Gracias por la respuesta, pero creo que no es lo mismo. Sigo teniendo el problema.
¿Osea que intentaste setear los métodos estáticos que tienes en tu clase prueba como publicos?
  #7 (permalink)  
Antiguo 01/06/2011, 14:02
Avatar de ARICARRARO  
Fecha de Ingreso: diciembre-2010
Ubicación: México
Mensajes: 227
Antigüedad: 13 años, 3 meses
Puntos: 10
Respuesta: Error al crear un Bean

Cita:
Iniciado por Ronruby Ver Mensaje
¿Osea que intentaste setear los métodos estáticos que tienes en tu clase prueba como publicos?
Si, asi lo hice y sigue el mismo error.
  #8 (permalink)  
Antiguo 01/06/2011, 14:09
Avatar de ARICARRARO  
Fecha de Ingreso: diciembre-2010
Ubicación: México
Mensajes: 227
Antigüedad: 13 años, 3 meses
Puntos: 10
Respuesta: Error al crear un Bean

Error completo:

Código Apache:
Ver original
  1. type Informe de Excepci&#243;n
  2.  
  3. mensaje
  4.  
  5. descripci&#243;n El servidor encontró un error interno () que hizo que no pudiera rellenar este requerimiento.
  6.  
  7. excepci&#243;n
  8.  
  9. org.apache.jasper.JasperException: Ha sucedido una excepci&#243;n al procesar la página JSP /pages/pro6.jsp en línea 20
  10.  
  11. 17: <body id="carraro2">
  12. 18: <h2>Uso de Java beans</h2>
  13. 19: Suma 5+6=
  14. 20: <&#37;= Prueba.Suma(5,6) %>
  15. 21:
  16. 22: Resta 14+8=
  17. 23: <%= Prueba.Resta(14,8) %>
  18.  
  19.  
  20. Stacktrace:
  21.     org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:553)
  22.     org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:442)
  23.     org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
  24.     org.apache.jasper.servlet.JspServlet.service(JspServlet.java:333)
  25.     javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
  26.  
  27. causa ra&#237;z
  28.  
  29. javax.servlet.ServletException: java.lang.NoSuchMethodError: pruebas.Prueba.Suma(II)I
  30.     org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:911)
  31.     org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:840)
  32.     org.apache.jsp.pages.pro6_jsp._jspService(pro6_jsp.java:95)
  33.     org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
  34.     javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
  35.     org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:419)
  36.     org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
  37.     org.apache.jasper.servlet.JspServlet.service(JspServlet.java:333)
  38.     javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
  39.  
  40. causa ra&#237;z
  41.  
  42. java.lang.NoSuchMethodError: pruebas.Prueba.Suma(II)I
  43.     org.apache.jsp.pages.pro6_jsp._jspService(pro6_jsp.java:78)
  44.     org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
  45.     javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
  46.     org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:419)
  47.     org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
  48.     org.apache.jasper.servlet.JspServlet.service(JspServlet.java:333)
  49.     javax.servlet.http.HttpServlet.service(HttpServlet.java:722)


Creo que el error ocurre cuando lo compilo (Prueba.java)

Ya intenté con
Código jsp:
Ver original
  1. <%@ page contentType="text/html; charset=iso-8859-1" language="java" import="pruebas.*" errorPage="" %>
  2.  
  3. <% Prueba miPrueba=new miPrueba()%>
  4. Suma 5+6=
  5.  
  6. <%= miPrueba.Suma(5,6) %>
  7.  
  8. Resta 14-5=
  9. <%= miPrueba.Resta(14,5) %>

Última edición por ARICARRARO; 01/06/2011 a las 14:13 Razón: orden
  #9 (permalink)  
Antiguo 08/06/2011, 14:22
Avatar de ARICARRARO  
Fecha de Ingreso: diciembre-2010
Ubicación: México
Mensajes: 227
Antigüedad: 13 años, 3 meses
Puntos: 10
Respuesta: Error al crear un Bean

Problema resuelto:
Solo era necesario pegar el .class en la carpeta pruebas

C:\Archivos de programa\Apache Software Foundation\Tomcat 7.0\webapps\ROOT\WEB-INF/classes/pruebas

Invocarlo con el .*
<%@ page contentType="text/html; charset=iso-8859-1" language="java" import="pruebas.*" errorPage="" %>
  #10 (permalink)  
Antiguo 08/06/2011, 16:37
Avatar de Xerelo  
Fecha de Ingreso: mayo-2009
Mensajes: 2.175
Antigüedad: 14 años, 10 meses
Puntos: 306
Respuesta: Error al crear un Bean

Qué casualidad, justo las dos cosas que te dije hace una semana.

De nada.
__________________
Cada vez que solucionas los problemas de alguien que no se esfuerza, piensa en que el día de mañana puede llegar a ser tu compañero de trabajo, o peor, tu jefe.
  #11 (permalink)  
Antiguo 08/06/2011, 21:52
Avatar de ARICARRARO  
Fecha de Ingreso: diciembre-2010
Ubicación: México
Mensajes: 227
Antigüedad: 13 años, 3 meses
Puntos: 10
Respuesta: Error al crear un Bean

Cita:
Iniciado por Xerelo Ver Mensaje
Qué casualidad, justo las dos cosas que te dije hace una semana.

De nada.
Gracias. Si era un error en pruebas solo puse prueba al final y era pruebas. Si lei tu respuesta, gracias.

Etiquetas: bean, beans, clases, import, jsp, jsp-servlets, web-inf
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:31.