実現したいこと
データベースを学びたい
発生している問題・分からないこと
DAOとUtilのクラスはつくりました
該当のソースコード
java
1package HelloServlet; 2 3import java.io.IOException; 4import javax.servlet.ServletException; 5import javax.servlet.annotation.WebServlet; 6import javax.servlet.http.HttpServlet; 7import javax.servlet.http.HttpServletRequest; 8import javax.servlet.http.HttpServletResponse; 9 10/** 11 * Servlet implementation class HelloServlet. 12 */ 13@WebServlet("/HelloServlet") // URL「/HelloServlet」でアクセスされた時に実行 14 15public class HelloServlet extends HttpServlet { 16 17 @Override 18 protected void doGet(HttpServletRequest request, 19 HttpServletResponse response) 20 throws ServletException, IOException { 21 22 23 24 request.setCharacterEncoding("UTF-8"); 25 26 String name = request.getParameter("name"); 27 String gender = request.getParameter("gender"); 28 String[] hobby = request.getParameterValues("hobby"); 29 String other = request.getParameter("other"); 30 String age = request.getParameter("age"); 31 32 String hobbyText = ""; 33 boolean otherChecked = false; 34 35 if (hobby != null) { 36 for (String h : hobby) { 37 38 if ("その他".equals(h)) { 39 otherChecked = true; 40 continue; 41 } 42 43 if (hobbyText.isEmpty()) { 44 hobbyText = h; 45 } else { 46 hobbyText += "\n " + h; 47 } 48 } 49 } 50 request.setAttribute("result", name); 51 request.setAttribute("gender", gender); 52 request.setAttribute("hobby", hobbyText); 53 request.setAttribute("age", age); 54 request.setAttribute("otherChecked", otherChecked); 55 request.setAttribute("otherText", other); 56 57 request.getRequestDispatcher("/result.jsp") 58 .forward(request, response); 59 } 60 @Override 61 protected void doPost(HttpServletRequest request, 62 HttpServletResponse response) 63 throws ServletException, IOException { 64 // レスポンスの文字コードをUTF-8に設定 65 66 response.setContentType("application/json;charset=UTF-8"); 67 68 System.out.println("doPost開始"); 69 // フォームのname項目の値を取得 70 String name = request.getParameter("name" ); 71 String gender = request.getParameter("gender"); 72 String[] hobby = request.getParameterValues("hobby"); 73 String other = request.getParameter("other"); 74 String age = request.getParameter("age" ); 75 76 String hobbyText = ""; 77 boolean otherChecked = false; 78 if (hobby != null) { 79 for (String h : hobby) { 80 81 // 「その他」は趣味一覧に入れない 82 if ("その他".equals(h)) { 83 84 otherChecked = true; 85 break; 86 } 87 88 if (hobbyText.isEmpty()) { 89 hobbyText = h; 90 } else { 91 hobbyText += "\n " + h; 92 } 93 } 94 } 95 96 97 98 99 100 101 // コンソールに入力値を出力(動作確認用) 102 System.out.println(name); 103 104 System.out.println("name=" + name); 105 System.out.println("gender=" + gender); 106 System.out.println("hobby=" +hobby ); 107 System.out.println("otherr=" + other); 108 System.out.println("age=" + age); 109 System.out.println("otherChecked=" + otherChecked); 110 111 response.setContentType("text/plain;charset=UTF-8"); 112 String result = 113 "名前:" + name 114 + "\n性別:" + gender 115 + "\n趣味:" + hobbyText 116 + "\n年齢:" + age; 117 118 if (otherChecked) { 119 result += "\nその他:" + other; 120 } 121 122 response.getWriter().write(result); 123 124 } 125}
試したこと・調べたこと
- teratailやGoogle等で検索した
- ソースコードを自分なりに変更した
- 知人に聞いた
- その他
上記の詳細・結果
検索したがわからなかった
補足
流れはOrchardさんの書かれたとおり。
まずは、サーブレットを介さず、main()メソッドから始まるコンソールアプリケーションを作ってみるのがいいとおもいますよ。真剣にサーブレットからDBに触れようとすると、設定方法調べるだけでうんざり…。
「データベースを学びたい」というのが主目的であれば、まずは簡単なサンプルから。用意した「DAOとUtilのクラス」もきっと使えるでしょう。
https://www.google.com/search?q=java+jdbc+sample
回答1件
あなたの回答
tips
プレビュー