
test_db.jspからtest_db.javaの表示までは上手く行くのですが、それ以降が結果反映されません。Eclipse ver.2019-03(4.11.0)を使っています。
エラーは起きていません。jsp上のフォームに値を入力し、submitすることでサーブレットで出力しているhtmlのページへと推移はできます。ですが、その結果がDBに追加されない、と言う状態です。
test_db.jsp
pageEncoding="UTF-8"%>; <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>ユーザー登録</title> </head> <body> <form action="test_db" method="post"> 名前:<;br>; <input type="text" name="name"><br>; 性別:<br> 男<input type="radio" name="gender" value="0"> 女<input type="radio" name="gender" value="1"> <input type="submit" value="登録"> </form> </body> </html>
test_db.java
package
1 2import java.io.IOException; 3import java.io.PrintWriter; 4 5import javax.servlet.ServletException; 6import javax.servlet.annotation.WebServlet; 7import javax.servlet.http.HttpServlet; 8import javax.servlet.http.HttpServletRequest; 9import javax.servlet.http.HttpServletResponse; 10 11/** 12 * Servlet implementation class FormSampleServlet 13 */ 14@WebServlet("/test_db") 15public class test_db extends HttpServlet { 16 private static final long serialVersionUID = 1L; 17 18 //インスタンス化 値受け渡し 19 //ConnectionClass obj = new ConnectionClass(); 20 21 /** 22 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) 23 */ 24 25 static final String URL = "jdbc:mysql://localhost/data_data"; 26 static final String USERNAME = "rararaio"; 27 static final String PASSWORD = "Vwxyz123"; 28 29 protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 30 31 //リクエストパラメータを取得 32 request.setCharacterEncoding("UTF-8"); 33 String name = request.getParameter("name"); 34 String gender = request.getParameter("gender"); 35 36 //リクエストパラメータをチェック 37 String errorMsg = ""; 38 if(name == null || name.length() == 0) { 39 errorMsg += "名前が入力されていません<br>"; 40 } 41 if(gender == null || gender.length() == 0) { 42 errorMsg += "性別が選択されていません<br>"; 43 } else { 44 if(gender.equals("0")) { 45 gender = "男性"; 46 } else if(gender.equals("1")) { 47 gender = "女性"; 48 } 49 } 50 51 //表示するメッセージ 52 String msg = "'" + name + "','" + gender + "'"; 53 if(errorMsg.length() != 0) { 54 msg = errorMsg; 55 } 56 57 //HTMLを出力 58 response.setContentType("text/html; charset=UTF-8"); 59 PrintWriter out = response.getWriter(); 60 out.println("<!DOCTYPE html>"); 61 out.println("<html>"); 62 out.println("<head>"); 63 out.println("<meta charset=\"UTF-8\">"); 64 out.println("<title>ユーザー登録結果</title>"); 65 out.println("</head>"); 66 out.println("<body>"); 67 out.println("<p>"+msg+"</p>"); 68 out.println("</body>"); 69 out.println("</html>"); 70 71 } 72 73}
test_db_connection.java
package
1import java.sql.Connection; 2import java.sql.DriverManager; 3import java.sql.SQLException; 4import java.sql.Statement; 5 6public class test_db_connection { 7 8 static final String URL = "jdbc:mysql://localhost/data_data"; 9 static final String USERNAME = "rararaio"; 10 static final String PASSWORD = "Vwxyz123"; 11 12 public static void main(String[] args) { 13 14 try ( 15 Connection connection = DriverManager.getConnection(URL, USERNAME, PASSWORD); 16 Statement statement = connection.createStatement(); 17 ) { 18 19 String sql = "INSERT INTO test VALUES (msg);"; 20// String sql = "INSERT INTO test VALUES ('matuda','man');"; 21 int result = statement.executeUpdate(sql); 22 System.out.println("結果1:" + result); 23 24// sql = "INSERT INTO music (name, title, year) VALUES ('Aril');"; 25 sql = "INSERT INTO test VALUES ('tanaka','woman');"; 26 result = statement.executeUpdate(sql); 27 System.out.println("結果2:" + result); 28 29 } catch (SQLException e) { 30 31 e.printStackTrace(); 32 33 } 34 35 }
ご回答よろしくお願いします。


