** 環境/前提条件 [#m8c43e1c] - OS X 10.11 El Capitan - Eclipse Java EE IDE for Web Developers - Version: 4.5.2 (Mars 2) - Apache Tomcat 8.0.39 - MySQL 5.7.13 - データベース名: test - テーブル名: users mysql> select * from users; +------+---------+-----------------+----------+ | id | name | email | password | +------+---------+-----------------+----------+ | 1 | kimura | kimura@foo.com | kimpwd | | 2 | tanaka | tanaka@foo.com | tanapwd | | 3 | yoshida | yoshida@foo.com | yoshipwd | +------+---------+-----------------+----------+ ** JDBCドライバのダウンロード [#k5dd6074] - https://dev.mysql.com/downloads/connector/j/ へアクセス - mysql-connector-java-5.1.40.tar.gz をダウンロード &color(red){※}; ダウンロード時にOracleアカウントが必要 - 解凍フォルダ内の mysql-connector-java-5.1.40-bin.jar をTomcatのlibフォルダ配下へコピー $ cp ~/Downloads/mysql-connector-java-5.1.40/mysql-connector-java-5.1.40-bin.jar /Applications/apache-tomcat-8.0.39/lib/ ** サンプルプロジェクト&Servlet作成 [#a6d0aae9] - Dynamic Web Projectを新規作成(プロジェクト名: DBSampleServlet) - Servletを新規作成(クラス名: SelectSampleServlet) - 事前に用意したusersテーブルからSELECTしてHTMLとして出力するサンプルプログラム import java.io.IOException; import java.io.PrintWriter; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.util.ArrayList; 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 SelectSampleServlet */ @WebServlet("/SelectSampleServlet") public class SelectSampleServlet extends HttpServlet { private static final long serialVersionUID = 1L; /** * @see HttpServlet#HttpServlet() */ public SelectSampleServlet() { super(); // TODO Auto-generated constructor stub } /** * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse * response) */ @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub java.sql.Connection conn = null; Statement stmt = null; ResultSet rs = null; ArrayList<String> list = new ArrayList<String>(); try { Class.forName("com.mysql.jdbc.Driver"); conn = DriverManager.getConnection("jdbc:mysql://localhost/test", "root", "hoge"); stmt = conn.createStatement(); rs = stmt.executeQuery("Select * from users"); while (rs.next()) { String s = "<td>" + rs.getInt(1) + "</td>" + "<td>" + rs.getString(2) + "</td>" + "<td>" + rs.getString(3) + "</td>" + "<td>" + rs.getString(4) + "</td>"; + "<td>" + rs.getString(3) + "</td>" + "<td>" + rs.getString(4) + "</td>"; list.add(s); } } catch (Exception e) { // TODO: handle exception e.printStackTrace(); } finally { if (rs != null) { try { rs.close(); } catch (SQLException sqlEx) { } } if (conn != null) { try { conn.close(); } catch (SQLException sqlEx) { } } } PrintWriter out = response.getWriter(); out.println("<html>"); out.println("<meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\">"); out.println("<head><title>" + "Sample DB Servlet" + "</title></head>"); out.println("<body>"); out.println("<table border=1>"); out.println("<tr><th>id</th>" + "<th>name</th>" + "<th>email</th>" + "<th>password</th></tr>"); for (String str : list) { out.println("<tr>" + str + "</tr>"); } out.print("</table>"); out.println("</body>"); out.println("</html>"); } /** * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse * response) */ protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub doGet(request, response); } } ** Servlet実行 [#fb85125c] - DBSampleServlet > Java Resources > src > SelectSampleServlet.java を選択 - 右クリック > Run As > Run on Server > Tomcat v8.0 Server - http://localhost:8080/DBSampleServlet/SelectSampleServlet へアクセス - HTMLのテーブル内にDBテーブル情報が出力されていることを確認