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

[SOLUCIONADO] Error 500 JSP

Estas en el tema de Error 500 JSP en el foro de Java en Foros del Web. Buenas, intentare ser lo mas breve y conciso posible. Suelo utilizar el IDE NetBeans para programar en Java. Actualmente estoy aprendiendo a crear paginas JSP, ...
  #1 (permalink)  
Antiguo 09/07/2015, 06:47
 
Fecha de Ingreso: diciembre-2012
Mensajes: 15
Antigüedad: 11 años, 4 meses
Puntos: 0
Error 500 JSP

Buenas, intentare ser lo mas breve y conciso posible.
Suelo utilizar el IDE NetBeans para programar en Java. Actualmente estoy aprendiendo a crear paginas JSP, asi que me voy creando proyectos pequeños en los que cada vez amplio las funcionalidades y me he encontrado con un problema.
He creado una pagina JSP que lo que hace es utilizar una clase que he creado yo mismo, es una clase muy sencilla, ya que lo unico que hace es devolverme un numero entero. En el proyecto tengo dos paginas JSP, una con un formulario, en el que hay un boton, que me llama a la segunda pagina JSP dentro de la cual, instancio la clase creada por mi mismo, y saco el numero que me devuelve dicha clase por pantalla. Nose si me habran entendido bien, espero que si.
Bueno, resulta que si ejecuto el proyecto desde netbeans, es decir, abro la pagina con el formulario y le doy al boton, el resultado es correcto, se me abre la segunda pagina mostrandome el numero.
Por otro lado, tengo una instalacion de xampp con el tomcat incluido. Mi problema viene cuando trato de ejecutar este proyecto no desde el netbeans, sino copiando la carpeta al directorio del tomcat de xampp y llamando yo a la pagina web. La primera pagina JSP con el formulario me la carga bien y sin problemas, pero cuando hago click en el boton, para llamar a la segunda pagina, que es dentro de la que uso la clase que cree yo mismo, me salta el siguiente error:

Estado HTTP 500 - No se puede compilar la clase para JSP:

type Informe de Excepción

mensaje No se puede compilar la clase para JSP:

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: [14] en el fichero java generado: [C:\xampp\tomcat\work\Catalina\localhost\MisProyect os\org\apache\jsp\GlobalWeather\build\web\respuest aClaseDePrueba_jsp.java]
Only a type can be imported. paquete.ClaseDePrueba resolves to a package

Ha tenido lugar un error en la línea: 14 en el archivo jsp: /GlobalWeather/build/web/respuestaClaseDePrueba.jsp
ClaseDePrueba cannot be resolved to a type
11: <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
12: <%@ page import="paquete.ClaseDePrueba" %>
13: <%!
14: ClaseDePrueba cp = new ClaseDePrueba();
15: %>
16: </head>
17: <body>


Ha tenido lugar un error en la línea: 14 en el archivo jsp: /GlobalWeather/build/web/respuestaClaseDePrueba.jsp
ClaseDePrueba cannot be resolved to a type
11: <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
12: <%@ page import="paquete.ClaseDePrueba" %>
13: <%!
14: ClaseDePrueba cp = new ClaseDePrueba();
15: %>
16: </head>
17: <body>


Ha tenido lugar un error en la línea: 19 en el archivo jsp: /GlobalWeather/build/web/respuestaClaseDePrueba.jsp
cp cannot be resolved
16: </head>
17: <body>
18: <%
19: out.println(cp.getNumero());
20: %>
21: </body>
22: </html>


Stacktrace:
org.apache.jasper.compiler.DefaultErrorHandler.jav acError(DefaultErrorHandler.java:103)
org.apache.jasper.compiler.ErrorDispatcher.javacEr ror(ErrorDispatcher.java:366)
org.apache.jasper.compiler.JDTCompiler.generateCla ss(JDTCompiler.java:485)
org.apache.jasper.compiler.Compiler.compile(Compil er.java:379)
org.apache.jasper.compiler.Compiler.compile(Compil er.java:354)
org.apache.jasper.compiler.Compiler.compile(Compil er.java:341)
org.apache.jasper.JspCompilationContext.compile(Js pCompilationContext.java:657)
org.apache.jasper.servlet.JspServletWrapper.servic e(JspServletWrapper.java:357)
org.apache.jasper.servlet.JspServlet.serviceJspFil e(JspServlet.java:395)
org.apache.jasper.servlet.JspServlet.service(JspSe rvlet.java:339)
javax.servlet.http.HttpServlet.service(HttpServlet .java:727)
org.apache.tomcat.websocket.server.WsFilter.doFilt er(WsFilter.java:52)



El codigo de la segunda pagina, la que me debe de abrir al hacer click en el formulario de la primera es:

<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<%@ page import="paquete.ClaseDePrueba" %>
<%!
ClaseDePrueba cp = new ClaseDePrueba();
%>
</head>
<body>
<%
out.println(cp.getNumero());
%>
</body>
</html>

Creo que el error viene de que no es capaz de encontrar la clase, pero ya me diran uds. si este es el error, y como pudiera resolverlo

Comentar que buscado informacion por internet y no consigo resolver el problema.
En el directorio donde tengo la pagina tengo la carpeta WEB-INF/classes con los archivos .class dentro

Espero su ayuda, sin mas un saludo y muchas gracias.

P.D.: Hacia años que no posteaba, asi que si me he equivocado y no he posteado en el lugar correcto pido disculpas
  #2 (permalink)  
Antiguo 09/07/2015, 08:13
Avatar de Profesor_Falken  
Fecha de Ingreso: agosto-2014
Ubicación: Mountain View
Mensajes: 1.323
Antigüedad: 9 años, 8 meses
Puntos: 182
Respuesta: Error 500 JSP

Cita:
ClaseDePrueba cannot be resolved to a type
Efectivamento encuentra tu clase.

Has comprobado que esta en WEB-INF/classes?


Un saludo
__________________
If to err is human, then programmers are the most human of us
  #3 (permalink)  
Antiguo 09/07/2015, 15:34
 
Fecha de Ingreso: diciembre-2012
Mensajes: 15
Antigüedad: 11 años, 4 meses
Puntos: 0
Respuesta: Error 500 JSP

Si, los directorios estan bien creados y cada uno contine lo que supuestamente deberia de contener. Basicamente lo que he hecho es una copia del directorio que me crea netbeans y lo he copiado en el servidor, por eso no lo entiendo, si me sirve para el tomcat dentro del netbeans porque fuera de este entorno, ejecutando yo directamente la pagina en el buscador no me funciona.
El problema que tengo es que tal vez tenga que hacer una pagina jsp para un cliente, y quiero resolver este problema para cuando tenga que hacer la instalacion en su servidor
Muchas gracias por la respuesta
  #4 (permalink)  
Antiguo 10/07/2015, 06:24
Avatar de Profesor_Falken  
Fecha de Ingreso: agosto-2014
Ubicación: Mountain View
Mensajes: 1.323
Antigüedad: 9 años, 8 meses
Puntos: 182
Respuesta: Error 500 JSP

Cita:
Basicamente lo que he hecho es una copia del directorio que me crea netbeans y lo he copiado en el servidor
Precisamente. Cuando ejecutas el proyecto web en Netbeans, este mueve en tiempo de ejecucion los ficheros mediante tareas Ant a la estructura adecuada requerida por la especificacion Java EE:




Cual es la estructura de directorios de tu proyecto bajo la carpeta webapps de tu Tomcat?

Un saludo
__________________
If to err is human, then programmers are the most human of us
  #5 (permalink)  
Antiguo 10/07/2015, 08:52
 
Fecha de Ingreso: diciembre-2012
Mensajes: 15
Antigüedad: 11 años, 4 meses
Puntos: 0
Respuesta: Error 500 JSP

Haber, el directorio completo es:
C:\xampp\tomcat\webapps\MisProyectos\GlobalWeather

dentro de la carpeta GlobalWeather tengo los siguientes directorios
carpeta: META-INF (copiada del directorio de donde tengo el proyecto en netbeans)
carpeta: WEB-INF
dentro tengo carpeta: classes
dentro tengo carpeta: paquete
dentro tengo los archivo .class que pertenecen al paquete "paquete"
dentro tengo carpeta: net
dentro tengo los archivos .class que pertenecen al paquete "net"

El directorio quedaria tal y como lo he explicado asi:
WEB-INF\classes\paquete\miClase1.class
WEB-INF\classes\paquete\miClase2.class
...

WEB-INF\classes\net\miClasenet1.class
WEB-INF\classes\net\miClasenet2.class
...

Y fuera, es decir, en C:\xampp\tomcat\webapps\MisProyectos\GlobalWeather , tengo las paginas .jsp
seria...
C:\xampp\tomcat\webapps\MisProyectos\GlobalWeather \pagina1.jsp
C:\xampp\tomcat\webapps\MisProyectos\GlobalWeather \pagina2.jsp

En resumen...
C:\xampp\tomcat\webapps\MisProyectos\GlobalWeather \pagina1.jsp
C:\xampp\tomcat\webapps\MisProyectos\GlobalWeather \pagina2.jsp
C:\xampp\tomcat\webapps\MisProyectos\GlobalWeather \META-INF
C:\xampp\tomcat\webapps\MisProyectos\GlobalWeather \WEB-INF\classes\paquete\miClase1.class
...
C:\xampp\tomcat\webapps\MisProyectos\GlobalWeather \WEB-INF\classes\net\miClasenet1.class
...

Espero haberme explicado con claridad
  #6 (permalink)  
Antiguo 10/07/2015, 09:50
Avatar de Profesor_Falken  
Fecha de Ingreso: agosto-2014
Ubicación: Mountain View
Mensajes: 1.323
Antigüedad: 9 años, 8 meses
Puntos: 182
Respuesta: Error 500 JSP

Buenas,

Si, ahora esta claro. Es precisamente lo que te pedia desde el principio para poder ayudarte.

Y, como sospechaba, no es correcto. Echale un vistazo a la imagen que puse antes.

La Carpeta GlobalWeather debe colgar directamente de webapps.
C:\xampp\tomcat\webapps\GlobalWeather

Aunque no lo especificas entiendo que tienes tambien tu web.xml en WEB-INF.

P.D: Lo mas facil habria sido hacer un build desde Netbeans y asi en la carpeta dist de tu proyecto te generara un fichero .war listo para copiar y pegar en webapps.

P.D 2:
Haber -> verbo haber.
A ver -> verbo ver. Contraccion de 'vamos a ver' y expresion sinonima de 'veamos'.

Un saludo
__________________
If to err is human, then programmers are the most human of us

Última edición por Profesor_Falken; 10/07/2015 a las 09:58
  #7 (permalink)  
Antiguo 10/07/2015, 14:11
 
Fecha de Ingreso: diciembre-2012
Mensajes: 15
Antigüedad: 11 años, 4 meses
Puntos: 0
Respuesta: Error 500 JSP

Perfecto, el fallo era ese, muchisimas gracias, no sabes cuanto te lo agradezco. Un saludo.

Por cierto, al construir el proyecto y explorar su directorio habia encontrado el archivo .war, pero no sabia muy bien lo que era. Tambien he probado a copiar como dices el archivo .war y tambien funciona de maravilla

De nuevo muchas gracias. Un saludo

Etiquetas: 500, clase, jsp, netbeans, programa
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 09:46.