Eggs Sunny Side Up
본문 바로가기
Web/JSP_Servlet

MVC 기초_총합 구하기

by guswn100059 2023. 4. 11.

 


1 ~ 100까지 총합을 구하기

Model

package Model;

public class MyCalc {
	
	// 1 ~ 100까지의 총합을 구하는 메소드
	public int hap() {
		int result = 0;
		
		for(int i = 1; i<=100; i++) {
			result += i;
		}
		return result;
	}

}

 

Controller

package Controller;

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;

import Model.MyCalc;


@WebServlet("/TotalSum")
public class TotalSum extends HttpServlet {
	private static final long serialVersionUID = 1L;

	protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		
		// 비즈니스 로직(처리로직)
		// 1 ~ 100까지의 총합 = 5050
		MyCalc mc = new MyCalc();
		
		// // 프리젠테이션 로직
		PrintWriter out = response.getWriter();
		
		out.print("<html>");
			out.print("<body>");
				out.print(mc.hap());
			out.print("</body>");
		out.print("</html>");
	}

}


사용자가 입력받은 수들의 총합을 구하기

Model

package Model;

public class MyCalc {
	
	// 1 ~ 100까지의 총합을 구하는 메소드
	public int hap() {
		int result = 0;
		
		for(int i = 1; i<=100; i++) {
			result += i;
		}
		return result;
	}
	
	// 사용자가 입력한 수들의 총합을 구하는 메소드
	// 오버라이딩 : 중복되는 메소드명 사용 가능
	public int hap(int a, int b) {
		int result = 0;
		for(int i = a; i <= b; i++) {
			result +=i;
		}
		return result;
	}

}

 

Controller

package Controller;

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;

import Model.MyCalc;


@WebServlet("/Calc")
public class Calc extends HttpServlet {
	private static final long serialVersionUID = 1L;
	
	protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		int num1 = Integer.parseInt(request.getParameter("num1"));
		int num2 = Integer.parseInt(request.getParameter("num2"));
		
		MyCalc mc = new MyCalc();
		int result = mc.hap(num1, num2);
		
		response.setContentType("text/html ; charset=utf-8");
		
		PrintWriter out = response.getWriter();
		
		out.print("<html>");
			out.print("<body>");
				out.print("총합");
				out.print("<br>");
				out.print(result);
			out.print("</body>");
		out.print("</html>");
	}

}

 

html

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>

	<form action="Calc" method="post">
	
	숫자 1 : <input type="number" name="num1">
	숫자 2 : <input type="number" name="num2">
	
	<button type="submit">계산</button>
	<button type="reset">취소</button>
	
	</form>
	
	<a href="Calc?num1=50&num2=80">계산하기(get형식임)</a>
	<!-- 
	대신 공백은 안됨. 
	<a href="calc ? num1 = 50 & num2 = 800">
	이런 식으로 공백이 존재할 경우 문자로 인식하여 오류남!
	 -->

</body>
</html>

 


get vs post)

get은 보안에 취약.

get은 소량의 데이터를 넘길 수 있기에 방대한 데이터에 쓰기엔 한계가 존재.

post는 보안에 강함.

post는 방대한 데이터를 처리할 수 있음.

'Web > JSP_Servlet' 카테고리의 다른 글

JSP 객체_html코드 안에서 Java코드 사용  (0) 2023.04.18
MVC(Eclipse)+ORACLE DB 연결(환경설정)  (0) 2023.04.11
MVC를 위한 Dynamic web project 생성  (0) 2023.04.10
Form  (0) 2023.04.09
Servlet 클래스 생성  (0) 2023.04.09

댓글