728x90
1) 두 개의 숫자를 한번에 입력 받아 사칙 연산 하기
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<div>
<form action="calc" method="post">
<div>
<label>계산할 값을 입력하세요.</label>
</div>
<div>
<input type="text" name="x">
</div>
<div>
<input type="text" name="y">
</div>
<div>
<input type="submit" name="button" value="덧셈">
<input type="submit" name="button" value="뺄셈">
<input type="submit" name="button" value="곱셈">
<input type="submit" name="button" value="나눗셈">
</div>
</form>
</div>
</body>
</html>
package com.jsp.web;
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{
public void service(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException
{
response.setCharacterEncoding("UTF-8");
response.setContentType("text/html; charset=UTF-8");
String x = request.getParameter("x");
String y = request.getParameter("y");
String op = request.getParameter("button");
int resultX = 0;
int resultY = 0;
if(!x.equals("")) {
resultX = Integer.parseInt(x);
}
if(!y.equals("")) {
resultY = Integer.parseInt(y);
}
int result = 0;
if(op.equals("덧셈")) {
result = resultX+resultY;
}else if(op.equals("뺄셈")){
result = resultX-resultY;
}else if(op.equals("곱셈")){
result = resultX*resultY;
}else {
result = resultX/resultY;
}
PrintWriter out = response.getWriter();
out.printf("계산 결과는 %d\n입니다.", result);
}
}
2) 입력 데이터를 배열로 받아 더하기
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<div>
<form action="add" method="post">
<div>
<label>계산할 값을 입력하세요.</label>
</div>
<div>
<input type="text" name="num">
<input type="text" name="num">
<input type="text" name="num">
<input type="text" name="num">
</div>
<div>
<input type="submit" name="button" value="덧셈">
</div>
</form>
</div>
</body>
</html>
package com.jsp.web;
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("/add")
public class addTest extends HttpServlet{
public void service(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException
{
response.setCharacterEncoding("UTF-8");
response.setContentType("text/html; charset=UTF-8");
// 파라미터 여러 개가 하나의 이름으로 오므로 getParameterValues 사용 -> 배열로 저장
String[] num_ = request.getParameterValues("num");
int result = 0;
for(int i=0;i<num_.length;i++) {
// 연산은 반복되지만 선언은 반복되지 않음
int num = Integer.parseInt(num_[i]);
result+=num;
}
PrintWriter out = response.getWriter();
out.printf("계산 결과는 %d\n입니다.", result);
}
}
728x90
'강의 정리하기 > JSP와 Servlet' 카테고리의 다른 글
상태 유지를 위한 방법들의 차이점과 페이지 전환 (0) | 2023.03.30 |
---|---|
상태 유지를 위한 방법 (0) | 2023.03.27 |
GET , POST 요청과 필터 (0) | 2023.03.19 |
URL 매핑 및 인코딩 (0) | 2023.03.19 |
서블릿 프로그램 만들기 (0) | 2023.03.18 |