2

Netbeans 7.2 でこのエラーが発生しています。ClassNotFoundexception および InstantationException と表示されます。私は本当にこの問題に立ち往生しています。親切に私を助けてください。

protected void doPost(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    try {
        String driver = "com.mysql.jdbc.Driver";
        con = null;
        String username = "";
        String password = "";

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

        con = DriverManager.getConnection("jdbc:mysql://localhost:3306/dbName", "root", "password");
        Statement st = con.createStatement();
        ResultSet mar = st.executeQuery("SELECT * FROM table");


        Gson gson = new GsonBuilder().create();
        response.setContentType("application/json");  
        response.setCharacterEncoding("utf-8"); 

    } catch (SQLException e) {
                String message = e.getMessage();
    }
4

4 に答える 4

4

あなたに必要なのはClass.forName("com.mysql.jdbc.Driver")

これはクラス ローダーのように機能し、ドライバー クラスをロードします。そのためには、対応する jar ファイル (ドライバーの実装を含む) を追加する必要があります。したがってmysql-connector.jar、クラスパスをダウンロードして追加してください。

注 : Java 7 を使用している場合は、Class.forName("com.mysql.jdbc.Driver")ステートメントを追加する必要さえありません。自動リソース管理 (ARM) は、Java 7 にデフォルトで付属する JDBC 4.1 に追加されています。

于 2013-10-16T19:47:33.910 に答える
2

もっと大きな問題を解決したいと思うかもしれません。データベース接続情報などの構成データをサーブレットに直接入力しないでください。

Tomcatを使用していますか?単純に JNDI を使用できます。サーブレットを再コンパイルすることなく、データベースの詳細とドライバーを変更できます。

Tomcat 7.0 JNDI Datasource HOW-TOは、データベースにアクセスするためのさまざまな方法を示していますConnection

そのページには、Connection(Oracle 8i、9i &​​ 10g -> パート 3)を取得する方法と、MySQL 固有の構成を記述する方法のコード例があります。

正しい MySQL jar をダウンロードして、Tomcat のlib/ディレクトリ (または WAR のディレクトリWEB-INF/lib) に配置してください。

于 2013-10-16T19:53:18.587 に答える