Untitled_Blue

[JSP] JavaBeans (자바빈즈) 본문

JSP&Servlet

[JSP] JavaBeans (자바빈즈)

Untitled_Blue 2023. 10. 9. 17:04
반응형

안녕하세요. 이번 글은 자바빈즈에 대한 설명입니다.

 

- 자바빈즈 (JavaBeans)란?

  • 하나의 자바 클래스며 데이터를 설정하고 얻어오는 과정을 통해 변환하는 역할 담당
  • getter와 setter를 통해 데이터 간 이동이 이뤄지며 기본 생성자와 오버라이딩한 생성자가 반드시 필요
  • 이를 통해 중복된 부분은 과감히 제거함으로써 로직을 별도로 분리함을 통해 코드의 재사용성을 높일 수 있음.

- 빈즈 파일의 구조

package Testing;

public class TestBeans {
	private String id;
	private String name;

	public TestBeans() {
		super();
	}

	public TestBeans(String id, String name) {
		super();
		this.id = id;
		this.name = name;
	}

	public String getId() {
		return id;
	}

	public void setId(String id) {
		this.id = id;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}
}

빈즈파일에는 크게 getter, setter, 기본 생성자, 매개변수가 있는 오버라이딩한 생성자가 있다. 이때 setter 부분을 보면 this라는 키워드를 통해 자기 자신을 가리키는 방식으로 데이터를 설정 내지 저장할 수 있다는 점을 확인할 수 있다. 특정 데이터를 설정할 때는 객체.setXxxx(value)를 사용하고 기존에 저장되어있는 데이터를 가져올 때는 객체.getXxxx()를 사용한다.

빈즈를 설정하는 방법은 매우 간단하다. 먼저 사용할 변수를 입력해주고 우클릭 > Source로 들어가서 Generate Getters and Setters, Constructor using Fields, Constructor from Superclass를 사용하면 4가지의 핵심 요소를 모두 설정할 수 있다. 이때 Getters and Setters, Constructor using Fields는 변수를 선택하는 부분이 있는데 모두 선택해줘야 한다.

<%@page import="Testing.TestBeans"%>
<%@ page language="java" contentType="text/html; charset=EUC-KR"
    pageEncoding="EUC-KR"%>
    
<!DOCTYPE html>
<html>
	<head>
		<meta charset="EUC-KR">
		<title>Insert title here</title>
	</head>
    
	<body>
		<%
		TestBeans obj = new TestBeans();
		obj.setName("Untited_Blue");
		%>
        
		<h2><%=obj.getName() %></h2>
	</body>
</html>

다음은 만들었던 빈즈 파일을 기반으로 jsp파일을 작성한 코드이다. 해당 jsp 안에는 빈즈에 대한 객체를 생성한 후 setter를 통해 원하는 데이터를 설정해주고 getter를 통해 저장해둔 데이터를 얻어냄과 동시에 웹 페이지에 출력하도록 작성한 점을 확인할 수 있다. 추가로 Beans는 다른 말로는 DTO, VO라고도 칭할 수도 있다. 데이터를 다룬다는 점에서 공통점을 보이고 있다. 더해서 데이터에 접근하고 요청에 대한 응답 내용을 처리하기 위한 DAO를 함께 사용함으로써 데이터를 기반으로 더 다채롭고 다양한 로직을 처리할 수 있다. 또한 빈즈는 데이터베이스 내부 데이터를 다룰 때 반드시 필요하다.

 

다음은 세션과 쿠키에 대한 설명입니다. 감사합니다.

반응형

'JSP&Servlet' 카테고리의 다른 글

[JSP] cos.jar를 활용한 파일 업로드  (0) 2024.06.12
[JSP] 쿠키와 세션  (2) 2024.03.16
[JSP] 액션태그  (0) 2023.10.08
[JSP] 내장객체  (1) 2023.10.07
[JSP] JSP의 스크립트 요소  (0) 2023.10.03