Bean의 사용
1) 폼에서 넘어온 값을 빈에 넣어주는 예
<jsp:useBean id="tb" class="BeanTest.TestBean">
<jsp:setProperty name="tb" property="*" /> 빈으로 값을 넣어준다
</jsp:useBean>
또는
<jsp:useBean id="tb" class="BeanTest.TestBean" />
<jsp:setProperty name="tb" property="*" /> 빈으로 값을 넣어준다
☞ 빈에 담을때는 주로 위의 방법을 이용했다.
2) 빈에서 값을 받아오는 예
id : <jsp:getProperty name="tb" property="id" /> 와 같은 표현 <%=tb.getId()%>
team : <jsp:getProperty name="tb" property="team" /> 와 같은 표현 <%=tb.getTeam()%>
age : <jsp:getProperty name="tb" property="age" /> 와 같은 표현 <%=tb.getAge()%>
☞ 빈에 담긴 내용을 웹에 표시할 때에는 주로 getXxx() 메서드를 이용했다.
<jsp:useBean id="tb" class="TestBean" /> 와 같은 표현 TestBean tb = new TestBean();
<jsp:setProperty name="tb" property="id" /> 와 같은 표현 tb.setId(request.getParameter("id"));
<jsp:setProperty name="tb" property="*" /> 변수들 모두다 적용
3) scope 속성의 값
<jsp:useBean id="tb" class="BeanTest.TestBean" scope="page"/>
* scope="page" --> Default 속성값
현재페이지 내에서만 객체를 가짐.
* scope="session"
세션이 살아있는 동안 객체를 가짐.(현재 브라우저가 살아있는 동안)
<%@ page %>에서 session=true로 설정된 곳에서 사용가능.
setAttribute()와는 다른의미의 세션임.
* scope="request"
forward, inclued 된 페이지 범위까지도 객체를 사용 가능.
request는 요청이 모두 끝날때 까지.
page와 다른점은 request는 forward, inclued를 통해서 다른 서블릿이나 jsp로 넘어 가서 또 수행 될수가 있다.
* scope="application"
애플리케이션내에서 사용 가능 = 컨테이너가 살아있는 동안이라는 뜻임.
(애플리케이션이란? ROOT, myapp등과 같은 webapps 폴더내의 서브폴더임)