java - 尝试将工作的现有 java 类复制到 servlet 中,com.mysql.jdbc.Driver 错误

标签 java mysql servlets jdbc

首先,我构建了路径(在 Eclipse 中)。当我将 java 类作为 java 应用程序运行时,它工作正常,并且我可以访问数据所在的服务器。 但是当我想在服务器上运行它时,它总是抛出“java.lang.ClassNotFoundException:com.mysql.jdbc.Driver”

这是我的第一个问题, 当我将正常工作的 java 应用程序(没有类,只是下面的代码)复制到 servlet 中并且只想查看将 java 类作为应用程序运行时得到的输出时,会发生另一个情况。

我是java新手,我必须为大学做这件事(它给了我一个工作“Testklasse”作为测试类来测试数据库连接是否正常工作,整个CMS包都是他们编写的。)

请帮忙。

Java 类:

package myCMS;



/**
 * Testprogramm für das myCMS-Model.
 * Wird nicht benötigt, sondern dient lediglich zum Ausprobieren, ob die Verbindung zur Datenbank funktioniert.
 */
public class Testklasse {

    /**
     * Einstiegsmethode für das Testprogramm
     * @param args Array der Kommandozeilenparameter
     */
    public static void main(String[] args) {

        // Model-Objekt erstellen
        WebUserAgentModel repModel = new WebUserAgentModel();

        System.out.println("*** Testprogramm ***\n");

        System.out.println("Es wurden die folgenden Nachrichtenkategorien gefunden:");

        // Alle Nachrichten-Kategorien abrufen (z.B. für die Navigationsleiste)
        List<RepositoryCategory> catList = repModel.getCategoryList();

        // Alle Elemente der Kategorien-Liste ausgeben
        for (RepositoryCategory category : catList) {   // entspricht "foreach"
            System.out.println ("[" + category.getId() + "]  " + category.getTitel());
        }

        System.out.println("");

        System.out.println("Die folgenden Artikel befinden sich in der Datenbank:");

        // Alle Nachrichtenmeldungen/Dokumente abrufen (aus allen Kategorien)
        repModel.selectDocuments();
        //repModel.selectDocumentsByQuery("HERSTELLER");  

        // Dokumentenliste abrufen
        List<RepositoryDocument> docList = repModel.getDocumentList();

        // Alle Meldungen auszugsweise ausgeben
        int count = 0;
        for (RepositoryDocument article : docList) {
            System.out.printf( "[%2d]  %-10.10s  %-12.12s  %-60.60s%n", article.getId(), article.getDatum(), article.getUntertitel(), article.getText() );
            count++;
        }

        // Zählergebnis ausgeben
        System.out.println("\n" + count + " Einträge gefunden.\n\n");


        // Rubrikübersicht:   (NEU)
        System.out.println("Übersicht über die Artikel in den Rubriken:");
        for (RepositoryCategory category : catList) {
            System.out.println("\n++ " + category.getTitel() + " ++");
            repModel.selectTeaser(category.getId());
            docList = repModel.getTeaserList();
            for (RepositoryDocument teaser : docList) {
                System.out.printf( "[%2d]  %-10.10s  ", teaser.getId(), teaser.getDatum());
                System.out.println(teaser.getText());
            }
        }


        // Datenbankverbindung schließen
        repModel.closeDatabase();

    }

}

Servlet:

package myCMS;

import java.io.IOException;
import java.util.List;

import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;


/**
 * Servlet implementation class MobileNewsServlet
 */
@WebServlet("/MobileNewsServlet")
public class MobileNewsServlet extends HttpServlet {
    private static final long serialVersionUID = 1L;

    /**
     * @see HttpServlet#HttpServlet()
     */
    public MobileNewsServlet() {
        super();
        // TODO Auto-generated constructor stub
    }

    /**
     * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
     */
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // TODO Auto-generated method stub
        response.setContentType("text/html");

         WebUserAgentModel repModel = new WebUserAgentModel();

            System.out.println("*** Testprogramm ***\n");

            System.out.println("Es wurden die folgenden Nachrichtenkategorien gefunden:");

            // Alle Nachrichten-Kategorien abrufen (z.B. für die Navigationsleiste)
            List<RepositoryCategory> catList = repModel.getCategoryList();

            // Alle Elemente der Kategorien-Liste ausgeben
            for (RepositoryCategory category : catList) {   // entspricht "foreach"
                System.out.println ("[" + category.getId() + "]  " + category.getTitel());
            }

            System.out.println("");

            System.out.println("Die folgenden Artikel befinden sich in der Datenbank:");

            // Alle Nachrichtenmeldungen/Dokumente abrufen (aus allen Kategorien)
            repModel.selectDocuments();
            //repModel.selectDocumentsByQuery("HERSTELLER");  

            // Dokumentenliste abrufen
            List<RepositoryDocument> docList = repModel.getDocumentList();

            // Alle Meldungen auszugsweise ausgeben
            int count = 0;
            for (RepositoryDocument article : docList) {
                System.out.printf( "[%2d]  %-10.10s  %-12.12s  %-60.60s%n", article.getId(), article.getDatum(), article.getUntertitel(), article.getText() );
                count++;
            }

            // Zählergebnis ausgeben
            System.out.println("\n" + count + " Einträge gefunden.\n\n");


            // Rubrikübersicht:   (NEU)
            System.out.println("Übersicht über die Artikel in den Rubriken:");
            for (RepositoryCategory category : catList) {
                System.out.println("\n++ " + category.getTitel() + " ++");
                repModel.selectTeaser(category.getId());
                docList = repModel.getTeaserList();
                for (RepositoryDocument teaser : docList) {
                    System.out.printf( "[%2d]  %-10.10s  ", teaser.getId(), teaser.getDatum());
                    System.out.println(teaser.getText());
                }
            }


            // Datenbankverbindung schließen
            repModel.closeDatabase();

            RequestDispatcher rd = request.getRequestDispatcher("/mobilenews.jsp");
                    rd.forward(request,response);



    }

    /**
     * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
     */
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // TODO Auto-generated method stub
    }

}

最佳答案

Put **mysql-connector-java-version-bin** jar in **WEB-INF/lib** folder

关于java - 尝试将工作的现有 java 类复制到 servlet 中,com.mysql.jdbc.Driver 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27076705/

相关文章:

MySql:创建过程错误

javascript - 传递参数以及为 MYSQL 集成准备代码时出现问题

java - 无法访问 servlet 文件,因为 apache 安装在本地计算机上,表单的操作属性中应该给出什么路径?

java - 将值从 java 传递到 jsp 或 servlet

java - 使用 Jsoup 解析 div 中的元素

Java堆栈应用程序

java - Jaws Wordnet 的编译问题

java - Java中String(String)构造函数的使用

html - 如果用户没有字体,如何在网站上显示缅甸字符并将其记录在MySQL中?

java - 如何在输出页面中写入错误消息?