前提
データベース内にあるデータをサーブレットする勉強をしてます。
mysqlを利用しています。
実現したいこと
データベース内のデータをサーブレットし、表として表示させたい。
発生している問題・エラーメッセージ
該当のソースコード
Java
1package servlet; 2 3import java.io.IOException; 4import java.io.PrintWriter; 5import java.sql.Connection; 6import java.sql.DriverManager; 7import java.sql.ResultSet; 8import java.sql.SQLException; 9import java.sql.Statement; 10 11import javax.servlet.ServletException; 12import javax.servlet.annotation.WebServlet; 13import javax.servlet.http.HttpServlet; 14import javax.servlet.http.HttpServletRequest; 15import javax.servlet.http.HttpServletResponse; 16 17/** 18 * Servlet implementation class MovieFromDB 19 */ 20@WebServlet("/MovieFromDB") 21public class MovieFromDB extends HttpServlet { 22 23protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 24 25Connection con = null; 26response.setContentType("text/html; charset=Windows-31J"); 27PrintWriter out = response.getWriter(); 28out.println("<html><head></head><body>"); 29out.println("<table border=’true’>"); 30out.println("<tr><th>名前</th><th>監督</th><th>年</th><th>主演</th></tr>"); 31 32try { 33Class.forName("com.mysql.jdbc.Driver"); 34 35String url = "jdbc:mysql://localhost:3306/practice"; 36String user = "root"; 37String password = "12345"; 38 39con = DriverManager.getConnection(url, user, password); 40Statement stmt = con.createStatement(); 41ResultSet rs = stmt.executeQuery("SELECT * FROM movie;"); 42while (rs.next()) { 43out.print("<tr>"); 44out.print("<td>"+rs.getString("name")+"</td>"); 45out.print("<td>"+rs.getString("dir") + "</td>"); 46out.print("<td>"+rs.getInt("year") + "</td>"); 47out.print("<td>"+rs.getString("main") + "</td>"); 48out.print("</tr>"); 49} 50} 51catch (ClassNotFoundException e) { 52out.println("クラスが見つかりません。"); 53} 54catch (SQLException e) { 55out.println("データベース操作中にエラーがありました。"); 56e.printStackTrace(); 57} 58finally { 59try { 60if (con != null) 61con.close(); 62} 63catch (SQLException e) {} 64} 65 66out.println("</table>"); 67out.println("</body></html>"); 68out.close(); 69} 70}
試したこと
Class.forNameを削除してみたり、JSPを利用しようとしたりした。
補足情報(FW/ツールのバージョンなど)
mysql-connector-java8.0.29.jarはビルドパスしています。
エクリプスを使って開発をしています。
回答1件
あなたの回答
tips
プレビュー