336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.
이전 글에서 만든 계산기를 액션 버젼으로 구현해볼것이다.
액션에 대한 설명은 다른 카테고리에 작성하겠다.
MVC 패턴 구조는 아니지만 구성요소 간의 역할이 어느정도 분리되며
프로그램 요소를 JSP에서 제거했기 때문에 비교적 깔끔한 코드구조를 가지게된다.
이제 코딩을 시작하겠다.
1️⃣ 계산기 화면 구현
webapp 폴더에 ch07 폴더를 만든후 ch06의 calcForm.html을 복붙해주자.
그리고 다음과 같이 코드를 수정해주자.
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>계산기-useBean</title>
</head>
<body>
<h2>계산기-useBean</h2>
<hr>
<form method="post" action="calc.jsp">
<input type="text" name="n1" size="10"> <select name="op">
<option>+</option>
<option>-</option>
<option>*</option>
<option>/</option>
</select> <input type="text" name="n2" size="10">
<input type="submit" value="실행">
</form>
</body>
</html>
2️⃣ 자바 빈 객체 생성
계산기 기능 구현을 위해서 2개의 숫자를 입력받아 계산하는 기능이 필요한데
이 기능을 JSP나 서블릿으로 구현하지 않고 별도의 클래스로 독립해서 구현한다.
[src/main/java] 에서 [ch07] 패키지를 생성해주자.
그리고 ch07에서 새로운 자바 클래스 Calcurator을 만들어주자.
그리고 아래의 코드를 클래스에 작성해주자.
package ch07;
public class Calculator {
private int n1;
private int n2;
private String op;
public long calc() {
long result = 0;
switch(op) {
case "+": result = n1+n2; break;
case "-": result = n1-n2; break;
case "/": result = n1/n2; break;
case "*": result = n1*n2; break;
}
return result;
}
}
그리고 스위치 아래에 n1, n2, op에 대한 getter/setter을 생성해주자.
스위치 구문 아래 여백에 우클릭 후 아래 처럼 하면된다.
이 과정을 모두 마치면 아래 처럼 getter/setter 메소드가 생성된다.
public int getN1() {
return n1;
}
public void setN1(int n1) {
this.n1 = n1;
}
public int getN2() {
return n2;
}
public void setN2(int n2) {
this.n2 = n2;
}
public String getOp() {
return op;
}
public void setOp(String op) {
this.op = op;
}
3️⃣ useBean 액션으로 입력값 처리
입력값을 Calculator 객체에 전달하기 위해 useBean 액션을 사용하고 EL을 사용해 출력해보자.
[ch06]에서 만들었던 calc.jsp를 [ch07]에 복붙후 다음과 같이 수정해주자.
<%@ page contentType="text/html;charset=UTF-8" language="java" pageEncoding="UTF-8"%>
<jsp:useBean id="calc" class="ch07.Calculator"/>
<jsp:setProperty name="calc" property="*"/>
<html>
<head>
<meta charset="UTF-8">
<title>계산기 JSP</title>
</head>
<body>
<h2>계산 결과-JSP</h2>
<hr>
결과: <%=calc.calc() %>
</body>
</html>
모든 기능이 위에서 만든 Calculator 클래스에 포함되어 있기때문에 jsp는 간결해진다.
이제 톰캣 서버를 실행해 확인해보자.
[메인으로 돌아가기]
'Java Spring > 책공부 1 (JSP와 스프링)' 카테고리의 다른 글
13. 컨트롤러 기초 : 계산기 구현 (0) | 2022.07.11 |
---|---|
12. JSTL과 EL 종합 예제 (0) | 2022.07.11 |
10. JSP 프로그래밍: 계산기 구현 (0) | 2022.07.09 |
9. JSP 기초 종합 예제 (0) | 2022.07.09 |
8. 계산기 구현 (0) | 2022.07.08 |