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

session은 서버와의 connection 관계를 유지하기 위해 이용자 정보를 저장하는 객체이다

세션은 서버에서만 접근이 가능해 보안성이 뛰어나고 data에대한 제한이없다

 

relative method

-setAttribute(): 세션의 속성 설정

session.setAttribute("id", "test");

-getAttribute(): 세션에서 data를 얻거나 사용할때

String id =(String)ssesion.getAttribute("id");

-getAttributeName(): 세션에 저장되어있는 모든 data의 이름을 얻어올때

-removeAttribute(): 세셔에서 특정 data를 제거한다

session.removeAttribute("id");

-invalidate(): 세션의 모든 데이터를 삭제한다

session.invalidate();

getId(): 자동 생성된 session ID를 얻어올때 사용한다.

isNew(): 세션이 최초로 생성되었는지 여부를 알고자 할때

getMaxInactiveInterval(): 세션의 유효시간을 얻어올때 

---입력된값을 id, pw에 받아와 세션을설정한다

<%

String id = request.getParameter("id");

String pw = request.getParameter("pw");

 

session.setAttribute("id", id);

session.setAttribute("password", pw);

%>

---설정된 세션을 가져온다(object로 반환된다)

<%

Object idObj = session.getAttribute("id");

String id = (String)idObj;

 

Object pwObj = session.getAttribute("password")

String pw = (String)pwObj;

%>

---invalidate() 세션지우기

<%

session.invalidate();

%>

'JSP' 카테고리의 다른 글

자바 빈(bean), scope,(DAO, DTO)  (0) 2019.08.15
예외처리(error page)  (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

+ Recent posts