웹개발/jsp

[JSP] #5 자바빈

RBWSN 2015. 3. 23. 19:30
728x90
자바빈은 로직부분과 뷰부분중 로직부분을 따로 자바파일로 생성하여 사용하는걸말한다.

로직은 모델부분을 따로 사용해야지 작업이 용이하고 재사용이 편리하다


먼저 자바빈의 액션태그를 보자



먼저 자바빈 java 파일을 만드는 법을 알아보자 
src에 보통 패키지를 생성하고 그안에 자바파일을 만든다.



그리고 접근제어자로 프로퍼티에 보안상 바로 접근을 할수 없게 보통 
getter setter 메소드를 사용한다.
getter/sertter 메소드는 원하는 프로퍼티를 생성한뒤



저곳을 클릭해서 


체크를 누르고 확인을 누르면
이렇게


getset이 설정된걸 볼수있다.

set은 정보를 저장할수 있는 public 접근제어자 메소드로 언제 setAge(10) 을 넣게되면 int Age=10; 이된다.
get은 정보를 뽑아쓸수 있다.
보안상 직접 프로퍼티에 접근하지않고 getset으로 가능하다.

이렇게 자바 파일을 만들었으면 이제 JSP내에서 이 자바빈을 사용할 수 있어야한다.

첫번째 해야할 일은 useBean을 사용하여 연결하는 것이다.

자바파일을 객체로 생성하는건데

직접 만들어 보도록하자
첫번째 id는 객체의 이름을 명시한다.
두번째 class는 클래스명을 입력하는건데 패키지와 전체의 경로를 입력해야한다.
세번째는 범위값으로 page가 디폴트이다.

그리고 다음은 setProperty로 프로퍼티에 값을 저장한다.

먼저name에는  uesbean으로 생성한 객체의 id를 적고
property에는 프로퍼티 명
세번째 value에는 값을 지정한다.


프로퍼티가 많다면 이게 하나하나쓰기 힘들수도있는데 파라미터의 이름과 개수가 프로퍼티의 이름과 개수에 일치하면 프로퍼티값에 * 을사용하면 한번에 값이 지정 가능하다.


그리고 마지막으로 getProperty는 값을 얻어온다.
자바빈 객체에 저장되어있는 프로퍼티의 값을 얻어오는데 
name은 이름 property는 프로퍼티 이름이다. 
이 코드를 사용하면
get메서드가 호출된다.

이제한번 자바빈을 사용하여 보자

이름과 나이를 입력받아자바빈으로 출력한다.


입력과 결과가 아주 잘 나오는걸 확인 가능하다.

코드는 이렇게 되어있다
06-1.jsp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>자바빈 입력폼</title>
</head>
<body>
<h2>자바빈 입력폼</h2>
 
<form method="post" action="06-1-1.jsp">
이름 : <input type="text" name="name"><br>
나이 : <input type="text" name="age"<%-- 이름과 나이가 프로퍼티 이름과 같게함 --%><br>
<input type="submit" value="완료">
 
</form>
 
</body>
</html>
cs


06-1-1.jsp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<%request.setCharacterEncoding("utf-8");%>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>자바빈 결과폼</title>
</head>
<body>
<h2>자바빈 결과창</h2>
 
<jsp:useBean id="beanTwo" class="bean.v07.Bean07">
<jsp:setProperty name="beanTwo" property="name"/<%--값저장 --%>
<jsp:setProperty name="beanTwo" property="age"/>
</jsp:useBean>
 
 
이름 : <jsp:getProperty property="name" name="beanTwo"/><br<%-- 값 호출 --%>
나이 : <jsp:getProperty property="age" name="beanTwo"/>
 
 
</body>
</html>
cs


다음번에는 JDBC를 알아보겠다.

 

728x90