서버를 활용한 덧셈,뺄셈 프로그램

노건우·2023년 8월 18일
0

html 코드

<!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버튼을 만들어 서버 호출시 출력되도록 하였다.

java코드

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에 저장, 클라이언트에 보낸다.


profile
초보 개발자 이야기

0개의 댓글