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

Duda sobre integracion jsp y .class

Estas en el tema de Duda sobre integracion jsp y .class en el foro de Java en Foros del Web. Hola Me he leido varios posts relacionados del foro, pero no he podido solucionar mi problema. El tema es que quiero poder crear un objeto ...
  #1 (permalink)  
Antiguo 12/03/2012, 09:28
 
Fecha de Ingreso: noviembre-2011
Ubicación: valencia
Mensajes: 5
Antigüedad: 12 años, 5 meses
Puntos: 0
Duda sobre integracion jsp y .class

Hola
Me he leido varios posts relacionados del foro, pero no he podido solucionar mi problema.

El tema es que quiero poder crear un objeto de una clase Java (hola.class) y poder instanciarlo en jsp y llamar a alguno de sus metodos.

utilizo netbeans.

de momento he creado una clase java muy sencillita, para hacer pruebas

Código:
public class hola
{
   
    public hola()
    {
    }

    public String prueba(){
        return "esto funciona";
    }
    
}
Este archivo .class y el .jar que también genere los coloco en las carpetas que corresponden del proyecto web:

proyecto/web/WEB-INF/classes/hola/hola.class

y el jar en proyecto/web/WEB-INF/lib/hola.jar

teoricamente segun he leido por ahi, solo con el .class ya deberia funcionar.

el tema esta que cuando pongo el codigo en el jsp para crear un objeto de tipo hola:
Código:
<%
hola ejemplo=new hola();
out.println(ejemplo.prueba());
%>
me sale por pantalla el siguente error
Código:
Estado HTTP 500 -

type Informe de Excepción

mensaje

descripción El servidor encontró un error interno () que hizo que no pudiera rellenar este requerimiento.

excepción

org.apache.jasper.JasperException: No se puede compilar la clase para JSP: 

Ha tenido lugar un error en la línea: 9 en el archivo jsp: /index.jsp
hola cannot be resolved
6: 
7: <%@page contentType="text/html" pageEncoding="UTF-8"%>
8: <%
9:     String s=hola.prueba();
10:     out.print(s);
11:     %>
12: <!DOCTYPE html>


Stacktrace:
	org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:102)
	org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:331)
	org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:457)
	org.apache.jasper.compiler.Compiler.compile(Compiler.java:378)
	org.apache.jasper.compiler.Compiler.compile(Compiler.java:353)
	org.apache.jasper.compiler.Compiler.compile(Compiler.java:340)
	org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:644)
	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:358)
	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:389)
	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:333)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
	org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:393)
Lo raro es que el API netbeans que es donde lo estoy desarrollando, si que me reconoce la clase hola por que al escribir el codigo, él mismo me lo autocompleta

Si alguien me pudiera ayudar.
Gracias
  #2 (permalink)  
Antiguo 13/03/2012, 02:59
 
Fecha de Ingreso: noviembre-2011
Ubicación: valencia
Mensajes: 5
Antigüedad: 12 años, 5 meses
Puntos: 0
Respuesta: Duda sobre integracion jsp y .class

Nadie tiene idea de como se hace esto y de por que da error la pagina web?
  #3 (permalink)  
Antiguo 15/03/2012, 08:24
Avatar de afrika026  
Fecha de Ingreso: junio-2011
Mensajes: 85
Antigüedad: 12 años, 10 meses
Puntos: 19
Respuesta: Duda sobre integracion jsp y .class

Tenes que importar la clase desde el codigo JSP.

<%@ page import="hola.class" %>
  #4 (permalink)  
Antiguo 16/03/2012, 17:26
 
Fecha de Ingreso: marzo-2012
Ubicación: Madrid
Mensajes: 74
Antigüedad: 12 años, 1 mes
Puntos: 12
Respuesta: Duda sobre integracion jsp y .class

La solucion va en linea con lo que apunta afrika026, tienes que importar la clase.

Para el ejemplo que nos das la linea seria.

Código:
<%@ page import = "hola.hola"%>
No debe añadirse ".class" instruccion de importacion.

No veo la declaracion de paquete en el codigo de la clase, deberias ponerlo
Código:
package hola;
Deberias acostumbrarte a que el identificador de clase empieze en mayuscula, "Hola" en lugar de "hola".


Tienes razon en que no es necesario poner en la aplicacion web tanto el "class" como el "jar". Con uno de los dos, cualquiera, es suficiente.

Etiquetas: jsp
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 03:15.