<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Insert title here</title> </head> <body> <form action="calc" method="post"> <input type="text" name="num"> <input type="text" name="num"> <input type="text" name="num"> <input type="text" name="num"> <input type="submit" name="operator" value="덧셈"> </form> </body> </html>
package com.koit.web.servlet; 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 Calc extends HttpServlet { @Override protected void service(HttpServletRequest arg0, HttpServletResponse arg1) throws ServletException, IOException { String[] paramNum = arg0.getParameterValues("num"); int num = 0; int sum = 0; if(paramNum != null && !paramNum.equals("")) { for(int i = 0; i < paramNum.length; i++) { num = Integer.parseInt(paramNum[i]); sum += num; } } PrintWriter out = arg1.getWriter(); out.println("합계 : " + sum); } }
name="num"
인 상자가 4개가 있고, 각각 입력한 값
을
파라미터로 받아
와서 연산을 해야한다.
같은 name 값이 여러 개
일때는 배열
로 받아온다.
파라미터로 넘어올때는 문자열
로 받아오니 String[ ]
을 만들어준다.
그리고 num값이 null이 아니거나 빈 문자열이 아니라면
String
으로 넘어온 값을 int
형으로 바꿔준다.
합계를 구해야하니, sum 변수에 for문
으로 넘어온 값을 하나씩 합해준다.
1 + 2 + 3 + 4의 요청을 보내고 합계가 정상적으로 출력된다.