자바를 배울 때의 인터페이스와 비슷한 개념이다.
사용하는 변수를 미리 설정하고 그 변수들의 getter/setter 를 만든 파일이다.
(getter/setter는 source 에서 자동완성이 가능하다.)
만들어진 빈(bean) 파일의 변수를 JSP 파일에서 사용할 수 있다.
VO (Value Object) == DTO (Data Transfer Object)
1. DB와 통신하기 위해서 하나의 행을 하나의 객체로 생성하는 것
2. 필드는 DB 테이블의 컬럼명과 같은 이름을 사용한다.
(사실상 둘이 다를건 없다.)
자바 빈 사용 방법
1. 특정 패키지에 자바빈을 만든다.
2. 자바빈을 생성한다.
<jsp:useBean id = "별명" class="패키지.자바클래스명" scope="생명주기"/>
3. 자바빈에 값을 저장한다.
<jsp:setProperty property="*" name="별명" />
4. 자바빈의 값을 사용한다.
<jsp:getProperty property="파라미터명" name="별명"/>
package org.joonzis.bean;
public class PersonVO {
private String name;
private int age;
private double height;
private String addr;
public PersonVO() {}
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 double getHeight() {
return height;
}
public void setHeight(double height) {
this.height = height;
}
public String getAddr() {
return addr;
}
public void setAddr(String addr) {
this.addr = addr;
}
}
VO 생성
자바빈을 생성하였으니 이제 사용해 보자
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<form action="Ex04_useBean2.jsp">
<div>이름 <input type="text" name="name"></div>
<div>나이 <input type="text" name="age"></div>
<div>키 <input type="text" name="height"></div>
<div>주소 <input type="text" name="addr"></div>
<input type="submit" value="전송">
</form>
</body>
</html>
데이터 set
<%@page import="org.joonzis.bean.PersonVO"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%
request.setCharacterEncoding("utf-8");
PersonVO vo = new PersonVO();
vo.setName(request.getParameter("name"));
vo.setAge(Integer.parseInt((request.getParameter("age"))));
vo.setHeight(Double.parseDouble((request.getParameter("height"))));
vo.setAddr(request.getParameter("addr"));
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<jsp:useBean id="mb" class="org.joonzis.bean.PersonVO"/>
<jsp:setProperty property="*" name="mb"/>
<h1>
이름 : <jsp:getProperty property="name" name="mb"/><br>
나이 : <jsp:getProperty property="age" name="mb"/><br>
키 : <jsp:getProperty property="height" name="mb"/><br>
주소 : <jsp:getProperty property="addr" name="mb"/>
</h1>
</body>
</html>
데이터 get
변수 이름이 같다면 자동으로 연결된다. (위에 굳이 java 코드를 쓰지 않아도)
'수업 내용 > [JSP] JSP' 카테고리의 다른 글
[JSP] 07. EL (Expression Language) (0) | 2023.05.23 |
---|---|
[JSP] 06. cookie (0) | 2023.05.23 |
[JSP] 04. 데이터 전달 개념 / 데이터 저장 공간 (0) | 2023.05.19 |
[JSP] 03. 서블릿 (servlet) (0) | 2023.05.17 |
[JSP] 02. 기초 (페이지이동, 세션, out, 버퍼) (0) | 2023.05.17 |