우리는 JSP를 통해 HTML 문서에 Java 코드를 넣을 수 있게 되었다.
그런데 HTML과 Java가 같이 쓰이게 되면서 가독성이 떨어지는 문제가 생긴다.
이때문에 등장한게 자바빈즈(Java Beans)이다.
자바빈즈(Java Beans)란?
자바빈즈(Java Beans)는 JSP의 표준 태그를 통해 접근할 수 있는 자바 클래스이다.
이 클래스는 멤버변수, setter, getter 메소드로 이루어져 있다.
자바빈즈(Java Beans) 규칙
- 패키지화
- 기본 생성자 선언
- 필드 접근 제한자를 private로 설정
- getter, setter 메소드 접근 제한자를 public으로 설정
스크립트(Script) 태그 vs 자바빈즈(Java Beans)
아래와 같이 Student 클래스가 있다고 해보자.
- Student.java
package javabeansTest;
public class Student {
private int age;
private String name;
public Student() {
age = 0;
name = "이름이 없습니다";
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
- 스크립트(Script) 태그를 통한 Student 클래스 사용 예시
<%@page import="javabeansTest.Student"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>스크립트 태그 사용 예시</title>
</head>
<body>
<%! Student student = new Student(); %>
<%
student.setAge(20);
student.setName("Test");
%>
<%=student.getAge() %>
<%=student.getName() %>
</body>
</html>
- 자바빈즈(Java Beans)를 통한 Student 클래스 사용 예시
<%@page import="javabeansTest.Student"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>자바빈즈 사용 예시</title>
</head>
<body>
<jsp:useBean class="javabeansTest.Student" id="student"/>
<jsp:setProperty property="age" name="student" value="20"/>
<jsp:setProperty property="name" name="student" value="Test"/>
<jsp:getProperty property="age" name="student"/>
<jsp:getProperty property="name" name="student"/>
</body>
</html>
- 실행결과
출처
따즈아 - 배워서 바로 써먹는 JSP 1
'웹 > JSP' 카테고리의 다른 글
JSP GET 방식과 POST 방식 차이 (0) | 2023.06.07 |
---|---|
JSP 내장 객체 (0) | 2023.06.06 |
JSP DB 연동하기(오라클, DBeaver, JDBC) (0) | 2023.06.04 |
JSP 액션(Action) 태그 (forward, param, include) (0) | 2023.04.16 |
JSP 에러(The selection cannot be run on any server) (0) | 2023.04.13 |