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

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

新規登録して質問してみよう
ただいま回答率
85.48%
サーブレット

サーブレット(Servlets)とはウェブやアプリケーションサーバー上に動くプログラムのことであり、ウェブブラウザや他のHTTPクライエントとデータベースやHTTPサーバー上のアプリケーションの中間層としての働きをします。

Q&A

解決済

1回答

1523閲覧

{の位置 サーブレット 初心者

noririnrose

総合スコア13

サーブレット

サーブレット(Servlets)とはウェブやアプリケーションサーバー上に動くプログラムのことであり、ウェブブラウザや他のHTTPクライエントとデータベースやHTTPサーバー上のアプリケーションの中間層としての働きをします。

0グッド

0クリップ

投稿2018/11/19 01:50

{ の位置が悪いのかエラーが出てしまいます。

呼び出し元JSPからデータを受け取りのところの前に{をつけないと、下の部分でエラーが出てしまいますが、ここにつける必要はない。
呼び出し元JSPからデータを受け取りより下の部分は、以前問題なく
コンパイルできたので変える必要はないと思うのですがどこが問題か分かる方
教えていただけたらありがたいです### ヘディングのテキスト

該当コード

public class ListServlet extends HttpServlet {

private static final long serialVersionUID = 1L; private static final String UserList = null; private ServletRequest request; public ListServlet() { super(); } //dopostメソッドに対応 //secretform.jspの「ユーザ一覧」ボタンから呼び出される protected void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException{ //文字化け対策 request.setCharacterEncoding("UTF-8"); response.setContentType("text/html;charset=UTF-8"); String user = "*"; String password = "*"; /*Connection conn ; Statement stmt; C rs;*/ //ドライバの読み込み Class.forName("com.mysql.jdbc.Driver").newInstance(); String url ="jdbc:mysql://localhost/mydb?characterEncoding=UTF-8"; java.sql.Connection conn=DriverManager.getConnection(url,"user","password"); //SQL文実行 //SQL文(全体検索)の作成と実行 PreparedStatement stmt=conn.prepareStatement( "SELECT*FROM user LEFT JOIN details ON(user.id=details.id)" + "LEFT JOIN prefecture_mst ON(details.pref_id=prefecture_mst.pref_id)" + "ORDER BY user.id"); ResultSet rs=stmt.executeQuery(); //ResultSetからのデータの取り出し DriverManager out; out.println("<table>"); while(rs.next()) { int id=rs.getInt("id"); int age=rs.getInt("age"); String addressall=rs.getInt("pref_id")+rs.getString("address"); User user1=new User(); //((object)userList).add(user1); out.println("<tr>"+"<td>"+(id)+"</td>" +"<td user='id'>"+(age)+"</td>"); } out.println("</table>"); rs.close(); stmt.close(); conn.close(); }

}

// 呼び出し元Jspからデータ受け取り request.setCharacterEncoding("UTF8"); //呼び出し先Jspに渡すデータセット request.setAttribute("secretform","福岡"); request.setAttribute("princess","九州ツアー"); //list.jsp にページ遷移 RequestDispatcher dispathcher = request.getRequestDispatcher("list.jsp"); dispathcher.forward(request, response);

}
}

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

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

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

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

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

torisan

2018/11/19 02:23

{の数が4、}の数が6あります。以前コンパイルが通ったとおっしゃってますが、これでは通らないと思います。
noririnrose

2018/11/19 06:15

はい、ありがとうございます
guest

回答1

0

ベストアンサー

Java

1public class ListServlet extends HttpServlet { 2 3 private static final long serialVersionUID = 1L; 4 private static final String UserList = null; 5 private ServletRequest request; 6 7 public ListServlet() { 8 super(); 9 } // public ListServlet() 10 11 //dopostメソッドに対応 12 //secretform.jspの「ユーザ一覧」ボタンから呼び出される 13 protected void doPost(HttpServletRequest request,HttpServletResponse response) 14 throws ServletException,IOException{ 15 16 //文字化け対策 17 request.setCharacterEncoding("UTF-8"); 18 response.setContentType("text/html;charset=UTF-8"); 19 20 String user = "*"; 21 String password = "*"; 22 23 /*Connection conn ; 24 Statement stmt; 25 C rs;*/ 26 //ドライバの読み込み 27 Class.forName("com.mysql.jdbc.Driver").newInstance(); 28 String url ="jdbc:mysql://localhost/mydb?characterEncoding=UTF-8"; 29 java.sql.Connection conn=DriverManager.getConnection(url,"user","password"); 30 31 //SQL文実行 32 33 //SQL文(全体検索)の作成と実行 34 PreparedStatement stmt=conn.prepareStatement( 35 "SELECT*FROM user LEFT JOIN details ON(user.id=details.id)" 36 + "LEFT JOIN prefecture_mst ON(details.pref_id=prefecture_mst.pref_id)" 37 + "ORDER BY user.id"); 38 ResultSet rs=stmt.executeQuery(); 39 40 //ResultSetからのデータの取り出し 41 DriverManager out; 42 out.println("<table>"); 43 while(rs.next()) { 44 int id=rs.getInt("id"); 45 int age=rs.getInt("age"); 46 String addressall=rs.getInt("pref_id")+rs.getString("address"); 47 User user1=new User(); 48 49 //((object)userList).add(user1); 50 51 out.println("<tr>"+"<td>"+(id)+"</td>" 52 +"<td user='id'>"+(age)+"</td>"); 53 } // while(rs.next()) 54 out.println("</table>"); 55 56 rs.close(); 57 stmt.close(); 58 conn.close(); 59 60 } // protected void doPost(略) 61} // public class ListServlet extends HttpServlet 62 63// 呼び出し元Jspからデータ受け取り 64request.setCharacterEncoding("UTF8"); 65 66//呼び出し先Jspに渡すデータセット 67request.setAttribute("secretform","福岡"); 68request.setAttribute("princess","九州ツアー"); 69//list.jsp にページ遷移 70RequestDispatcher dispathcher = request.getRequestDispatcher("list.jsp"); 71dispathcher.forward(request, response); 72} // ??? 73} // ???

投稿2018/11/19 02:12

kunai

総合スコア5405

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

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

noririnrose

2018/11/19 06:17

回答、ありがとうございます あの後、解決したのですが原因は例外処理をしていなかったことでした。 コードを書いてくださったのでベストアンサーとさせていただきます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問