DBへの接続後、所定の入力されたデータのテーブルへの書き込みを行いたいと考えています。
しかし、処理をどこに書いてよいのかわからずに右往左往してしまっている状況です。(今回DBへの書き込みのみなので、詳しいプロジェクトの内容などは省略させていただきたいです。)
現在、try catch文を使用し、サーブレットのdoPostの中にDBへの処理を記述しています。(処理というと語弊があるので、接続のみという解釈でお願いいたします)
しかし、doPostの中にDBへの処理を記述するのは少し違和感があり、JSPへの文字列引き渡しのみに使っているのでTry Catch文にしないとエラーが出てしまいます。
新しくJavaプロジェクトファイルを作成しなければいけないのでしょうか?
どなたか、どこにDBへの接続に関する処理を記述したらよいのか、DBへのデータ更新はどのように記述すればよいのかをご助言ください。(以下にDBのファイル名とソースコードを掲載します。)
また、必要な情報等がございましたらコメントにて教えていただけますと幸いです。可能な限り開示したいと思います。
DBソースファイル名:Darabase3.accdb
ソースコード
Java言語
1package Form1; 2 3import java.io.IOException; 4import java.sql.*; 5 6import javax.servlet.RequestDispatcher; 7import javax.servlet.ServletException; 8import javax.servlet.annotation.WebServlet; 9import javax.servlet.http.HttpServlet; 10import javax.servlet.http.HttpServletRequest; 11import javax.servlet.http.HttpServletResponse; 12 13/** 14 * Servlet implementation class form1 15 */ 16@WebServlet("/form1") 17public class form1 extends HttpServlet { 18 private static final long serialVersionUID = 1L; 19 20 /** 21 * @see HttpServlet#HttpServlet() 22 */ 23 public form1() { 24 super(); 25 // TODO Auto-generated constructor stub 26 27 } 28 29 /** 30 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) 31 */ 32 protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 33 // TODO Auto-generated method stub 34 System.out.println("Test1"); 35 String view = "/WEB-INF/view/NewForm.jsp"; 36 RequestDispatcher dispatcher = request.getRequestDispatcher(view); 37 38 dispatcher.forward(request, response); 39 } 40 41 /** 42 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) 43 */ 44 protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 45 // TODO Auto-generated method stub 46 47 System.out.println("Test2"); 48 String value = request.getParameter("name"); 49 System.out.println(value); 50 String value1 = request.getParameter("Adress"); 51 System.out.println(value1); 52 String value2 = request.getParameter("callphone"); 53 System.out.println(value2); 54 String value3 = request.getParameter("nickname"); 55 System.out.println(value3); 56 String value4 = request.getParameter("password"); 57 System.out.println(value4); 58 59 request.setAttribute(value, "name"); 60 request.setAttribute(value1, "Adress"); 61 request.setAttribute(value2, "callphone"); 62 request.setAttribute(value3, "nickname"); 63 request.setAttribute(value4, "password"); 64 65 String view1 = "/WEB-INF/view/Result.jsp"; 66 RequestDispatcher dispatcher1 = request.getRequestDispatcher(view1); 67 68 dispatcher1.forward(request, response); 69 70 //DBへのデータ格納を行う処理 71 72 try { 73 Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); 74 } catch (ClassNotFoundException e) { 75 // TODO 自動生成された catch ブロック 76 e.printStackTrace(); 77 } 78 Connection con = null; 79 try { 80 con = DriverManager.getConnection("jdbc:odbc:Database3.accdb"); 81 } catch (SQLException e) { 82 // TODO 自動生成された catch ブロック 83 e.printStackTrace(); 84 } 85 try { 86 Statement stmt = con.createStatement(); 87 } catch (SQLException e) { 88 // TODO 自動生成された catch ブロック 89 e.printStackTrace(); 90 } 91 92 93 //doGet(request, response); 94 } 95 96}
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。