質問をすることでしか得られない、回答やアドバイスがある。

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

新規登録して質問してみよう
ただいま回答率
85.50%
Java

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

Q&A

解決済

1回答

1592閲覧

DAOの処理の実行について

kisara

総合スコア10

Java

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

0グッド

0クリップ

投稿2019/05/27 04:35

DAOの処理についての質問です。
「CreateUserServlet2.java」において、38行目から「CreateUserDAO」を呼び出して処理を行いたいのですが、カッコ内の変数が解決できないとのことです。
この二つのプログラムに関して、どのような変更を加えれば、前者のサーブレットから、後者を呼び出すことができるのでしょうか。
ご教授いただけると幸いです。
よろしくお願いいたします。

CreateUserServlet2.java package la.Servlet; import java.io.IOException; import javax.servlet.RequestDispatcher; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import la.bean.CreateUserBean; import la.dao.CreateUserDAO; import la.dao.ShowIdDAO; //275ページ OrderServlet参照 @WebServlet("/CreateUserServlet2") public class CreateUserServlet2 extends HttpServlet { protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //beanの呼び出し CreateUserBean cubean=new CreateUserBean(); //sessionスコープにBeanのデータを格納 HttpSession session = request.getSession(); cubean = (CreateUserBean)session.getAttribute("profile"); try { //CreateUserDAOの呼び出し CreateUserDAO dao = new CreateUserDAO(); dao.CreateUser(userName,userPost,userAddress,userTel,userEmail,userPassword,userBirthday,joinDate); System.out.print("完了"); ShowIdDAO daoId = new ShowIdDAO(); request.setAttribute("yourId",daoId); gotoPage(request, response, "/createUserSuccess.jsp"); }catch(Exception e){ e.printStackTrace(); request.setAttribute("message", "内部エラーが発生しました"); gotoPage(request,response,"error.jsp"); } } private void gotoPage(HttpServletRequest request, HttpServletResponse response, String page) throws ServletException, IOException{ RequestDispatcher rd= request.getRequestDispatcher(page); rd.forward(request, response); } }
CreateUserDAO.java package la.dao; import java.sql.Connection; import java.sql.Date; import java.sql.DriverManager; import java.sql.PreparedStatement; public class CreateUserDAO { private Connection con; public CreateUserDAO()throws DAOException{ getConnection(); System.out.println("データベースに接続しました"); } public void CreateUser(String userName,String userPost,String userAddress,String userTel,String userEmail, String userPassword, Date userBirthday,Date joinDate) throws DAOException{ if(con==null) getConnection(); PreparedStatement st=null; try{ String sql="INSERT INTO userinfo(" + "user_name,user_post,user_address,user_tel,user_email,user_password,user_birthday,join_date) " + "VALUES(?,?,?,?,?,?,?,CURRENT_DATE)"; st = con.prepareStatement(sql); st.setString(1,userName); st.setString(2,userPost); st.setString(3,userAddress); st.setString(4,userTel); st.setString(5,userEmail); st.setString(6,userPassword); st.setDate(7,userBirthday); st.executeUpdate(); st.close(); return; }catch(Exception e) { e.printStackTrace(); throw new DAOException("レコードの操作に失敗しました。"); }finally { try { if(st!=null) st.close(); }catch(Exception e) { throw new DAOException("リソースの開放に失敗しました"); } } } private void getConnection() throws DAOException{ try { // JDBCドライバの登録 Class.forName("org.postgresql.Driver"); // URL,ユーザ名,パスワード設定 String url = "jdbc:postgresql:webbook"; String user = "postgres"; String password = "himitu"; // データベース接続 con = DriverManager.getConnection(url, user, password); }catch(Exception e) { e.printStackTrace(); throw new DAOException("接続に失敗しました。"); } } }

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

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

java

1dao.CreateUser(userName,userPost,userAddress,userTel,userEmail,userPassword,userBirthday,joinDate);

にて指定している
userName,userPost,userAddress,userTel,userEmail,userPassword,userBirthday,joinDate
は、どこから取得しているのでしょうか。

どこからも値が定義されていないように見えます。

投稿2019/05/27 04:47

A-pZ

総合スコア12011

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kisara

2019/05/27 05:14

ご回答ありがとうございます。 getterを直前に記述し、定義してみます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問