本文で使用したリストです。また、リスト下部のリンクをクリックすることで行番号なしのテキストファイルをダウンロードできます。ファイルはシフトJISになっていますので、漢字コードを適宜変更してご利用ください。
1 import java.io.*; 2 import javax.servlet.*; 3 import javax.servlet.http.*; 4 public class Sample extends HttpServlet 5 { 6 public void doGet (HttpServletRequest request,HttpServletResponse response) 7 throws ServletException, IOException 8 { 9 PrintWriter out; 10 response.setContentType("text/html"); 11 out = response.getWriter(); 12 out.println("<HTML>"); 13 out.println("<BODY bgcolor=\"#FFFFFF\">"); 14 out.println("<H1>HTML</H1>"); 15 out.println("</BODY></HTML>"); 16 out.close(); 17 } 18 }
1 import java.io.*; 2 import javax.servlet.*; 3 import javax.servlet.http.*; 4 import java.net.*; 5 import java.sql.*; 6 7 public class ServletExample1 extends HttpServlet{ 8 public void doGet (HttpServletRequest request,HttpServletResponse response) 9 throws ServletException, IOException{ 10 11 String server = "localhost"; //MySQLサーバ 12 String db = "ATMARKIT"; // 13 String user = "test"; //ユーザー名 14 String pass = "test2001"; //パスワード 15 String url = "jdbc:mysql://" + server + "/" + db + "?useUnicode=true&characterEncoding=EUC_JP"; 16 Connection con = null; 17 18 //HTML表示のため 19 PrintWriter out; 20 response.setContentType("text/html; charset=EUC_JP"); 21 out = response.getWriter(); 22 out.println("<HTML><HEAD><TITLE>servletからの接続1</TITLE></HEAD><BODY>"); 23 24 try{ 25 //ドライバのロード 26 Class.forName("org.gjt.mm.mysql.Driver"); 27 28 //MySQLサーバへの接続 29 con = DriverManager.getConnection(url,user,pass); 30 31 //Statementオブジェクトの生成 32 Statement stmt = con.createStatement(); 33 //漢字を含んだSQL文 34 String sql_str = "INSERT INTO list (name,memo) VALUES ('4番目','サーブレットからのテスト')"; 35 stmt.executeUpdate(sql_str); 36 out.println("漢字を含んだレコードの挿入成功です!"); 37 38 //切断 39 con.close(); 40 stmt.close(); 41 out.close(); 42 }catch(SQLException e) { 43 out.println("接続失敗です〜<br>\n理由:" + e.toString()); 44 }catch(Exception e){ 45 e.printStackTrace(); 46 }finally{ 47 try{ 48 //切断 49 con.close(); 50 }catch(Exception e){} 51 } 52 } 53 54 }
1 import java.io.*; 2 import javax.servlet.*; 3 import javax.servlet.http.*; 4 import java.net.*; 5 import java.sql.*; 6 7 public class ServletExample2 extends HttpServlet{ 8 public void doPost (HttpServletRequest request,HttpServletResponse response) 9 throws ServletException, IOException{ 10 11 String server = "localhost"; //MySQLサーバ 12 String db = "ATMARKIT"; // 13 String user = "test"; //ユーザー名 14 String pass = "test2001"; //パスワード 15 String url = "jdbc:mysql://" + server + "/" + db + "?useUnicode=true&characterEncoding=EUC_JP"; 16 Connection con = null; 17 18 //HTML表示のため 19 PrintWriter out; 20 response.setContentType("text/html; charset=EUC_JP"); 21 out = response.getWriter(); 22 out.println("<HTML><HEAD><TITLE>servletからの接続2</TITLE></HEAD><BODY>"); 23 //フォームの値を取得 JIS, コードの自動検出を使用 24 String name = new String(request.getParameter("name").getBytes("8859_1"),"JISAutoDetect"); 25 String memo = new String(request.getParameter("memo").getBytes("8859_1"),"JISAutoDetect"); 26 //入力条件が満たされている場合 27 if( !name.equals("") && !memo.equals("")){ 28 try{ 29 //ドライバのロード 30 Class.forName("org.gjt.mm.mysql.Driver"); 31 32 //MySQLサーバへの接続 33 con = DriverManager.getConnection(url,user,pass); 34 35 //Statementオブジェクトの生成 36 Statement stmt = con.createStatement(); 37 38 //漢字を含んだSQL文 39 String sql_str = "INSERT INTO list (name,memo) VALUES ('"+name+"','"+memo+"')"; 40 stmt.executeUpdate(sql_str); 41 out.println("フォームからのレコードの挿入成功です!<br>"); 42 43 //切断 44 con.close(); 45 stmt.close(); 46 out.close(); 47 }catch(SQLException e) { 48 out.println("接続失敗です〜<br>\n理由:" + e.toString()); 49 }catch(Exception e){ 50 e.printStackTrace(); 51 }finally{ 52 try{ 53 //切断 54 con.close(); 55 }catch(Exception e){} 56 } 57 }else{ 58 out.println("<br>入力項目が足りません<br>"); 59 out.close(); 60 } 61 } 62 }
1 import java.io.*; 2 import javax.servlet.*; 3 import javax.servlet.http.*; 4 import java.net.*; 5 import java.sql.*; 6 7 public class ServletExample3 extends HttpServlet{ 8 public void doPost (HttpServletRequest request,HttpServletResponse response) 9 throws ServletException, IOException{ 10 11 String server = "localhost"; //MySQLサーバ 12 String db = "ATMARKIT"; // 13 String user = "test"; //ユーザー名 14 String pass = "test2001"; //パスワード 15 String url = "jdbc:mysql://" + server + "/" + db + "?useUnicode=true&characterEncoding=EUC_JP"; 16 Connection con = null; 17 String where_query = ""; 18 //HTML表示のため 19 PrintWriter out; 20 response.setContentType("text/html; charset=EUC_JP"); 21 out = response.getWriter(); 22 out.println("<HTML><HEAD><TITLE>servletからの接続3</TITLE></HEAD><BODY>"); 23 //フォームの値を取得 JIS, コードの自動検出を使用 24 String name = new String(request.getParameter("name").getBytes("8859_1"),"JISAutoDetect"); 25 String memo = new String(request.getParameter("memo").getBytes("8859_1"),"JISAutoDetect"); 26 //SQLクエリーのwhere節を作成 27 if( !name.equals("") ) 28 where_query = where_query + " and name like '%"+name+"%'"; 29 if( !memo.equals("") ) 30 where_query = where_query + " and memo like '%"+memo+"%'"; 31 32 //入力条件が満たされている場合 33 if(!where_query.equals("") && where_query.startsWith(" and")){ 34 35 //頭の" and"を削除 36 where_query = " WHERE"+where_query.substring(4,where_query.length()); 37 38 try{ 39 //ドライバのロード 40 Class.forName("org.gjt.mm.mysql.Driver"); 41 42 //MySQLサーバへの接続 43 con = DriverManager.getConnection(url,user,pass); 44 45 //Statementオブジェクトの生成 46 Statement stmt = con.createStatement(); 47 48 //SQL文 49 String sql_str = "SELECT * FROM list" + where_query; 50 51 //SQL文の実行とResultSetオブジェクトの取得 52 ResultSet rs = stmt.executeQuery(sql_str); 53 54 //検索結果の抽出 55 while(rs.next()){ 56 int rs_id = rs.getInt("id"); 57 String rs_name = rs.getString("name"); 58 String rs_memo = rs.getString("memo"); 59 60 out.println("<p>----------------<br>"); 61 out.println("<br>id:" + rs_id); 62 out.println("<br>name:" + rs_name); 63 out.println("<br>memo:" + rs_memo); 64 } 65 66 out.println("<br>"+sql_str+"<br>検索結果は以上です<br>"); 67 68 //切断 69 rs.close(); 70 con.close(); 71 stmt.close(); 72 out.close(); 73 74 }catch(SQLException e) { 75 out.println("接続失敗です〜\n理由:" + e.toString()); 76 out.close(); 77 }catch(Exception e){ 78 e.printStackTrace(); 79 }finally{ 80 try{ 81 //切断 82 con.close(); 83 }catch(Exception e){} 84 } 85 }else{ 86 out.println("<br>検索項目が足りません<br>"); 87 out.close(); 88 } 89 } 90 }
Copyright © ITmedia, Inc. All Rights Reserved.