7. JavaBeans 프로그래밍 JavaBeans JavaBeans 만들기 빈을 이용한 회원가입 양식 작성하기 빈 작성

Slides:



Advertisements
Similar presentations
XHTML Basic 제 13 장 1. XHTML Basic의 개요 2. XHTML Basic 기본 문법 3. 표 만들기
Advertisements

W3000 제 품 제 안 서.
11 JSTL 사용하기.
10장 회원 가입과 로그인 한빛미디어(주).
2002/3/20 HTML 2002/3/20
HTML과 CGI 프로그래밍 PHP 웹 프로그래밍 (PHP Web Programming) 문양세
MySQL 연동 PHP 프로그래밍 기초 순천향대학교 정보기술공학부 이상정.
1 HTML5 개요.
Internet Computing KUT Youn-Hee Han
12장. JSP에서 자바빈 활용 제12장.
제 08 장 자바 빈즈 학기 인터넷비즈니스과 강 환수 교수.
12 커스텀 액션.
11장 방명록 한빛미디어(주).
Project No 김현수 최종 작성일 :
JSP BBS (Bulletin Board System)
2 서블릿의 기초.
3장. 웹 어플리케이션과 JSP 및 Servlet의 이해 제3장.
9 표준 액션.
9장. 요청 흐름제어와 모듈화 #1: <jsp:forward> 액션태그 사용
10장. 에러 처리 제10장.
JSP 내장 객체 개요 내장 객체 (참조 변수 이름) 자바 클래스 주요 역할
5 익셉션 처리.
7. JavaBeans 프로그래밍 JavaBeans JavaBeans 만들기 Bean을 이용한 회원가입 양식 작성하기
Web Server와 DB 연동.
16강. 자바 빈 빈 이란? 빈 만들기 빈 관련 액션 태그(useBean, getProperty, setProperty)
이 름: 정홍도 (과장) 팀 명: 개발사업팀 일 자:
3 JSP의 기초.
4 쿠키와 세션.
중 간 고 사 (웹프로그래밍)
학습목표 학습목차 Table 태그를 이용하여 표 만들기를 이해할 수 있습니다.
강의 보조자료 & Homework #2 - 로그인과 이미지 카운터 만들기 -
홈페이지 만들기 HTML HyperText Markup Language 홈페이지를 만들 때 사용하는 언어
웹서버와 설치에 필요한 것 WWW ( world wide web ) TCP/IP 프로토콜을 이용하는 클라이언트/서버 환경
5. JSP의 내장객체1.
[INA240] Web Programming Homework #3 [INA240] Web Programming
JSP와 자바 빈즈 JSP 빈즈 구조를 이해하고 활용한다. useBean 액션 활용법을 익힌다.
JSP 내장 객체 JSP에서 기본으로 사용할 수 있는 내장 객체 종류를 알아본다. 내장 객체별 주요 기능과 메서드를 이해한다.
16장 설문조사 한빛미디어(주).
4. JSP의 스크립트 요소 Script 요소의 이해 선언문(Declaration) Scirptlet 표현식 주석
8 데이터베이스 사용하기.
12 데이터베이스 사용하기.
Cookie 와 Session.
Html(front end) & jsp(back end)
Web Socket.
BIZSIREN 실명확인서비스 개발 가이드 서울신용평가정보㈜ 신용조회부 (TEL , FAX )
HTML.
충북대학교 데이터베이스 & 정보시스템 연구실 정 태 성
10장. 자바빈(JavaBean) 이 장에서 배울 내용 : 화면에 표시를 담당하는 JSP페이지와 실제프로그램을 처리하는 로직을 분리하는 것에 대해서 학습한다. 하나의 JSP페이지 안에 디자인부와 로직부가 혼재하게 되면 프로그램의 협업과 유지보수가 어렵다. 자바빈은 로직을.
이장에서 배울 내용 : 화면에 표시를 담당하는 JSP페이지와 실제프로그램을 처리하는 로직을 분리하는 것에 대해서 학습한다
9장 웹 사이트 초기 화면 제작 한빛미디어(주).
3. JSP의 기본예제.
CGI (Common Gateway Interface)
JSP Programming with a Workbook
제 14 장 커스텀 태그 학기 인터넷비즈니스과 강 환수 교수.
상품등록 방식 비교 년 4월 23일 (주)에이치케이넷츠.
JSP문법 JSP 기본 구조를 이해한다. 지시어, 스크립트릿 JSP 액션 태그 사용법을 익힌다. 한빛미디어(주)
표현언어와 커스텀태그 표현 언어의 개념을 이해한다. JSP1.2 커스텀 태그 개발 방법을 익힌다.
CGI (Common Gateway Interface)
12장 자유게시판 한빛미디어(주).
17장 웹 사이트 제작 완성 한빛미디어(주).
3장. 웹로직 서버에서의 서블릿과 JSP의 운용 3-1. 서블릿, JSP를 실행하기 전의 환경 설정
ASP 수행 화면(1).
LOGIN할 때 아이디, 비번 입력 여부 체크하기
Spring Security 2015 Web Service Computing.
세션 (Session) Yang-Sae Moon Department of Computer Science
JSP Expression Language
JSP 빈즈 1.JSP 빈즈? JSP와 연동을 위해 만들어진 컴포넌트 클래스를 말한다. JSP 빈즈는 컨테이너에 위치하며, 데이터 처리와 공용화된 기능을 제공하기 때문에 빈즈를 잘 활용하면 프로그램의 중복을 줄이고 좀더 원할한 유지보수가 가능한다. 물론 , 모든 JSP를.
JSP Programming with a Workbook
제 11 장 자바빈즈를 이용한 JDBC 프로그래밍 학기 인터넷비즈니스과 강 환수 교수.
HTML HTML 기본 구조와 태그 다양한 태그 다루기
Presentation transcript:

7. JavaBeans 프로그래밍 JavaBeans JavaBeans 만들기 빈을 이용한 회원가입 양식 작성하기 빈 작성 빈 컴파일 빈을 이용하는 JSP 파일 작성 빈을 이용한 회원가입 양식 작성하기

o 자바빈즈(JavaBeans)란 컴포넌트 형태로 제작된 자바 모듈 JSP 페이지가 복잡한 자바코드로 구성되는 것을 피하고 JSP 페이지에는 HTML과 같은 쉽고 간단한 코드만을 구성하도록 하는 것이 목적 컴포넌트들의 개별 -> 빈 효율성, 재사용 등의 측면에서 장점

o 자바빈즈 만들기 빈 작성 정보를 저장하는 변수는 모두 private로 선언 private로 선언된 변수의 값을 저장하는 메소드를 만듬. 메소드의 이름은 setXxx()형식으로 만듬. Xxx는 변수의 이름과 같으며 첫 글자는 대문자 private로 선언된 변수의 값을 가져오는 메소드를 만듬. 메소드의 이름은 getXxx()형식으로 만듬. Xxx는 변수의 이름과 같으며 첫 글자는 대문자 setXxx() 메소드와 getXxx() 메소드를 public으로 선언

빈 작성 빈즈 클래스 구성 멤버 변수 getter 메소드 (getXxx()) setter 메소드 (setXxx()) pulbic class xxxBean { // 멤버 변수, DB 테이블의 컬럼 이름과 매칭된다. private String xxx; private int xxx; // get, set 메서드, 멤버 변수와 매칭된다. public getXxx() { return xxx; } public setXxx(String xxx) { this.xxx = xxx; pulbic class MyBean { private String name; public void getName() { return name; } public setName(String name) { this.name = name;

Recall Ch5: Action Tag 지시자 액션 태그 page 지시자 include 지시자 Include 액션 태그 Forward 기타 액션 태그 자바빈즈 프로그래밍

Recall Ch5: Action Tag useBean으로 선언된 빈즈 클래스의 getXxx() 메서드를 호출 <jsp:getProperty name=“cls” property=“xxx” /> useBean으로 선언된 빈즈 클래스의 setXxx() 메서드를 호출 <jsp:setProperty name=“cls” property=“xxx” /> xx 패키지의 MyBean 클래스를 cls로 page 범위에서 사용할 것을 선언 <jsp:useBean scope=“page” id=“cls" class=“xx.MyBean” /> Beans 현재 페이지의 제어를 다른 페이지로 전달 <jsp:forward page=“xx.jsp” /> forward 다른 페이지를 현재 페이지에 포함 <jsp:include page=“xx.jsp” /> include 기능 사용법 액션 자바빈즈 프로그래밍

멤버변수 getter 메소드 클래스외부에서의 접근을 막기위해 private 로 선언함 멤버변수이름, HTML form 이름, DB테이블 컬럼명을 일치하는 것이 좋음. getter 메소드 멤버변수의 값을 리턴하는 메서드 getXxx() 와 같이 이름을 붙여야 한다. 멤버변수명의 첫글자를 대문자로 해야함(Bean 액션과 연동). <jsp:getProperty name=”gb” property=”username” /> -> 내부적으로 getUsername() 메서드를 호출하게됨.

setter 메소드 멤버변수에 값을 설정하는 메서드 setXxx()와 같이 이름을 붙여야 한다. 멤버변수명의 첫글자를 대문자로 해야함. <jsp:setProperty name=“gb” property=“username” value=“ … ”/> 내부적으로 setUsername(request.getParameter(“username”))과 함께 호출

빈 만들기 $(Tomcat Home)\webapps\ch07\WEB-INF\classes에 저장 //SimpleBean.java 01  package ch07; 02 03  public class SimpleBean { 04 05    private String message = ""; 06 07    public String getMessage() { 08      return message; 09    } 10 11    public void setMessage(String message) { 12      this.message = message; 13    } 14 15  }

빈 컴파일 javac [옵션] [자바소스파일] 옵션 : -d 디렉토리 경로 :주어진 디렉토리 경로에 패키지 구조대로 폴더를 생성하여 자바 파일을 컴파일 << 자바빈즈 컴파일 >> ch07 폴더 생성 후 컴파일해도 무방함

빈을 이용하는 JSP 파일 작성 빈을 사용하기 위한 액션 태그 제공 -> 빈 태그 빈 태그 빈 관련 태그 내용 <jsp:useBean id="..." class="..." scope="..."/> 빈을 생성하여 둡니다 <jsp:setProperty name="..." property="..." value="..."/> 빈에 값을 저장합니다 <jsp:getProperty name="..." property="..." /> 빈의 값을 가져옵니다

빈을 생성하기( useBean 액션 ) useBean 액션 속성 목록 <jsp:useBean id=“myBean” class=“ch07.SimpleBean” scope=“page”/> 빈즈 클래스 범위로 page, request, session, application이 올 수 있음 scope 빈즈 클래스 클래스명으로 패키지 경로를 포함 class 빈즈 클래스 인스턴스명으로 사용할 변수 id 설명 속성

scope의 종류 종류 설명 page 해당 JSP 페이지 내에서만 존재 request session 사용자가 최초에 접속하여 접속을 종료되기까지 존재 application 해당 어플리케이션이 살아 있는 동안 함께 존재

scope의 예제 pageBean1.jsp , pageBean2.jsp requestBean1.jsp , requestBean2.jsp sessionBean1.jsp , sessionBean2.jsp applicationBean1.jsp , applicationBean2.jsp TestBean.java

빈에 값을 넣기( setProperty 액션 ) <jsp:useBean id=“myBean” class=“ch07.SimpleBean” scope=“page”/> <jsp:setProperty name=“myBean” property=“*”/> 속성 값으로 빈즈 클래스의 setXxx (Xxx 는 속성 이름) 메서드와 대응할 속성 값. “*”를 지정하면 모든 setXxx에 자동으로 대응된다. property 빈즈 클래스 인스턴스명으로 id 값에 설정한 변수명 name 설명 속성

빈의 저장된 값을 가져오기( getProperty 액션 ) <jsp:useBean id=“myBean” class=“ch07.SimpleBean” scope=“page”/> <jsp:setProperty name=“myBean” property=“*”/> <jsp:getProperty name=“myBean” property=“name”/> 속성 값으로 빈즈 클래스의 getXxx (Xxx 는 속성 이름) 메서드와 대응할 속성 값. property 빈즈 클래스 인스턴스명으로 id 값에 설정한 변수명 name 설명 속성

빈을 이용한 jsp 파일 예제 //SimpleBean.jsp 01  <%@ page contentType="text/html; charset=euc-kr" %>      //page 지시자. 현재 페이지의 타입과 페이지의 인코딩을 지시 02  <jsp:useBean id="test" class="ch07.SimpleBean" scope="page" /> 03  <jsp:setProperty name="test" property="message" value="빈을 쉽게 정복하자!" /> 04 05  <html> 06  <body> 07 08  <h1>간단한 빈 프로그래밍</h1> 09  <br> 10  Message: <jsp:getProperty name="test" property="message" /> 11 12  </body> 13  </html>

o 빈을 이용한 회원가입 양식 작성하기 << 회원가입 프로세스 >>

1. 회원가입 입력 폼 작성 회원정보를 처리하기 위한 빈 작성 회원입력 정보확인 페이지 작성 Register.jsp RegisterBean.java 회원입력 정보확인 페이지 작성 RegisterProc.jsp

Register.jsp 자바빈즈 프로그래밍 <tr> <td>패스워드 확인</td> <td> <input type="password" name="mem_repasswd" size="15"> </td> <td>패스워드를 확인합니다.</td> </tr> <td>이름</td> <td> <input type="text" name="mem_name" size="15"> </td> <td>고객실명을 적어주세요.</td> <td>이메일</td> <td> <input type="text" name="mem_email" size="27"> </td> <td>이메일을 적어주세요</td> <td>전화번호</td> <td> <input type="text" name="mem_phone" size="20"> </td> <td>연락처를 적어주세요</td> <td colspan="3" align="center"> <input type="button" value="회원가입" onclick="inputCheck()">             <input type="reset" value="다시쓰기"> </td> </form> </table> </table> </body> </html> <html> <head> <title>회원가입</title> <link href="style.css" rel="stylesheet" type="text/css"> <script language="JavaScript" src="script.js"></script> </head> <body bgcolor="#996600"> <table width="80%" align="center" border="0" cellspacing="0" cellpadding="5" > <tr> <td align="center" valign="middle" bgcolor="#FFFFCC"> <table width="90%" border="1" cellspacing="0" cellpadding="2" align="center"> <form name="regForm" method="post" action="RegisterProc.jsp"> <tr align="center" bgcolor="#996600"> <td colspan="3"><font color="#FFFFFF"><b>회원 가입</b></font></td> </tr> <td width="24%">아이디</td> <td width="35%"> <input type="text" name="mem_id" size="15"> </td> <td width="41%">아이디를 적어 주세요.</td> <td>패스워드</td> <td> <input type="password" name="mem_passwd" size="15"> </td> <td>패스워드를 적어주세요.</td> 자바빈즈 프로그래밍

RegisterBean.java 자바빈즈 프로그래밍 public void setMem_phone(String mem_phone) { this.mem_phone = mem_phone; } public String getMem_id() { return mem_id; public String getMem_passwd() { return mem_passwd; public String getMem_name() { return mem_name; public String getMem_email() { return mem_email; public String getMem_phone() { return mem_phone; package ch07; public class RegisterBean{ private String mem_id; private String mem_passwd; private String mem_name; private String mem_email; private String mem_phone; public void setMem_id(String mem_id) { this.mem_id = mem_id; } public void setMem_passwd(String mem_passwd) { this.mem_passwd = mem_passwd; public void setMem_name(String mem_name) { this.mem_name = mem_name; public void setMem_email(String mem_email) { this.mem_email = mem_email; 자바빈즈 프로그래밍

RegisterProc.jsp 자바빈즈 프로그래밍 <tr> <td width="24%">아이디</td> <td width="41%"><jsp:getProperty name="regBean" property="mem_id" /></td> </tr> <td>패스워드</td> <td> <jsp:getProperty name="regBean" property="mem_passwd" /> </td> <td>이름</td> <td> <jsp:getProperty name="regBean" property="mem_name" /> </td> <td>이메일</td> <td> <jsp:getProperty name="regBean" property="mem_email" /> </td> … <%@ page contentType="text/html; charset=euc-kr" %> <% request.setCharacterEncoding("euc-kr"); %> <jsp:useBean id="regBean" class="ch07.RegisterBean" scope="page" /> <jsp:setProperty name="regBean" property="*" /> <html> <head> <title>회원가입 확인</title> <link href="style.css" rel="stylesheet" type="text/css"> <script language="JavaScript" src="script.js"></script> </head> <body bgcolor="#996600"> <table width="80%"align="center" border="0" cellspacing="0" cellpadding="5" > … <b> <jsp:getProperty name="regBean" property="mem_name" /> 회원님이 작성하신 내용입니다. 확인해 주세요</b></font> </td> </tr> 자바빈즈 프로그래밍

실습예제: p184_1.html <html> <h1>p.184 입력 html </h1> <FORM NAME="favorite" METHOD=POST ACTION="MyFavorite.jsp"> 당신이 가장 좋아하는 색깔은? <input type="text" name="color"><br> 당신이 가장 좋아하는 꽃은? <input type="text" name="flower"><br> 당신이 가장 좋아하는 음악은? <input type="text" name="music"><br> <INPUT TYPE="submit" VALUE="보내기"> </FORM> </html> 자바빈즈 프로그래밍

FavoriteBean.java 자바빈즈 프로그래밍 package simple; public class FavoriteBean { private String color; private String flower; private String music; public void setColor(String color) { this.color = color; } public void setFlower(String flower) { this.flower = flower; public void setMusic(String music) { this.music = music; public String getColor() { return color; public String getFlower() { return flower; public String getMusic() { return music; 자바빈즈 프로그래밍

MyFavorite.jsp <%@ page contentType="text/html; charset=euc-kr" %> <% request.setCharacterEncoding("euc-kr"); %> <jsp:useBean id="bean" class="simple.FavoriteBean" scope="page" /> <jsp:setProperty name="bean" property="*" /> 당신이 좋아하는 색깔은 <jsp:getProperty name="bean" property="color" /> 입니다. <p> 당신이 좋아하는 꽃은 <jsp:getProperty name="bean" property="flower" /> 입니다. <p> 당신이 좋아하는 음악은 <jsp:getProperty name="bean" property="music" /> 입니다. <p> 자바빈즈 프로그래밍

Compile Current directory : Tomcat6.0/webapps/ch07/ FavoriteBean.java, MyFavorite.jsp, p184_1.html ch07> dir ch07> md WEB-INF\classes ch07> javac –d ./WEB-INF/classes FavoriteBean.java ch07> dir .\WEB-INF\classes\simple  FavoriteBean.class 자바빈즈 프로그래밍

Container 디렉토리 구조 http://localhost:8080/ch07/xxx.jsp bin WEB-INF classes package xxx.class (프로젝트) lib src xxx.java ch07 conf lib xxx.jar web.xml xxx.jsp Tomcat6.0 webapps xxx.html Root WEB-INF web.xml WEB-INF web.xml http://localhost:8080/ch07/xxx.jsp JAVA_HOME -> 자바 설치경로 확인 환경변수 classpath에 %JAVA_HOME%\lib\tools.jar; 확인.