最近、サーブレットを勉強していたので、その勉強内容を基にアウトプットをしていこうと思う。ちなみに勉強した内容は、以下の通り。
uuc1h.hatenablog.jp
作ったものは、非常に単純で、HTMLのフォームで打数と安打数を入力すれば、サーブレットで打率を計算するというもの。
安打数と打数を入力し、計算ボタンをクリックすると
打率が表示される。
非常に単純やけど、実際に頭に思い描いた通りに動いてくれると楽しい。
コードも載せておきます。
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>打率の計算</title> </head> <body> <form action="bamanager" method="post"> <p>安打数を入力してください</p> <input type="text" name="hits"> <p>打数を入力してください</p> <input type="text" name="bats"> <input type="submit" value="計算"> </form> </body> </html>
@WebServlet(urlPatterns={"/chapter0217/bamanager"}) public class BaManager extends HttpServlet { @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { // レスポンスの文字エンコーディングの指定 resp.setContentType("text/html; charset=UTF-8"); // PrintWriterオブジェクトの取得 PrintWriter pw = resp.getWriter(); // リクエストパラメータの文字エンコーディングの指定 req.setCharacterEncoding("UTF-8"); try { // リクエストパラメータの取得 float hits = Float.parseFloat(req.getParameter("hits")); float bats = Float.parseFloat(req.getParameter("bats")); // 打率の計算 float ba = hits / bats; Page.header(pw); // 安打数 pw.println("<p>安打数<BR>"); pw.println(hits + "</p>"); // 打数 pw.println("<p>打数<BR>"); pw.println(bats + "</p>"); // 打率 pw.println("<p>打率<BR>"); pw.println(String.format("%.3f", ba) + "</p>"); Page.footer(pw); } catch (NumberFormatException e) { pw.println(e); } } }