# 2021.06.21(月)① ###### tags: `JV27` `授業ノート` # サーバーサイドJava * サーバーサイドJava * servlet * jsp * Beans * Javaでは、共通モジュールを部品化したコンポーネントのことを、JavaBeansといい、サーブレットまたはJSPから呼び出されるサブルーチンとして動作する * JavaBeansの仕様に基づいて作成したプログラム部品を<span style="color: #ff3333">Beans</span>と呼ぶ * JavaBeans * システム内で共通する機能を共通モジュール(コンポーネント)として部品課しておく → サーブレットやJSPで共通化して使う。部品化したコンポーネントを<span style="color: #ff3333">JavaBeans</span>という * JavaBeansの掟 * パッケージ内に存在しなければならない * ソースファイル : example.java * クラスファイル : example.class * クラスファイルの置き場所 /root * index.html * WEB-INF * classes * example.class ← サーブレット * package ← パッケージ * beans.class ← Beansクラス ```htmlembedded= <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> </head> <body> <p>nenrei.html</p> <form action="/JV27/servlet/nenrei1_servlet" method="POST"> <h1>年齢計算</h1> <p>西暦の生年月日を入力してください</p> 年:<input name="NEN" size="4"> 月:<input name="TUKI" size="2"> 日:<input name="HI" size="2"> <input type="submit" value="計算"> <input type="reset" value="入力クリア"> </form> </body> </html> ``` ```java= // nenrei1_servlet.java import java.sql.*; import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class nenrei1_servlet extends HttpServlet { public void doPost ( HttpServletRequest req, HttpServletResponse res ) throws ServletException , IOException { PrintWriter out; req.setCharacterEncoding("UTF-8"); res.setContentType("text/html;charset=UTF-8"); out = res.getWriter(); String nenStr = req.getParameter("NEN"); String tukiStr = req.getParameter("TUKI"); String hiStr = req.getParameter("HI"); try { //Beansを呼び出してインスタンス化 nhs00718.nenrei1_bean nenrei_bean = new nhs00718.nenrei1_bean(); nenrei_bean.setNen(Integer.parseInt(nenStr)); nenrei_bean.setTuki(Integer.parseInt(tukiStr)); nenrei_bean.setHi(Integer.parseInt(hiStr)); nenrei_bean.keisan(); int kekka = nenrei_bean.getNenrei(); StringBuffer sb = new StringBuffer(); sb.append("<html>"); sb.append("<head><title>nennrei</title></head>"); sb.append("<body>"); sb.append("<p>"); sb.append("nenrei.java"); sb.append("</p>"); sb.append("<p>"); sb.append("年齢計算"); sb.append("</p>"); sb.append("<p>"); sb.append("あなたは"); sb.append("</p>"); sb.append("<p>"); sb.append(nenStr); sb.append("年"); sb.append("</p>"); sb.append("<p>"); sb.append(tukiStr); sb.append("月"); sb.append("</p>"); sb.append("<p>"); sb.append(hiStr); sb.append("日"); sb.append("生まれで"); sb.append("</p>"); sb.append("<p>"); sb.append(kekka); sb.append("才なんですね"); sb.append("</p>"); sb.append("<a href='/JV27/nenrei1.html'>"); sb.append("トップへ戻る"); sb.append("</a>"); sb.append("</body>"); sb.append("</html>"); out.println(sb.toString()); } catch (Exception ex) { ex.printStackTrace(out); } } } ``` ```java= // nenrei1_bean.java package nhs00718; import java.io.*; import java.util.Calendar; public class nenrei1_bean implements Serializable{ private int toshi; private int nen; private int tuki; private int hi; public nenrei1_bean(){ super(); } public void keisan(){ Calendar cal = Calendar.getInstance(); int yy = cal.get(Calendar.YEAR); int mm = cal.get(Calendar.MONTH) + 1; int dd = cal.get(Calendar.DATE); toshi = yy - nen; if(mm < tuki) { toshi = toshi - 1; } else { if(mm == tuki && dd < hi) { toshi = toshi - 1; } } } public void setNen(int inNen) { nen = inNen; } public void setTuki(int inTuki) { tuki = inTuki; } public void setHi (int inHi) { hi = inHi; } public int getNenrei() { return toshi; } } ``` ### パッケージ命名規約 * パッケージ名:nhs00123 ### 作成方法 * 従来のクラス(.java)を作る時に、パッケージの欄にnhs00123を入力する ## 雑談 (0→やまぴ 1→みや 2→やすい 3→りょうくん 4→アミカ 5→やの) 3.俺のほう消せばよかったのにwwwwwwwwwwww 1.両君の消したつもりだったけど間違えた 3.草 :satisfied: :grapes: <span style="color: #ff3333">aaa</span> <span style="text-decoration: underline">aaa</span>