No puede instanciar un JavaBean
Estoy tratando que una página JSP haga uso de un JavaBean.
La página JSP es lo más simple que os podáis imaginar al igual
que el JavaBean.
Los documentos *.html y *.jsp residen en
TOMCAT_HOME/webapps/ejemploWeb y me funcionana correctamente, en principio.
Haciendo uso NetBeans IDE 3.2.1 creo el lBean.java, lo compilo,
copio el *.class que me ha creado y lo pego en
TOMCAT_HOME/webapps/ejemploWeb/WEB-INF/classes.
La cuestión es que la página JSP siempre me da un error, os
hago un copy&paste de lo más representativo:
org.apache.jasper.JasperException: No se puede compilar la
clase para JSP
An error occurred at line: 3 in the jsp file: /beans.jsp
Generated servlet error:
[javac] Compiling 1 source file
C:Archivos de programajakarta-tomcat-4.1.29
workStandalonelocalhostejemploWebbeans_jsp.java:44:
cannot resolve symbol
symbol : class lBean
location: class org.apache.jsp.beans_jsp
lBean lBean = null;
^
Y no tengo santa manera de salir de aquÃ.
Estoy usando W2000, tengo instalado Apache 2.0.47 y el
Tomcat 4.1.29 aunque no están todavÃa conectados, es decir,
para ver las páginas JSP debo usar la dirección:
localhost:8080/ejemploWeb/beans.jsp
Cuando en la página JSP comento las directivas que hacen
referencia al Bean puedo visualizar las páginas JSP sin
problemas, incluso por probar, creé un Servlet y también
respondÃo bien.
Gracias de nuevo por vuestra ayuda y saludos cordiales.
La página JSP es lo más simple que os podáis imaginar al igual
que el JavaBean.
Los documentos *.html y *.jsp residen en
TOMCAT_HOME/webapps/ejemploWeb y me funcionana correctamente, en principio.
Haciendo uso NetBeans IDE 3.2.1 creo el lBean.java, lo compilo,
copio el *.class que me ha creado y lo pego en
TOMCAT_HOME/webapps/ejemploWeb/WEB-INF/classes.
La cuestión es que la página JSP siempre me da un error, os
hago un copy&paste de lo más representativo:
org.apache.jasper.JasperException: No se puede compilar la
clase para JSP
An error occurred at line: 3 in the jsp file: /beans.jsp
Generated servlet error:
[javac] Compiling 1 source file
C:Archivos de programajakarta-tomcat-4.1.29
workStandalonelocalhostejemploWebbeans_jsp.java:44:
cannot resolve symbol
symbol : class lBean
location: class org.apache.jsp.beans_jsp
lBean lBean = null;
^
Y no tengo santa manera de salir de aquÃ.
Estoy usando W2000, tengo instalado Apache 2.0.47 y el
Tomcat 4.1.29 aunque no están todavÃa conectados, es decir,
para ver las páginas JSP debo usar la dirección:
localhost:8080/ejemploWeb/beans.jsp
Cuando en la página JSP comento las directivas que hacen
referencia al Bean puedo visualizar las páginas JSP sin
problemas, incluso por probar, creé un Servlet y también
respondÃo bien.
Gracias de nuevo por vuestra ayuda y saludos cordiales.
Pues el problema creo que es el de siempre (lo hemos comentado más de una vez). Los paquetes.
Para poder usar un bean, necesitas que esté dentro de un paquete. No puedes usarlo directamente colgando del classes. Necesitas que esté en un paquete (por ejemplo "beans").
Inlcuye antes de tu código la sentencia
package beans;
y recompila. Luego, copia el .class en un directorio llamado beans que cuelgue de classes. De este modo, podrás llamar a la clase del bean ya sea mediante
<jsp:useBean id="mibean" class="beans.MiClase"/> o mediante
<%@page import="beans.*" %>
<jsp:useBean id="mibean" class="MiClase"/>
aunque este segundo método no estoy seguro de que funcione. Para asegurarte, mete en el parámetro class de la etiqueta <jsp:useBean /> el nombre "fully qualified" o sea, con el nombre del paquete.
A ver si asà te funciona.
Salu2
Ken
Para poder usar un bean, necesitas que esté dentro de un paquete. No puedes usarlo directamente colgando del classes. Necesitas que esté en un paquete (por ejemplo "beans").
Inlcuye antes de tu código la sentencia
package beans;
y recompila. Luego, copia el .class en un directorio llamado beans que cuelgue de classes. De este modo, podrás llamar a la clase del bean ya sea mediante
<jsp:useBean id="mibean" class="beans.MiClase"/> o mediante
<%@page import="beans.*" %>
<jsp:useBean id="mibean" class="MiClase"/>
aunque este segundo método no estoy seguro de que funcione. Para asegurarte, mete en el parámetro class de la etiqueta <jsp:useBean /> el nombre "fully qualified" o sea, con el nombre del paquete.
A ver si asà te funciona.
Salu2
Ken