11. 액션 종합: 계산기 구현

2022. 7. 9. 20:10·Java Spring/JSP와 스프링


이전 글에서 만든 계산기를 액션 버젼으로 구현해볼것이다.

액션에 대한 설명은 다른 카테고리에 작성하겠다.

 

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 > 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
'Java Spring/JSP와 스프링' 카테고리의 다른 글
  • 13. 컨트롤러 기초 : 계산기 구현
  • 12. JSTL과 EL 종합 예제
  • 10. JSP 프로그래밍: 계산기 구현
  • 9. JSP 기초 종합 예제
백고미
백고미
  • 백고미
    백고미의 정신세계
    백고미
  • 전체
    오늘
    어제
    • 분류 전체보기 (127)
      • [ 공지사항 ] (0)
      • 정보 (15)
        • 워프레임 (6)
        • 게임 (3)
        • 군대 (1)
        • 이민 (1)
      • Java Spring (43)
        • JSP와 스프링 (34)
        • Tip (9)
      • Spring boot (1)
        • Tip (1)
      • 직업 정보 (2)
        • 경찰 공무원 (2)
        • AAFES (0)
        • HD GFD (0)
      • 리뷰 (1)
        • 인터넷 (1)
      • Life (2)
        • 운동 (1)
        • 자격증 (1)
      • 소스모드 (28)
        • CSGO (7)
        • CSS (0)
        • HL2DM (3)
        • L4D2 (1)
        • BMS (0)
        • TIP (16)
        • Extension (1)
        • 문법 (0)
      • C# (4)
        • s&box (4)
      • LUA (8)
        • Garry's Mod (8)
      • Resource (11)
        • Player Model (1)
        • Npc Model (1)
        • Weapon Model (2)
        • PropPhyics (6)
        • PropDynamic (1)
        • Texture (0)
        • Animation Texture (0)
        • Overlay (0)
        • Effect Sound (0)
        • Particle (0)
      • 일기장 (1)
        • TRH (4)
        • 스케줄 (1)
        • Els (0)
        • 프로젝트 (3)
  • 블로그 메뉴

    • 홈
    • 태그
    • 미디어로그
    • 위치로그
    • 방명록
  • 링크

    • John John한 블로그
  • 공지사항

  • 인기 글

  • 태그

    발표 PPT
    경찰공무원 선택과목
    윈도우10 1주년
    순경 가산점
    경기북부병무청 가는법
    병무청가는길
    키벨류
    경기북부 병무청 가는길
    경기북부 병무청
    경기북부병무청 망월사
    스쿼트 운동 효과
    운전면허 종류
    원동기장치면허
    윈도우10 참가자 프로그램
    경기북부병무청 회룡역
    경찰 간부후보생
    병무청 가는 법
    윈도우10 고양이
    경찰 가산점표
    경기북부 병무청 가는 길
    경기북부병무지청
    경찰 공무원 응시 자격
    경찰공무원 가산점표
    병무청가는법
    경찰시험 응시 자격
    윈도우10 닌자캣
    공찰공무원 필수과목
    병무청 가는 길
    경기북부병무청
    경기북부 병무청 가는 법
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
백고미
11. 액션 종합: 계산기 구현
상단으로

티스토리툴바