質問するログイン新規登録

Q&A

解決済

1回答

95閲覧

サーブレットに?SQLを繋げたいんですけどなにをどうすればいいかわからない

yuuki0701

総合スコア1

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

SQL

SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

servlet

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

0グッド

0クリップ

投稿2026/08/05 00:55

0

0

実現したいこと

データベースを学びたい

発生している問題・分からないこと

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等で検索した
  • ソースコードを自分なりに変更した
  • 知人に聞いた
  • その他
上記の詳細・結果

検索したがわからなかった

補足


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

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

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

shiketa

2026/08/05 02:59

流れはOrchardさんの書かれたとおり。 まずは、サーブレットを介さず、main()メソッドから始まるコンソールアプリケーションを作ってみるのがいいとおもいますよ。真剣にサーブレットからDBに触れようとすると、設定方法調べるだけでうんざり…。 「データベースを学びたい」というのが主目的であれば、まずは簡単なサンプルから。用意した「DAOとUtilのクラス」もきっと使えるでしょう。 https://www.google.com/search?q=java+jdbc+sample
guest

回答1

0

ベストアンサー

こんにちは!
大まかな流れとしては
1、JDBCドライバ(JavaをDBの言語に翻訳)をダウンロードして配置
2、DBでテーブルを作成
3、サーブレットからDBに接続し登録処理
になるかと思います。
以下のサイトとかも良さそうでした。
初心者でもわかる!Javaでデータベース連携を実現する方法【JDBC徹底解説】

投稿2026/08/05 02:53

yuyafujiwara

総合スコア86

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.25%

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

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

質問する

関連した質問