본문 바로가기
WEB

[WEB] 02-2. JSP의 스크립트릿(JAVA 공간)을 JAVA파일로 나누기

by ssunooo 2024. 8. 6.

 

 

JSP를 통해 작성했던 계산기 프로그램의 스크립트릿(JAVA 공간)을

다른 JAVA파일을 생성해서 내용을 옮겨 함수화 한 뒤 사용해 보았다.

 

<calc03.jsp>

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<jsp:useBean class="calc.CalcBean" id="cb" />
<jsp:setProperty property="*" name="cb" />
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>계산기 실습 03</title>
</head>
<body>
	
	<%
	cb.calc();
	%>
	
	<!-- form 태그의 필수 속성인 action을 설정하지 않으면, 자기자신 페이지(디폴트 설정)로 온다! -->
	<form method="POST"> <!-- jsp에서 action을 주지않는다 -->
		정수 01 <input type="number" name="num1"> <br>
		연산자 <select name="op">
			<option>+</option>
			<option>-</option>
			<option>x</option>			
		</select> <br> <!-- 선택목록을 주려면 -->
		정수 02 <input type="number" name="num2"> <br>
		<input type="submit" value="계산하기">
	</form>
	
	<hr>
	<!-- 변수 선언해야한다 -->
	계산 결과 : <jsp:getProperty property="res" name="cb"/>
	
</body>
</html>

 

calc()메서드를 이용하여 자바공간부분을 모듈화 할 수 있었다.

 

<Calc.java>

package calc;

public class Calc {
	private int res;
	
	public Calc(int num1,int num2,String op) {
		
    	if(op.equals("+")) {
    		this.res=num1+num2;
    	}
    	else if(op.equals("-")) {
    		this.res=num1-num2;
    	}
    	else {
    		this.res=num1*num2;
    	}
    	
	}
	public int getRes() {
		return res;
	}
	public void setRes(int res) {
		this.res = res;
	}
}

 

1. <jsp:useBean class="calc.CalcBean" id="cb"/>를 통해 기본생성자를 호출하였다.

     java파일에서는 CalcBean cb=new CalcBean();와 같은 역할을 한다.

 

2. <jsp:setProperty property="*" name="cb" />를 통해 cb의 setXxx()를 전부 호출하였다.

 

3. <jsp:getProperty property="res" name="cb"/>를 통해 cb의 getRes()를 호출하였다.

 

 

2024.08.06

'WEB' 카테고리의 다른 글

[WEB] 04. MVC파트 나눠서 쇼핑몰 프로그램 설계하기  (0) 2024.08.12
[WEB] 03-1. Session scope 맞추기  (0) 2024.08.12
[WEB] 03. JSP 내장 객체  (0) 2024.08.07
[WEB] 02-1. JSP  (2) 2024.08.06
[WEB] 01. Servlet  (0) 2024.08.06