java,jsp,spring/연습

자바 빈 연습문제

프루트 2022. 8. 19. 20:36

요구사항 

-> html 문서에서 정수를 입력받아 java 파일에 입력하고 3, 5, 8의 배수 확인

1. html

// html
<!DOCTYPE html>
<html>
<head>
<meta charset="EUC-KR">
<title>Insert title here</title>
</head>
<body>
	<form method="post" action="multipleForm.jsp">
		<p>정수를 입력하세요 : <input type="text" name="num"></p>
		<input type="submit" value="전송">
	</form>
</body>
</html>

 - post 방식으로 데이터를 multipleForm.jsp로 전송

2.java

// java
package question;

public class Multiple {
	private int num;

	public int getNum() {
		return num;
	}

	public void setNum(int num) {
		this.num = num;
	}
	public String process() {
		boolean multiple = false;
		StringBuffer stBuffer = new StringBuffer();
		
		if (num % 3 == 0) {
			stBuffer.append("3의 배수이다.<br>)");
			multiple = true;
		}
		if (num % 5 == 0) {
			stBuffer.append("5의 배수이다.<br>)");
			multiple = true;
		}
		if (num % 8 == 0) {
			stBuffer.append("8의 배수이다.<br>");
			multiple = true;
		}
		if (!multiple) {
			stBuffer.append("어느 배수도 아니다.");
		}
		return stBuffer.toString();
	}
}

 - 넘겨 받은 정수를 num에 저장, process메소드를 이용해 배수 확인 

 - 여러 조건을 만족할 경우를 위해 append메소드를 사용해 stBuffer객체에 문자열을 추가

3.jsp

// jsp
<%@ page language="java" contentType="text/html; charset=EUC-KR"
    pageEncoding="EUC-KR"%>
<jsp:useBean class="question.Multiple" id="multiple" />
<jsp:setProperty property="num" name="multiple" />
<html>
<head>
<meta charset="EUC-KR">
<title>Insert title here</title>
</head>
<body>
	<hr>
	<h4>당신이 입력한 정보입니다.</h4>
	<% 
		out.print("입력된 정수 " + multiple.getNum()+"는 "+multiple.process()); 
	%>
</body>
</html>

 - useBean 액션 태그를 이용해 자바빈 객체를 생성하고, html에서 넘겨받은 num의 속성값을 java파일에 저장

 - 생성한 객체를 이용해 메소드를 실행해 출력