- 기존 코드
public class Add extends HttpServlet{
@Override
protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
resp.setCharacterEncoding("UTF-8");
resp.setContentType("text/html; charset=UTF-8");
PrintWriter out = resp.getWriter();
String x_ = req.getParameter("x");
String y_ = req.getParameter("y");
int x=0;
int y=0;
if(x_!=null && y_!=null && !x_.equals("") && !y_.equals("")) {
x=Integer.parseInt(x_);
y=Integer.parseInt(y_);
}
out.println("계산 결과는 : " + (x+y));
}
}
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<div>
<form action="add" method="post">
<div>
<label>x : </label>
<input type="text" name="x" />
</div>
<div>
<label>y : </label>
<input type="text" name="y" />
</div>
<div>
<input type="submit" value="계산" />
</div>
<div>
결과 : 0
</div>
</form>
</div>
</body>
</html>
<input type="text" name="x" /> 이라고 설정한 개수 만큼 String x_ = req.getParameter("x"); 을 설정해주어야 한다.
그럴필요 없이 name을 똑같이 num 으로 통일한다면 배열로 보내지게 된다.
수정 코드
package com.servlet.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("/add2")
public class Add2 extends HttpServlet{
@Override
protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
resp.setCharacterEncoding("UTF-8");
resp.setContentType("text/html; charset=UTF-8");
PrintWriter out = resp.getWriter();
String[] num_ = req.getParameterValues("num");
String y_ = req.getParameter("y");
int x=0;
int y=0;
int result=0;
for( int i=0; i<num_.length; i++ ) {
int num = Integer.parseInt(num_[i]);
result+=num;
}
out.println("계산 결과는 : " + result);
}
}
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<div>
<form action="add2" method="post">
<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" value="덧셈" />
</div>
<div>
결과 : 0
</div>
</form>
</div>
</body>
</html>
참고 자료 출처 : https://www.youtube.com/watch?v=EmOYOPhjhbo&list=PLq8wAnVUcTFVOtENMsujSgtv2TOsMy8zd&index=25
'서블릿 JSP' 카테고리의 다른 글
Session & Cookie (0) | 2024.02.23 |
---|---|
Application 저장소 (0) | 2024.02.23 |
GET요청 & POST요청 & 서블릿 필터 (0) | 2024.02.20 |
Servlet 출력 형식의 이해 (0) | 2024.02.20 |
Annotation을 이용한 Servlet과 URL 매핑 (0) | 2024.02.20 |