<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<form action = "add" method = "post">
<div>
<label>
x :
<input type = "text" name = "x"/>
</label>
</div>
<div>
<label>
y :
<input type = "text" name = "y"/>
</label>
</div>
<input type = "submit" name = "operator" value = "덧셈"/>
<input type = "submit" name = "operator" value = "뺄셈"/>
</form>
</body>
</html>
add를 액션으로 가져왔으며 method = "post"를 통해 주소를 숨겼다.
operator를 통해 덧셈과 뺄셈을 구분해 주었다. submit버튼을 만들어 서버 호출시 출력되도록 하였다.
package com.codingbox.web.servlet;
import java.io.IOException;
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 MyServlet2 extends HttpServlet{
@Override
protected void service(HttpServletRequest arg0,
HttpServletResponse arg1) throws ServletException, IOException {
String xStr = arg0.getParameter("x");
String yStr = arg0.getParameter("y");
String op = arg0.getParameter("operator");
int x = 0;
int y =0;
int result;
if(!xStr.equals("")) {
x =Integer.parseInt(xStr);
}
if(!yStr.equals("")) {
y =Integer.parseInt(yStr);
}
if(op.equals("덧셈")) {
result = x+y;
}else {
result = x-y;
}
//int result = x + y;
arg1.getWriter().printf("result is %d\n", result);
}
}
if(!xStr.equals("")) {
x =Integer.parseInt(xStr);
}코드를 통해서 문자열이 비어있지 않다면 코드를 수행하게 했다.
다음 xStr을 통해 정수값으로 저장되게 하였다.
결과는 이러한 형식으로 도출된다.
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<form action = "add3" 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
HTML코드. 텍스트를 4개를 만들어 나누어 놓았으며 add3으로 액션 설정
package com.codingbox.web.servlet;
import java.io.IOException;
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("/add3")
public class MyServlet4 extends HttpServlet {
@Override
protected void service(HttpServletRequest arg0,
HttpServletResponse arg1) throws ServletException, IOException {
String[] numStr = arg0.getParameterValues("num");
int result = 0;
for(int i = 0; i < numStr.length; i++) {
int num = Integer.parseInt(numStr[i]);
result += num;
}
arg1.getWriter().printf("result is %d\n", result);
}
}
자바코드. 배열을 설정하여 값을 가져온다. 반복문을 이용해 파라미터를 처리하며
문자열 형태의 파라미터 값을 정수로 변환하여 변수 num에 저장, 클라이언트에 보낸다.