Error: HTTP Status 500

Javiera
29 de Junio del 2003
Amigos, soy javiera y tengo el sgte problema:
Tengo Jakarta Tomcat 4.1.24 instalado en windows xp, y MySQL 4.0.13.. al tratar de ejecutar "listarclientes.jsp" tengo el sgte mensaje de error:

=======================================

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: com.mysql.jdbc.Driver
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:254)
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:2415)
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:172)
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:223)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:594)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:392)
at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:565)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:619)
at java.lang.Thread.run(Thread.java:536)


root cause

javax.servlet.ServletException: com.mysql.jdbc.Driver
at org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:536)
at org.apache.jsp.listarclientes_jsp._jspService(listarclientes_jsp.java:164)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:137)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:210)
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:2415)
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:172)
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:223)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:594)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:392)
at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:565)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:619)
at java.lang.Thread.run(Thread.java:536)



--------------------------------------------------------------------------------

Apache Tomcat/4.1.24


=======================================

El codigo de listarclientes.jsp, es:

<%@page contentType="text/html"%>
<HTML>
<HEAD>
</HEAD>
<BODY STYLE="BACKGROUND:#F7F7F7;FONT-SIZE:12px;FONT-FAMILY:verdana;COLOR:black;">
<!--
<%@ page language="java" import="java.sql.*" %>
-->
<%!


// definicion de variables
String Id;
String Nom;
String Apa;
String Ama;

// definicion de parametros de la base de datos
String host="localhost";
String user="root";
String pass="";
String db="nova";
String conn;
%>
<BR><BR><BR>
<DIV align="center">
<CENTER>
<TABLE border="0" BGCOLOR="#C0C0C0" cellpadding="0" cellspacing="2" width="100%">
<TR><TH bgcolor="#6699CC" colspan="4"><FONT face="verdana" size=5 color="#000000">Clientes</font></TH></TR>

<TR>
<TD width="15%" ALIGN=center><Font Face="verdana" SIZE="2" COLOR="black"><b>
Cliente Nº</b></font></td>
<TD width="35%" ALIGN=center><Font Face="verdana" SIZE="2" COLOR="black"><b><b>
Nombres</b></font></td>
<TD width="25%" ALIGN=center><Font Face="verdana" SIZE="2" COLOR="black"><b><b>
Apellido Paterno</b></font></td>
<TD width="25%" ALIGN=center><Font Face="verdana" SIZE="2" COLOR="black"><b><b>
Apellido Materno</b></font></td>
</TR>

<%

Class.forName("org.gjt.mm.mysql.Driver");

// creacion del string de conección
conn = "jdbc:mysql://" + host + "/" + db + "?user=" + user
+ "&password=" + pass;

// paso de los parametros de la base de datos al JDBC driver
Connection Conn = DriverManager.getConnection(conn);

// query statement
Statement SQLStatement = Conn.createStatement();

// generar consulta
String Query = "SELECT id, nombres, ape_paterno, ape_materno FROM clientes";

// obtener resultados
ResultSet SQLResult = SQLStatement.executeQuery(Query);

while(SQLResult.next())
{
%>
<TR BGCOLOR="#ECECEF">
<%
Id = SQLResult.getString("id");
Nom = SQLResult.getString("nombres");
Apa = SQLResult.getString("ape_paterno");
Ama = SQLResult.getString("ape_materno");

out.println("<TD ALIGN=center>" + Id + "</TD><TD ALIGN=center>" +
Nom + "</TD><TD ALIGN=center>" + Apa + "</TD><TD ALIGN=center>" + Ama + "</TD>");
%>
</TR>
<%
}

// cerrar conección
SQLResult.close();
SQLStatement.close();
Conn.close();

%>

</TABLE>
</CENTER>
</DIV>
</BODY>
</HTML>

bancomolocos
29 de Junio del 2003
Echa un vistazo al fuente listarclientes_jsp.java,
linea 164
en el directorio
<CATALINA_HOME>/work/standalone/localhost/<nombre-aplicacion>
Te dara pistas de lo que falla.

Comprueba que tienes el driver JDBC correcto en el path (pej: <catalina_home>/common/lib )

Jose Carlos
29 de Junio del 2003
No estoy seguro... pero juraría que es esa exclamación que tienes en la linea 9 del código que has puesto aqui :) De todos modos te recomiendo esto, el parser te lo va a agradecer:

<%@ page language ='java' contentType = 'text/html;charset=iso-8859-1'%>
<%@ import='java.sql.*' %>
<!-- El resto de tus variables java y taglets -->

<HTML>
<HEAD>
</HEAD>
<BODY STYLE="BACKGROUND:#F7F7F7;FONT-SIZE:12px;FONT-FAMILY:verdana;COLOR:black;">

...

Un saludo