前提・実現したいこと
プログラミング初心者です。
List.jspにてセレクトボックスの入力フォームを作成し、DaoクラスでDB接続し入力された値をDBに格納し、Info.jspにて、入力しDBに格納した値を表示したいです。
リダイレクトに対する理解が乏しく、
書籍や関連サイトを見ても
下記の考え方のどの部分がリダイレクトにあたるか理解できませんでした。
Listのセレクトボックスで値が入力される→Daoで値をDBに格納する→値を取り出す→Infoで値を表示する
以前、フォワードでListからInfoへ画面遷移はすることはできました。
フォワードではなくリダイレクトで遷移しなくていけない理由が「なんとなく」としか理解できず、自ら言説明もできない状態です。参考サイトなどのリダイレクト利用方法では、条件によりAのページかBのページへ遷移するので画面遷移に分岐条件があればリダイレクトである必要があるのかなと現状理解しております。
なので今回自分が作りたいものがなぜリダイレクトで行う必要があるのかがどうしても理解できず、どのようなイメージの元作るべきか分かりません。
Beanクラスでは入力値のセットとゲットをしています。
DaoクラスではDB接続と、DBへのSQL文(Beanクラスinsertする)、DBへのSQL文(値を取り出す文)があります。
発生している問題・エラーメッセージ
Listページの登録ボタンを押すと、画面遷移先が真っ白になっている。 遷移先のURLはInfoページを示している
該当のソースコード
Java
CustomerInfo.java protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub request.setCharacterEncoding("utf-8"); Bean bean = new Bean(); bean.setProductId(Integer.parseInt(customerId)); bean.setProductGenreCode(customerCode); CustomerDao dao = new customerDao(); List<Bean> DaoList = dao.findAll(); dao.insert(bean); RequestDispatcher dispatcher = request.getRequestDispatcher("/WEB-INF/CustomerList.jsp"); response.sendRedirect(CustomerList); } catch (ClassNotFoundException | SQLException e) { e.printStackTrace(); } finally { } ソースコード
試したこと
response.sendRedirect();のメソッド部分に
・URLを直接書き込んだ。
・url変数を定義してメソッド部分にurl変数を入れた。
補足情報(FW/ツールのバージョンなど)
あなたの回答
tips
プレビュー