자바 빈은 data를 저장하기위한 필드와
data를 control하기위한 getter/setter method를
하나의 쌍으로 가지고있는 class이다
빈(bean)에는 DAO, DTO가 있다
DAO(Data Access Object) : DB data접근을 목적으로하는 객체이다
DTO(Data Transfer Object) : DB에 있는 record를 객체화한 class이다
DTO는 data가 포함된 객체를 다른 시스템으로 전달하는 역할을 하는객체이다
1. package 선언
ex) com.test.Ex.className
2. field 선언
private String name; //이름을 저장할 filed 선언
private STring userid; // ID를 저장할 field 선언
2.5. 생성자 생성
3. getter/setter method 정의 (property 선언)
property: private field를 외부에서 접근하기위해서
공개형 접근제어자 public 으로 method를 정의해 놓고
이를통해 간접적으로 field에 접근하는 방식
자바빈과 관련된 action tag
<jsp:useBean> : 자바빈을 생성
ex) <jsp:useBean class = "class full name" id = "bean name" [scope="range"] />
<jsp:getProperty> : 자바빈에서 정보를 얻어온다
ex) <jsp:getProperty name="bean name" property="property name"/>
<jsp:setProperty> : 자바빈에 정보를 저장한다
ex) <jsp:setProperty name="bean name" property="property name" value="값"/>
-----
package com.test.ex;
public class Person{
private String name;
private int id;
public Person(){
}
public String getName(){
return name;
}
public String setName(String name){
this.name = name;
}
public int getId(){
return id;
}
public int setId(int id){
this.id = id;
}
}
-------
<jsp:useBean id="Person" class="com.test.ex.Person" scope="page"/>
<jsp:setProperty name="Person" property="name" value = "jusung"/>
<jsp:setProperty name="Person" property="id" value = "1234"/>
<jsp:getProperty name="Person" property="name"/>
<jsp:getProperty name="Person" property="id"/>
[자바빈의 영역(Scope)]
-page(default) : 현재 page 범위에만 한정, 페이지 처리가 끝나면 유효하지 않는다.
- request : request의 생명주기는 요청을 받고 요청처리를 완료하는 시점이다.
따라서 빈의 Scope는 request의 생명주기와 같다.
-session : 세션의 생명주기는 설정된 유효시간이다. 따라서 빈의 스코프는 세션의 유효시간동안이다
-application : 웹사이트가 실행되는 동안 빈의 스코프이다
page이동 관련 method
1. forward action : page를 이동시킨다
이동후 페이지와 이동 전의 페이지는 request를 공유한다
2. response.sendRedirect="aa.jsp";
forward 방식과 달리 새로운 request를 발생시킨다
새로운 요청을 발생시키기 때문에 page이동후 로직을 계속 수행한다
3. 자바 스크립트의 location.href="aaaa.jsp";
지정된 url로 이동시킨다
href이후로도 계속 로직을 수행한다
sendRedirect()와 비슷하다
return값을 줘서 로직을 수행하지 않게할수있다
'JSP' 카테고리의 다른 글
예외처리(error page) (0) | 2019.08.14 |
---|---|
session (0) | 2019.08.14 |
쿠키(cookie) (0) | 2019.08.14 |
request, response, action tag (0) | 2019.08.14 |
JSP tag 종류, page, include, taglib 지시자, jsp 내부객체 (0) | 2019.08.14 |