LoginSignup
0
0

More than 3 years have passed since last update.

servletCalc

Last updated at Posted at 2021-03-27
index.html
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="/day2_Sarvlet_HP_CalcQ2/calc" method="POST"><%--&nbsp;改行を入れないしてい --%>
<p>x:<input type="number" name="x" value="0">&nbsp;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>
calc.java
@WebServlet("/calc")
public class calc extends HttpServlet {
    private static final long serialVersionUID = 1L;

    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        request.setCharacterEncoding("utf-8");
        //index.jsp type="number"のname="y"と"x"を受け取る
        int x = Integer.parseInt(request.getParameter("x"));
        int y = Integer.parseInt(request.getParameter("y"));
        //index.jsp type="radio"の受け取りとname="ope"の受け取り
        //opeのvalueは"plus""minus""multi"の三種類
        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>");
    }

}


0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0