# JV27 課題No.05 ###### tags: `課題` * 期限 7月15日まで クラスDBより、学籍番号検索 1件検索・MVC プリントp58,p59を使う * class_index.html(メニュー追加) ↓ * gakuseki_select.html ↓ * gakuseki_servlet.java(servlet) ↓ * gakuseki_bean.java(bean) ↓ * gakuseki_show.jsp クラス、出席番号、学籍番号、氏名、生年月日を表示 もしくは、該当者なし :::success :heavy_check_mark: 成功!! ::: :::info :information_source: リンク ::: :::warning :warning: 警告 ::: :::danger :anger: エラー ::: :::spoiler gakusek_select.html ```htmlembedded= <!-- --> <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta http-equiv="X-UA-Compatible" content="IE=edge" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <link href="https://cdn.jsdelivr.net/npm/tailwindcss@2.1/dist/tailwind.min.css" rel="stylesheet" type="text/css" /> <link href="https://cdn.jsdelivr.net/npm/daisyui@0.26.3/dist/full.css" rel="stylesheet" type="text/css" /> <title>学籍名簿情報</title> </head> <body> <div class=""> <div class=""> <div class=""> 学籍名簿 - 検索 </div> <form action="./servlet/gakuseki_servlet" method="POST"> <div class=""> <label class=""> <input type="radio" name="SELECT" checked class="" value="1" /> <span class=""></span> <span>学籍番号検索</span> </label> </div> <input type="text" name="GAKUSEKI_NO" class="" placeholder="学籍番号" /> <div class=""> <label class=""> <input type="radio" name="SELECT" class="" value="2" /> <span class=""></span> <span>氏名検索</span> </label> </div> <input type="text" name="SIMEI_1" class="" placeholder="姓" /> <input type="text" name="SIMEI_2" class="" placeholder="名" /> <div class=""> <label class=""> <input type="radio" name="SELECT" class="" value="3" /> <span class=""></span> <span>クラス&出席番号検索</span> </label> </div> <select name="CLASS_NO" class="" > <option value="AT11A192" selected>AT11A192</option> <option value="AT11B203">AT11B203</option> <option value="CG11A172">CG11A172</option> <option value="IT11A172">IT11A172</option> <option value="AT12A165">AT12A165</option> <option value="AT12B165">AT12B165</option> <option value="IH12A101">IH12A101</option> <option value="IW12A185">IW12A185</option> <option value="AT13A223">AT13A223</option> <option value="AP13A223">AP13A223</option> <option value="IH13A223">IH13A223</option> <option value="IW13A187">IW13A187</option> <option value="CD13A166">CD13A166</option> <option value="AP14A226">AP14A226</option> <option value="AT14A226">AT14A226</option> <option value="IH14A223">IH14A223</option> <option value="CT14A187">CT14A187</option> <option value="IW14A187">IW14A187</option> <option value="xx14Axx">xx14Axx</option> </select> <input type="text" name="SYUSSEKI_NO" class="" placeholder="出席番号" /> <div class=""> <a href="class_index.html" class="" >戻る</a > <button class="">検索</button> </div> </form> </div> </div> </body> </html> ``` ::: :::spoiler gakuseki_servlet.java ```java= // gakuseki_servlet.java import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class gakuseki_servlet extends HttpServlet { public void doPost ( HttpServletRequest req, HttpServletResponse res ) throws ServletException , IOException { req.setCharacterEncoding("UTF-8"); res.setContentType("text/html;charset=UTF-8"); String selectStr,gakuseki_noStr,simei1_Str,simei2_Str,class_noStr,syusseki_noStr; try { nhs00157.gakuseki_bean gakuseki_bean = new nhs00157.gakuseki_bean(); selectStr = req.getParameter("SELECT"); if (selectStr.equals("1")){ gakuseki_noStr = req.getParameter("GAKUSEKI_NO"); gakuseki_bean.setJyouken("gakuseki_no = '" + gakuseki_noStr + "'"); } else if (selectStr.equals("2")){ simei1_Str = req.getParameter("SIMEI_1"); simei2_Str = req.getParameter("SIMEI_2"); gakuseki_bean.setJyouken("simei_1 = '" + simei1_Str + "' and simei_2 = '" + simei2_Str + "'"); } else { class_noStr = req.getParameter("CLASS_NO"); syusseki_noStr = req.getParameter("SYUSSEKI_NO"); gakuseki_bean.setJyouken("class_no = '" + class_noStr + "' and syusseki_no = '" + syusseki_noStr + "'"); } gakuseki_bean.DBselect(); req.setAttribute("gakuseki_bean", gakuseki_bean); ServletContext sc = getServletContext(); sc.getRequestDispatcher("/gakuseki_show.jsp").forward(req, res); } catch (Exception ex) { PrintWriter out; req.setCharacterEncoding("UTF-8"); res.setContentType("text/html;charset=UTF-8"); out = res.getWriter(); ex.printStackTrace(out); } } } ``` ```java= // gakuseki_bean.java package nhs00157; import java.sql.*; import java.io.*; public class gakuseki_bean implements Serializable { final String URL = "jdbc:mysql://localhost/nhs00157db?useUnicode=true&characterEncoding=UTF-8"; final String USER = "miyasan"; final String PASSWORD = "0301"; final String DRIVER = "com.mysql.jdbc.Driver"; Connection con = null; Statement stmt = null; int hint_flag; String class_no,gakuseki_no,syusseki_no,simei_1,simei_2,kana_1,kana_2,umare; String table = "class_table"; String field = "*"; String jyouken = ""; String sort = ""; public gakuseki_bean() { super(); } public void DBselect() { try { Class.forName(DRIVER); con = DriverManager.getConnection(URL,USER,PASSWORD); stmt = con.createStatement(); Statement stmt = con.createStatement(); StringBuffer query = new StringBuffer(); query.append("select "); query.append(field); query.append(" from "); query.append(table); query.append(" where "); query.append(jyouken); query.append(" "); query.append(sort); ResultSet rs = stmt.executeQuery(query.toString()); System.out.println(query); if (rs.next() == true) { hint_flag = 1; class_no = rs.getString("class_no"); gakuseki_no = rs.getString("gakuseki_no"); syusseki_no = rs.getString("syusseki_no"); simei_1 = rs.getString("simei_1"); simei_2 = rs.getString("simei_2"); kana_1 = rs.getString("kana_1"); kana_2 = rs.getString("kana_2"); umare = rs.getString("umare"); } else { hint_flag = 0; } rs.close(); stmt.close(); con.close(); } catch (SQLException ex) { ex.printStackTrace(); } catch (Exception ex) { ex.printStackTrace(); } } public void setJyouken(String inJyouken) { jyouken = inJyouken; } public int getHint_flag() { return hint_flag; } public String getClass_no() { if (class_no.equals("")) return ""; return class_no; } public String getGakuseki_no() { if (gakuseki_no.equals("")) return ""; return gakuseki_no; } public String getSyusseki_no() { if (syusseki_no.equals("")) return ""; return syusseki_no; } public String getSimei_1() { if (simei_1.equals("")) return ""; return simei_1; } public String getSimei_2() { if (simei_2.equals("")) return ""; return simei_2; } public String getKana_1() { if (kana_1.equals("")) return ""; return kana_1; } public String getKana_2() { if (kana_2.equals("")) return ""; return kana_2; } public String getUmare() { if (umare.equals("")) return ""; return umare; } } ``` ::: :::spoiler gakuseki_show.jsp ```htmlmixed= <!-- --> <%@ page contentType="text/html;charset=UTF-8" %> <% response.setContentType("text/html;charset=UTF-8"); %> <html> <head> <link href="https://cdn.jsdelivr.net/npm/tailwindcss@2.1/dist/tailwind.min.css" rel="stylesheet" type="text/css" /> <link href='https://cdn.jsdelivr.net/npm/daisyui@1.1.1/dist/full.css' rel='stylesheet' type='text/css' /> <title>名簿検索2</title> </head> <body> <jsp:useBean id="gakuseki_bean" scope="request" class="nhs00157.gakuseki_bean"/> <div class=''> <div class=''> 名簿検索 </div> <% if (gakuseki_bean.getHint_flag() == 1) { %> <div class=''> <table class=''> <thead> <tr> <th> クラス </th> <th> 出席番号 </th> <th> 学籍番号 </th> <th> 氏名(姓) </th> <th> 氏名(名) </th> <th> カナ(姓) </th> <th> カナ(名) </th> <th> 生年月日 </th> </tr> </thead> <tbody> <tr> <td> <jsp:getProperty name="gakuseki_bean" property="class_no"/> <%-- <%= gakuseki_bean.getClass_no() %> --%> </td> <td> <jsp:getProperty name="gakuseki_bean" property="syusseki_no"/> <%-- <%= gakuseki_bean.getGakuseki_no() %> --%> </td> <td> <jsp:getProperty name="gakuseki_bean" property="gakuseki_no"/> <%-- <%= gakuseki_bean.getSyusseki_no() %> --%> </td> <td> <jsp:getProperty name="gakuseki_bean" property="simei_1"/> <%-- <%= gakuseki_bean.getSimei_1() %> --%> </td> <td> <jsp:getProperty name="gakuseki_bean" property="simei_2"/> <%-- <%= gakuseki_bean.getSimei_2() %> --%> </td> <td> <jsp:getProperty name="gakuseki_bean" property="kana_1"/> <%-- <%= gakuseki_bean.getKana_1() %> --%> </td> <td> <jsp:getProperty name="gakuseki_bean" property="kana_2"/> <%-- <%= gakuseki_bean.getKana_2() %> --%> </td> <td> <jsp:getProperty name="gakuseki_bean" property="umare"/> <%-- <%= gakuseki_bean.getUmare() %> --%> </td> </tr> </tbody> </table> </div> <% } else { %> <h1 class="">該当なし</h1> <% } %> <div class=''> <a href='/JV27/gakuseki_select.html'><button class=''>検索に戻る</button></a> <a href='/JV27/class_index.html'><button class=''>ホームに戻る</button></a> </div> </div> </body> </html> ``` ::: ## 雑談 (0→やまぴ 1→みや 2→やすい 3→りょうくん 4→アミカ 5→やの) --- <span style="color: #ff3333">aaa</span> <span style="text-decoration: underline">aaa</span>