DAO(Data Access Object)
는 DB를 사용해 데이터를 조회하거나 조작하는 기능을 전담하도록 만든 오브젝트, 즉 데이터에 접근하는 데 쓰이는 객체를 한데 모아두는 것을 말한다.
DTO(Data Transfer Object)
는 계층 간 데이터 교환을 위한 자바 Bean(데이터를 읽어오거나 데이터를 저장하는 역할을 반복적으로 수행하기 위해 사용되는 것)을 말한다. 즉, 데이터 하나를 가리키고 그것이 DAO를 통해 경유하여 쿼리를 날리고 결과값을 받아오는 데 사용되는 것을 말한다.
특정한 자바빈 파일을 사용한다고 명시할 때 사용된다. 형식은 다음과 같다.
<jsp:useBean id="빈 이름" class="자바빈 파일의 패키지.클래스명" scope="유효범위" />
자바빈 파일의 setter 메서드를 사용하기 위해, 즉 데이터의 값을 설정할 때 사용된다. 형식은 다음과 같다.
<jsp:setProperty name="빈 이름" property="필드명" value="값" />
<jsp:setProperty name="빈 이름" property="*" />
자바빈 파일의 getter 메서드를 사용하기 위해, 즉 저장된 데이터의 값을 읽어올 때 사용된다. 형식은 다음과 같다. (getProperty는 거의 사용하지 않는다고 한다.)
<jsp:getProperty name="빈이름" property="필드명" />
(1) 설명 : 객체를 따로 생성하지 않고 스크립트렛 즉,
<%%> 사이에서 사용 가능한 객체를 의미
(2) 종류
<1> out 객체 ( type : JspWriter )
-> 클라이언트 브라우져와 연결된 출력 객체
<2> request 객체 ( type : HttpServletRequest )
-> 클라이언트 요청정보를 가진 객체/공간[객체]
ex) scope/requestTest.jsp
<3> response 객체 ( type : HttpServletResponse )
-> 서버의 답변정보를 가진 객체
<4> session 객체 ( type : HttpSession )
-> 클라이언트측 브라우져에 할당된 서버측 객체/공간[객체]
( JSessionId라는 label 표식 소유 )
ex) scope/sessionTest.jsp
cf1) 세션 변수 ( 속성 == Attribute )
-> session 객체안에 들어가는 객체(속성값 Object)
의 주소를 참조하는 변수 (type : String)
cf2) 세션 변수값 ( 속성값 == Attribute Value )
-> session 객체안에 들어가는 객체(type : Object)
ex1) <jsp:useBean id="login" class="soo.loginBean"
scope="session"/>
ex2) session.setAttribute("id", "tiger");
# 세션변수는 "login" 과 "id" 를 의미
# 세션변수값 new soo.loginBean() 과 "tiger"를 의미
# 세션객체가 없어지면, 그 안의 세션변수와 세션변수값
도 함께 사라진다.
<5> application 객체 ( type : ServletContext )
-> WebApplication 전체에 공유되는 객체/공간[객체]
ex) scope/applicationTest.jsp
cf) application 변수(속성)/application 변수값(속성값)
<6> page 객체 ( type : Object )
-> JSP 페이지 자신을 의미하는 객체
ex) scope/pageTest.jsp
<7> pageContext 객체 ( type : PageContext )
-> 다른 디폴트객체들을 접근(가져)할 수 있는 method
-> 모든 scope에 들어있는 속성(변수)들을 접근할 수
있는 method가 존재
- setAttribute(String name, Object value, int scope)
- getAttribute(String name, int scope)
- findAttribute(String name)
-> page scope 영역도 핸들링이 가능함
ex) scope/pageTest.js
<8> config 객체 ( type : ServletConfig )
-> DD(web.xml)에서 서블릿의 구성정보를 접근할 수 있는 객체
ex) servletConfigContext/
ConfigTest.java,ConfigTest.jsp(참조 불가),
ContextTest.java, contextTest.jsp
cf1) web.xml의 수정 (한글이 깨지지 않음)
<?xml version="1.0" encoding="euc-kr"?>
cf2) jsp페이지에서는 DD(web.xml)설정된
init-param를 참조할 수 없음
cf3) DD(Deployment Descriptor)
<9> exception 객체 ( type : Throwable )
-> 예외 처리 관련 객체
객체이름 | 타입 | 스코프 | 설명 |
---|---|---|---|
request | javax.servlet.ServletRequest(javax.servlet.http.httpRequest) | Request | client의 http 요청정보를 저장하고 있는 객체 |
response | javax.servlet.ServletResponse(javax.servlet.http.httpResponse) | Page | http 요청에 대한 응답정보를 저장하는 객체 |
pageContext | javax.servlet.jsp.PageContext | Page | 응답 페이지 실행에 필요한 Context정보를 저장한 객체 |
session | javax.servlet.http.HttpSession | Session | client 가 서버에 접속했을 때 세션정보를 저장한 객체 |
application | javax.servlet.ServletContext | Application | 동일한 Application 의 Context 정보를 저장하고 있는 객체 |
out | javax.servlet.jsp.JspWriter | Page | 응답 페이지 전송을 위한 출력 stream |
config | javax.servlet.ServletConfig | Page | 특정 페이지의 서블릿 설정 정보를 저장하고 있는 객체 |
page | java.lang.Object | Page | 특정 페이지의 서블릿 객체(인스턴스화된 객체) |
exception | java.lang.Throwable | Page | 예외 처리를 위한 객체 |
멋져요,....최고에요.//...도움이 많이 되네요..