Я не могу подключить страницы JSP к серверу MySQL - PullRequest
0 голосов
/ 15 апреля 2011

Я использую tomcat 6.0 Это мой домашний каталог -> C: \ Program Files \ Apache Software Foundation \ Tomcat 6.0

Я использую jdk 1.6 Это мой JAVA_HOME C: \ Program Files \ Java \jdk1.6.0_24

Я использую Windows 7

ОК, я написал страницу JSP. Этот код сохранен в -> C: \ Program Files \ Apache Software Foundation \ Tomcat 6.0 \ webapps\ myapp \ wow.jsp

<%@ page import="java.sql.*" %>
<%
   String connectionURL = "jdbc:mysql://localhost:3306/unni";
   Connection connection = null;
   Statement statement = null;
   ResultSet rs = null;
   %>



    <%
    Class.forName("com.mysql.Driver").newInstance();
    connection = DriverManager.getConnection(connectionURL, "root", "footyfreak");
    statement = connection.createStatement();
    rs = statement.executeQuery("SELECT * FROM unni");

    while (rs.next()) {
       out.println(rs.getString("player")+"");
    }

    rs.close();
    %>

Я скачал соединитель и скопировал его в: - C: \ Program Files \ Apache Software Foundation \ Tomcat 6.0 \ webapps \ myapp \ WEB-INF \ lib \ mysql-connector-java-5.1.15-bin.jar

, а также в C: \ Program Files \ Apache Software Foundation \ Tomcat 6.0 \ lib \ mysql-connector-java-5.1.15-bin.jar

Затем, когда я нажимаю на URL http://localhost:8080/myapp/wow.jsp

, я получаю сообщение об ошибке -------------->

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: An exception occurred processing JSP page /wow.jsp at line 12

9:    
10: 
11:     <%
12:     Class.forName("com.mysql.Driver").newInstance();
13:     connection = DriverManager.getConnection(connectionURL, "root", "footyfreak");
14:     statement = connection.createStatement();
15:     rs = statement.executeQuery("SELECT * FROM unni");


Stacktrace:
    org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:519)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:410)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:717)

root cause

javax.servlet.ServletException: java.lang.ClassNotFoundException: com.mysql.Driver
    org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:865)
    org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:794)
    org.apache.jsp.wow_jsp._jspService(wow_jsp.java:84)
    org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:386)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:717)

root cause

java.lang.ClassNotFoundException: com.mysql.Driver
    org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1680)
    org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1526)
    org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:128)
    org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:66)
    java.lang.Class.forName0(Native Method)
    java.lang.Class.forName(Unknown Source)
    org.apache.jsp.wow_jsp._jspService(wow_jsp.java:68)
    org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:386)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:717)

note The full stack trace of the root cause is available in the Apache Tomcat/6.0.32 logs.
Apache Tomcat/6.0.32

Мои данные о пути к классам

variable : CLASSPATH
value    : C:\Program Files\Apache Software Foundation\Tomcat 6.0\lib\servlet-api.jar ; C:\Program Files\Apache Software Foundation\Tomcat 6.0\lib\mysql-connector-java-5.1.15-bin.jar;

Помоги мне.Я сидел на этом в течение нескольких дней.

Я сделал так же, как в документации.

Есть ли что-либо, кроме упомянутых здесь?

Ответы [ 3 ]

3 голосов
/ 15 апреля 2011

java.lang.ClassNotFoundException: com.mysql.Driver

Неверное имя класса. Это com.mysql.jdbc.Driver.

Class.forName("com.mysql.jdbc.Driver");

То, что newInstance() звонок, кстати, излишне. Обратите внимание, что помещать весь этот код в файл JSP - плохая практика. Этот код обычно должен идти в обычных классах Java, которые вы используете в сервлете. Также обратите внимание, что переменная окружения CLASSPATH полностью игнорируется при запуске Tomcat.

Смотри также:

0 голосов
/ 29 августа 2016

Вместо добавления внешней банки JAR скопируйте файл JAR в следующую папку

WEB-INF/lib
0 голосов
/ 18 января 2012

connection = DriverManager.getConnection (connectionURL, "root", "footyfreak");В этом выражении connectionURL вы хотите указать имя вашей базы данных.Пример: String st="jdbc:mysql://localhost:3306/staff"; Connection con=null; Class.forName("com.mysql.jdbc.Driver").newInstance(); con = DriverManager.getConnection(st,"root","admin" ); В этом примере staff - это имя моей базы данных.После этого я не получил сообщение об ошибке.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...