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 |
댓글