티스토리 뷰

JSP/인프런 JSP

14. 자바 빈

GrapeMilk 2020. 2. 19. 09:37

1. 자바 빈이란?

 - 반복적인 작업을 효율적으로 하기 위해 빈을 사용.

 - Java의 데이터(속성)와 기능(메서드)으로 이루어진 클래스

 - jsp페이지를 만들고, 액션태그를 이용하여 빈을 사용. 그리고 빈의 내부 데이터를 처리.

2. 빈 만들기

 - Java에서 데이터 객체(학사관리에서 student객체 등)를 만들 때, 데이터를 가져오기 위한 getter, setter가 존재함. 빈을 만든다는 것은 데이터 객체를 만들기 위한 클래스를 만드는 행위.

 

3. 빈 관련 액션 태그

 - 액션태그 중에서 Bean 관련 태그, useBean, setProperty, getProperty

 - 주로 데이터를 업데이트하고, 얻어오는 역할을 함.

 

3-1 useBean

 - 특정 Bean을 사용한다고 명시함.

 - student객체를 java파일로 생성하고, 해당 객체를 현재 코딩하고 있는 jsp페이지에서 객체로 만들어 사용하겠다라는 것을 명시 (new연산자를 이용해서 생성하는 것이 아닌, useBean을 사용하여 간단하게 처리 가능)

 - id="student" : Java에서 new연산자를 이용하여 객체의 인스턴트를 생성할 때, 변수 명에 해당(Student student(이 부분) = new ~)

 - class="" : class의 위치를 패키지주소부터 명시 

<jsp:useBean id="student" class="com.javalec.ex.Student" scope="page"/>
Student student = new Student();

 - Scope

 1) page : 생성된 페이지 내에서만 사용 가능

 2) request : 요청된 페이지 내에서만 사용 가능

 3) session : 웹브라우저의 생명주기와 동일하게 사용 가능 

 4) application : 웹 어플리케이션 생명주기와 동일하게 사용 가능

 

3-2 setProperty

 - 데이터 값을 설정 할 때 사용 (Java의 setter와 동일)

 - name="student" property= "name"  value = "홍길동"/> : student라는 빈 이름의 객체에 있는 : name이라는 속성의 값을 홍길동으로 설정(set)하겠다.

 - value는 생략 가능하며, value를 생략하면 form으로 넘어온 값이 세팅 된다.

<jsp:setProperty name="student" property="name" value="홍길동"/>

3.3 getProperty

 - 데이터 값을 받아 올 때 사용  (Java의 getter)

 - student인스턴스의 name 속성의 값을 받아온다.

<jsp:getProperty name="student" property="name"/><br/>

4. 전체 코드 및 실행 결과

1) Java bean 파일

 - com.javalec.ex 패키지에 담긴 Student.java 파일 (JavaBean으로 사용)

 - 즉, JavaBean이란 서버로 가져와서 사용하길 원하는 객체를 정의한 Java 파일.

package com.javalec.ex;

public class Student {
	private String name;
	private int age;
	private int grade;
	private int studentNum;
	
	public Student() {
		
	}

	public String getName() {
		return name;
	}

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

	public int getAge() {
		return age;
	}

	public void setAge(int age) {
		this.age = age;
	}

	public int getGrade() {
		return grade;
	}

	public void setGrade(int grade) {
		this.grade = grade;
	}

	public int getStudentNum() {
		return studentNum;
	}

	public void setStudentNum(int studentNum) {
		this.studentNum = studentNum;
	}
	
}

2) JSP파일로 가져오기

 - useBean, setProperty, getProperty 태그를 이용하여 JavaBean 사용

<%@ page language="java" contentType="text/html; charset=EUC-KR"
    pageEncoding="EUC-KR"%>
<jsp:useBean id="student" class="com.javalec.ex.Student" scope="page"/>
<!DOCTYPE html>
<html>
<head>
<meta charset="EUC-KR">
<title>Insert title here</title>
</head>
<body> 

	<jsp:setProperty name="student" property="name" value="홍길동"/>
	<jsp:setProperty name="student" property="age" value="13"/>
	<jsp:setProperty name="student" property="grade" value="6"/>
	<jsp:setProperty name="student" property="studentNum" value="7"/>
	
	이름 : <jsp:getProperty name="student" property="name"/><br/>
	나이 : <jsp:getProperty name="student" property="age"/><br/>
	학년 : <jsp:getProperty name="student" property="grade"/><br/>
	번호 : <jsp:getProperty name="student" property="studentNum"/><br/>


</body>
</html>

 3) 실행 결과 

* 자바빈 더 깊게 배우려면

( https://hyeonstorage.tistory.com/96 )

'JSP > 인프런 JSP' 카테고리의 다른 글

17. JDBC  (0) 2020.02.21
16. 데이터베이스 -1  (0) 2020.02.21
13. 예외 페이지  (0) 2020.02.18
12. 세션  (0) 2020.02.15
11. 쿠키  (0) 2020.02.13
댓글