- 締切済み
forward()でエラーが出て対応ができません。
どなたか、教えてください。 サーブレットからDBに接続して、検索条件(名前)が一致しているレコードを取得。 request.setAttribute リクエストデータにその人の住所をセットし、別のjspファイルに送り 表示するプログラムなんですが。 getServletConfig().getServletContext().getRequestDispatcher("/jsp/result1.jsp").forward(request, response);の部分で、コミット済みというエラーが発生します。 下記がそのプログラムです。 protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { request.setCharacterEncoding("windows-31J"); String name = request.getParameter("name1"); Connection con=null;; PreparedStatement ps =null; try{ Context context = new InitialContext(); DataSource ds =(DataSource)context.lookup("java:comp/env/jdbc/FrameWork"); con = ds.getConnection(); ps = con.prepareStatement("SELECT * FROM address where name like ?;"); ps.setString(1, name); ResultSet rs = ps.executeQuery(); rs.next(); String address =rs.getString("address"); request.setAttribute("address1", address); rs.close(); ps.close(); }catch(Exception e){ e.printStackTrace(); }finally{ try{ con.close(); }catch(SQLException e){e.printStackTrace();} } try{ getServletConfig().getServletContext().getRequestDispatcher ( "/jsp/result1.jsp").forward(request, response); }catch(Exception e){System.out.print(e);} } } エラーにも関わらず、ページは切り替わるのですが、アドレスはNULL値が表示されます。 一応、デバックをしてSQLの取得、リクエストデータのセットまでは、問題ないのは確認済みです。 乱文でわかりづらいのですが、どなたかお願いいたします。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- x_jouet_x
- ベストアンサー率68% (162/236)
try { ... } catch(Exception e) { System.out.print(e); } としているのであれば、実行環境の標準出力かログファイルにエラーログが出力されていると思います。 それを教えて下さい。