<%@ Page language="java" contentType="text/html; charset=GBK"%>
<%@ page import="java.sql.*"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<%
Class.forName("com.mysql.jdbc.Driver").newInstance();
Connection con=java.sql.DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/china","root","1234567");
Statement stmt=con.createStatement();
ResultSet rst=stmt.executeQuery("select * from user;");
while(rst.next())
{
out.println(rst.getString("name"));
}
rst.close();
stmt.close();
con.close();
%>
</body>
</html>出错:
严重: Servlet.service() for servlet jsp threw exception
org.apache.jasper.JasperException: /in_db.jsp(1,5) Invalid directive
at org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:40)
at org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:407)
at org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:88)
at org.apache.jasper.compiler.Parser.parseDirective(Parser.java:516)
at org.apache.jasper.compiler.Parser.parseElements(Parser.java:1557)
at org.apache.jasper.compiler.Parser.parse(Parser.java:127)
at org.apache.jasper.compiler.ParserController.doParse(ParserController.java:212)
at org.apache.jasper.compiler.ParserController.parse(ParserController.java:101)
at org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:156)
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:296)
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:277)
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:265)
at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:564)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:302)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:874)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
at java.lang.Thread.run(Thread.java:619)我的环境是:tomcat5。5 JDK1。6 MYSQL 4.1
已经将mysql-connector-java-5.1.5-bin.jar放WEB-INF\lib了
我的环境变量是:
catalina_base=C:\Program Files\Apache Software Foundation\Tomcat 5.5catalina_home=C:\Program Files\Apache Software Foundation\Tomcat 5.5classpath=.;C:\Program Files\Java\jdk1.6.0_03\lib;C:\Program Files\Java\jdk1.6.0_03\lib\tools.jar;C:\Program Files\Java\jdk1.6.0_03\lib\dt.jar;C:\Program Files\Apache Software Foundation\Tomcat 5.5\common\lib\servlet-api.jar;C:\Program Files\Java\jdk1.6.0_03\lib\mysql-connector-java-3.1.14-bin-g.jar;C:\Program Files\Java\jdk1.6.0_03\lib\mysql-connector-java-5.1.5-bin.jarpath=.;C:\Program Files\Java\jdk1.6.0_03\bin;C:\Program Files\Java\jdk1.6.0_03\jre\bin;我在eclipse3。1里面搭建的,然后普通的jsp都OK,就是数据库不OK
谢谢帮忙

解决方案 »

  1.   

    现在报告的是指令错误,<%@ Page 改成<%@ page (小写的p)
    试试
      

  2.   

    改了,变成这样:
    org.apache.jasper.JasperException: Exception in JSP: /in_db.jsp:1310: </br>
    11: </br>
    12: <%
    13:  Class.forName("com.mysql.jdbc.Driver");
    14:  Connection con=java.sql.DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/china","root","1234567");
    15:  Statement stmt=con.createStatement();
    16:  ResultSet rst=stmt.executeQuery("select * from user;");
    Stacktrace:
    org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:451)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:355)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    root cause javax.servlet.ServletException: com.mysql.jdbc.Driver
    org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:841)
    org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:774)
    org.apache.jsp.in_005fdb_jsp._jspService(in_005fdb_jsp.java:75)
    org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:331)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    root cause java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
    org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1362)
    org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1208)
    org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:125)
    org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:63)
    java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
    java.lang.Class.forName0(Native Method)
    java.lang.Class.forName(Class.java:169)
    org.apache.jsp.in_005fdb_jsp._jspService(in_005fdb_jsp.java:55)
    org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:331)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
      

  3.   

    classpath=.;C:\Program Files\Java\jdk1.6.0_03\lib;C:\Program Files\Java\jdk1.6.0_03\lib\tools.jar;C:\Program Files\Java\jdk1.6.0_03\lib\dt.jar;C:\Program Files\Apache Software Foundation\Tomcat 5.5\common\lib\servlet-api.jar;C:\Program Files\Java\jdk1.6.0_03\lib\mysql-connector-java-5.1.5-bin.jar原来的3。1驱动我删除了,刚刚发现的,可还是不行
      

  4.   

    <%@   Page   language="java"   contentType="text/html;   charset=GBK"%> 
    第一行中的p应该是小写。应该是这个地方错了
      

  5.   

    我用try catch后出现
    java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
    大家看看我的上面的配置是不是对的
      

  6.   

    ClassNotFoundException,路径设置问题,类没有找到,jar包放的位置不正确
      

  7.   

    在eclipse得build path里面,把mysql-connector-java-5.1.5-bin.jar路径加进去。