Q1.2つの整数を入力し、ボタンを押すと2つの整数の和を求めるアプリを作成せよ。
入力画面、出力画面ともにjspで作成し、送信にはGETを使用すること。(正常系のみを考慮すればよい)
[実行例]
●スタート画面
●数値を入れ、ボタンを押すと結果が表示される。
[解答例]
●plus.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"/> <title>足し算くん</title> </head> <body> <form action="result.jsp"> <p>x:<input type="number" name="x" value="0"> y:<input type="number" name="y" value="0"> <input type="submit" value="送信"> </p> </form> </body> </html>
●result.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <% int x=Integer.parseInt(request.getParameter("x")); int y=Integer.parseInt(request.getParameter("y")); int sum=x+y; %> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"/> <title>足し算くん</title> </head> <body> <%=x %>と<%=y %>の和は<%=sum %>です。 <a href="plus.jsp">戻る</a> </body> </html>
Q2.2つの整数を入力し、演算子を選び送信を押すと計算結果を表示するアプリを作成せよ。
フォーム画面はjsp,結果画面はServletを使用すること。なお送信方法はPOSTで行う。
(正常系のみを考慮すればよい)
[実行例]
●スタート画面
●2つの数値と演算子を選び送信すると結果が表示される。
[解答例]
●index.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"/> <title>計算くん</title> </head> <body> <form action="/joytas2/calc" method="POST"> <p>x:<input type="number" name="x" value="0"> y:<input type="number" name="y" value="0"></p> <p><label for="puls"><input type="radio" name="ope" value="plus" id="puls" checked>+</label> <label for="minus"><input type="radio" name="ope" value="minus" id="minus">-</label> <label for="mul"><input type="radio" name="ope" value="multi" id="mul">*</label> <p><input type="submit" value="送信"></p> </form> </body> </html>
●Result.java(Servlet)
package joytas; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @WebServlet("/calc") public class Result extends HttpServlet { private static final long serialVersionUID = 1L; protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { request.setCharacterEncoding("UTF-8"); int x=Integer.parseInt(request.getParameter("x")); int y=Integer.parseInt(request.getParameter("y")); String ope=request.getParameter("ope"); int result=0; String opeStr=""; switch(ope){ case "plus": result=x+y; opeStr="和"; break; case "minus": result=x-y; opeStr="差"; break; case "multi": result=x*y; opeStr="積"; break; } response.setContentType("text/html; charset=UTF-8"); PrintWriter out=response.getWriter(); out.println("<!DOCTYPE html>"); out.println("<html>"); out.println("<head>"); out.println("<meta charset='utf-8' />"); out.println("<title>計算くん</title>"); out.println("</head>"); out.println("<body>"); out.println(String.format("<p>%dと%dの%sは%dです。</p>", x,y,opeStr,result)); out.println("<p><a href='index.jsp'>戻る</a></p>"); out.println("</body>"); out.println("</html>"); } }
コメント