質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

Java EE

Java EE(Java Enterprise Edition)はJavaベースのテクノロジーとその相互運用の仕様をまとめたものです。サーバとクライアントのアーキテクチャを規定し、特定アプリケーションのクラス用に定義されたテクノロジー設定のプロファイルを使用します。

Eclipse

Eclipseは、IBM社で開発された統合開発環境のひとつです。2001年11月にオープンソース化されました。 たくさんのプラグインがあり自由に機能を追加をすることができるため、開発ツールにおける共通プラットフォームとして位置づけられています。 Eclipse自体は、Javaで実装されています。

servlet

Servletとは、Webページの動的な生成やデータ処理などをサーバ上で実行するために、Javaで作成されたプログラムです。 ショッピングサイトやオンラインバンキングといった、動的なウェブサイトの構築に用いられています。

Tomcat

TomcatはApache Software Foundation (ASF)で開発されたオープンソースのWebコンテナです。

Q&A

解決済

1回答

1370閲覧

コネクションプールの設定エラーについて

Yakusugi

総合スコア123

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

Java EE

Java EE(Java Enterprise Edition)はJavaベースのテクノロジーとその相互運用の仕様をまとめたものです。サーバとクライアントのアーキテクチャを規定し、特定アプリケーションのクラス用に定義されたテクノロジー設定のプロファイルを使用します。

Eclipse

Eclipseは、IBM社で開発された統合開発環境のひとつです。2001年11月にオープンソース化されました。 たくさんのプラグインがあり自由に機能を追加をすることができるため、開発ツールにおける共通プラットフォームとして位置づけられています。 Eclipse自体は、Javaで実装されています。

servlet

Servletとは、Webページの動的な生成やデータ処理などをサーバ上で実行するために、Javaで作成されたプログラムです。 ショッピングサイトやオンラインバンキングといった、動的なウェブサイトの構築に用いられています。

Tomcat

TomcatはApache Software Foundation (ASF)で開発されたオープンソースのWebコンテナです。

0グッド

0クリップ

投稿2020/10/07 13:10

Servletでコネクションプールを使うための記述をしてみたのですが、
69行目の「conn = ds.getConnection();」で下記のようなエラーが出てしまいました。
「The method getConnection() is undefined for the type DataSource」

エラーを消すためにquick fixを試してみたり、
最初にdsを定義している24行目の「DataSource ds;」の書き方に問題が無いか再度確認してみたのですが、
原因が掴めていません。

ご助力のほど、よろしくお願い致します。

package info.searchman.lesson.java_mysql; import java.io.IOException; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import javax.activation.DataSource; import javax.naming.InitialContext; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class SearchServlet extends HttpServlet { /** * */ private static final long serialVersionUID = 1L; DataSource ds; public void init() throws ServletException { try { InitialContext ic = new InitialContext(); ds = (DataSource) ic.lookup("java:comp/env/jdbc/searchman"); } catch (Exception e) { } } protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // initial settings of DB Connection conn = null; PreparedStatement pstmt = null; ResultSet rset = null; // setting text code request.setCharacterEncoding("Windows-31J"); // get the name in index.jsp String name = request.getParameter("name"); // get the id in index.jsp String id = request.getParameter("id"); // get the sei in index.jsp String sei = request.getParameter("sei"); // get the nen in index.jsp String nen = request.getParameter("nen"); try { // register JDBC Driver // Class.forName("com.mysql.jdbc.Driver"); // // creating Connection // conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/company_db?serverTimezone=UTC&useSSL=false", // "suser", "spass"); conn = ds.getConnection(); // preparing for creating sql StringBuffer sql = new StringBuffer(); // creating sql from name sql.append("select id, name, sei, nen, address from shain_table where name like '%"); sql.append(name + "%'"); // if id is selected, add it if (id != "") { sql.append("and id ='" + id + "'"); } // if sei is selected, add it if (sei != "") { sql.append("and sei ='" + sei + "'"); } // if nen is selected, add it if (nen != "") { sql.append("and nen ='" + nen + "'"); } // display sql System.out.println(sql); // display sql sentence pstmt = conn.prepareStatement(new String(sql)); // execute sql pstmt.execute(); // put the executed result into ResultSet class rset = pstmt.executeQuery(); // transfer the data to the transition page(put it by Attribute) request.setAttribute("kekka", rset); // move on to search.jsp request.getRequestDispatcher("/search.jsp").forward(request, response); // terminate the used objects rset.close(); pstmt.close(); conn.close(); } catch (Exception e) { e.printStackTrace(); String status ="Seearch is failed. Please contact the system manager"; request.setAttribute("status", status); request.getRequestDispatcher("/result.jsp").forward(request, response); } finally { try { // just in case, terminate the DB connection with finally statement conn.close(); } catch (Exception e) { } } } }

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

自己解決

DataSource ds;の部分で、sqlのimportをしていなかったため、失敗していました。
正常にインポートしたところ、無事に動きました。

投稿2020/10/21 13:55

Yakusugi

総合スコア123

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問