Information Security
Bean 사용하기 본문
-회원가입 입력 양식을 만들어 보겠습니다.
-Project, JSP 파일 생성
-먼저 비밀번호를 올바르게 입력했는지 확인하는 함수를 작성할 것이다.
-비밀번호(password)와 비밀번호 확인(repassword)의 입력 값이 같은지 비교한다. 같으면 true를 리턴하고, 같지 않으면 경고 메시지를 출력한 후 두 입력 칸을 비운 뒤 focus를 비밀번호(password) 입력 칸으로 위치 시킨다.
-hidden: 해당 내용 표시 안 함
-getRemoteAddr(): 웹 서버에 연결한 클라이언트의 IP 주소를 구한다.
-table 태그를 이용하여 회원 가입 입력 양식을 작성한다.
-위의 코드를 실행한 결과이다.
-내용을 입력하고 [가입하기]를 누른다.
-비밀번호와 비밀번호 확인 칸에 입력 값이 같으면 memberOk.jsp 페이지로 넘어간다.
-다르면 경고 메시지가 출력되고, [확인]을 누르면 비밀번호와 비밀번호 확인 칸이 비워지고 커서(focus)가 비밀번호(password) 입력 칸으로 위치하게 된다.
VO(Value Object), Bean
-VO(Value Object): 한 건의 데이터를 기억하는 클래스, DTO(Data Transfer Object)
-Bean: 자바로 무언가를 처리하기 위한 최소한의 단위이다. 데이터를 저장할 멤버 변수와 멤버 변수의 내용을 입/출력할 수 있는 getter & setter 메소드로만 구성된 클래스를 의미한다.
-내용을 읽어오고 저장할 메소드들을 작성하기 위해 MemberVO 클래스를 생성한다.
Getter & Setter Method
-마우스 오른쪽 클릭 -> Source -> Generate Getters and Setters
-[Select All] 클릭 -> [OK] 클릭
-getter & setter 메소드 생성
-마우스 오른쪽 클릭 -> Source -> Generate toString()
-toString() 메소드를 오버라이드 한다.
-메소드 작성을 완료했다. 이제 memberOK.jsp 파일을 작성할 것이다.
-member.jsp에서 form에 저장되어 넘어오는 내용을 받는다.
-MemberVO 클래스의 객체를 생성하고 setter 메소드를 사용하여 값을 저장해준다.
-memberOK.jsp도 작성을 완료했다. 이제 member.jsp를 실행한다.
-[가입하기]를 누르면 memberOK.jsp로 넘어간다.
-이렇게 입력한 내용이 출력되었다.
-여기서는 form에 저장되어 넘어오는 멤버가 적었지만 많을 경우에는 일일이 받으면 번거로울 것이다.
더 편리하게 작성할 방법을 알아볼 것이다.
-form에 저장되어 넘어오는 내용 중에 VO 클래스의 멤버인 값은 <jsp:useBean> 액션 태그로 받고 나머지는 별도로 받는다.
★useBean을 사용하려면 클래스 멤버 변수의 이름과 form 태그 name 속성의 이름이 같아야 한다.
<useBean 속성>
-id: 생성하려는 객체의 이름을 지정한다.
-class: 객체를 생성하려는 클래스의 이름을 풀 패키지 이름과 같이 적는다.
-"MemberVO vo = new MemberVO();"와 같은 기능이 실행된다.
-property 속성에는 setter 메소드를 실행할 멤버 변수의 이름을 적는다.
-위의 두 줄과 같은 기능이 실행된다. 두 줄을 한 줄로 줄여서 작성하기가 조금 편해졌다.
★★
-property 속성에 '*'을 적으면 모든 멤버 변수의 setter 메소드가 자동으로 실행된다.
여러 줄을 한 줄로 줄여서 작성하기가 더 편해졌다.
-member.jsp에서 memberOK2.jsp로 넘어가도록 수정한 후 실행한다.
☆☆
-EL을 사용하여 위와 같이 접근하여 값을 표시할 수 있다.
-아니면 위와 같이 객체에 접근하여 메소드를 실행해서 값을 표시할 수도 있다.
-위의 코드를 member.jsp에서 실행한 결과이다.
'JSP Web Programming' 카테고리의 다른 글
Login test (0) | 2017.05.25 |
---|---|
Form check (0) | 2017.05.24 |
Area test (0) | 2017.05.16 |
웹 프로그래밍 기본 용어 정리 (0) | 2017.05.16 |
SQL 사용하여 데이터 관리하기 (0) | 2017.05.06 |