자바 빈은 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

request 객체: 사용자(client)의 요청을 관리하는 객체

--relative method

getContextPath(): web application의 context path를 얻어올때 사용하는 method

getMethod(): get방식과 post방식을 구분하기위해 사용하는 method

getProtocol(): 해당 protocol을 얻어올때 사용하는 method

getRequestURL(): 요청한 URL을 얻어올때 사용하는 method

getRequestURI(): 요청한 URI를 얻어올때 사용하는 method

getQueryString(): 쿼리 스트링을 얻어온다

 

request parameter method

getParameter(String name) : name에 해당하는 parameter의 값을 구할때 사용

getParameterNames() : 모든 parameter의 이름을 얻어올때 사용한다.

getParameterValues(String name) : name에 해당하는 parameter의 값들을 배열 type으로 얻어올수있다

----------

response 객체 method

getCharacterEncoding(): 응답할때 문자 인코딩을 얻어올때

addCookie(cookie): 쿠키를 지정할때

sendRedirect(URL): 이동하고자 하는 URL을 지정할때 

------

action tag란 page내에서 어떤 동작을 하도록 지시하는 tag를 말한다

페이지이동(forward), include, param

param을 이용해 data를 이동이동시키고 request.getParameter()로 data를 받는다

<jsp:forward param="aaa.jsp">

<jsp:param value"hahaha" name="lauging"/>

</jsp:forward>

 

표준 액션(standard action): jsp page에서 바로 사용할수있는 action

<jsp:include page="a.jsp"> // jsp 접두어는 표준 액션을 의미한다

커스텀 액션(custom action): 별도의 라이브러리를 설치해서 사용하는 action

<c: set var="i" value="0"/> //

 

 

 

 

'JSP' 카테고리의 다른 글

session  (0) 2019.08.14
쿠키(cookie)  (0) 2019.08.14
JSP tag 종류, page, include, taglib 지시자, jsp 내부객체  (0) 2019.08.14
register and database list  (0) 2019.08.09
DB연동(oracle DB, Eclipse)  (0) 2019.08.08

+ Recent posts