JSP - 회원 데이터 베이스 구축하기

jihan kong·2022년 2월 22일
0
post-thumbnail

회원 데이터 베이스 구축하기

지난 포스팅에서 로그인 페이지를 디자인하고 실제로 화면에 어떻게 나타나는지까지 살펴보았다. 이제 회원 데이터 베이스를 구축하고 실제 로그인을 할 수 있도록 기능을 만들어볼 것이다. DB 툴로는 가장 대중적인 mysql을 사용했다. mysql을 설치하지 않았다면 https://dev.mysql.com/downloads/mysql/ 이 링크를 통해 다운받을 수 있다.

mysql 설치를 완료했으면 MySQL Command Line Client를 실행해서 명령창을 띄운다. 그리고 CREATE DATABASE BBS 명령문을 통해 BBS라는 DB를 생성한다.

USE BBS; 를 입력해서 해당 DB에 접속할 수 있도록 status를 변경하고 본격적으로 table을 만들어보자.

CREATE TABLE USER (
    userID VARCHAR(20),
    userPassword VARCHAR(20),
    userName VARCHAR(20),
    userGender VARCHAR(20),
    userEmail VARCHAR(50),
    PRIMARY KEY (userID)
    );

user라는 이름의 테이블을 만들고 userEmail 을 제외한 각 필드의 길이는 20으로 지정한다. 이때, PK는 userID가 된다. 생성이 되었다면 어떻게 DB가 구성되었는지 desc user; 문으로 내림차순으로 조회 정렬해보자.

테이블이 잘 생성이 되었다.
이제 DB에 실제 데이터를 삽입해보자.
INSERT INTO USER VALUES('gildong', '123456', '홍길동', '남자', 'gildong@naver.com'); 로 홍길동이라는 남자 고객의 데이터를 만들고 DB에 insert 한다.

select 문으로 확인해보면 잘 들어가 있음을 알 수 있다. DB를 commit 하면 이제 DB 작업은 끝. 이렇게 만들어진 회원 데이터를 JSP에서 담을 수 있도록 eclipse IDE를 열고 jsp를 다루어보자.

로그인을 하기 위해선 DB에서 가져오는 정보를 jsp 서버에서 담고 처리할 수 있어야하는데 이를 위해서 java Resources 폴더 안에 user 라는 package를 만들어주자. 그리고 그 패키지 안에 User 라는 class를 만든다.

이제 User class 안에 변수들을 생성해야 하는데 우리가 방금 전 만들었던 DB 필드의 이름과 동일한 이름으로 변수들을 생성해주는게 제일 좋다.

user.java

package user;

public class User {
	
	private String userID;
	private String userPassword;
	private String userName;
	private String userGender;
	private String userEmail;
}

위와 같이 DB의 필드명과 일치하게 각 변수를 String으로 선언하고 JSP 서버에서 사용할 수 있는 형태로 만들기 위해 각 변수에 getter, setter 생성자를 만들어준다. 최종 코드는 다음과 같다.

user.java

package user;

public class User {
	
	private String userID;
	private String userPassword;
	private String userName;
	private String userGender;
	private String userEmail;
	
	public String getUserID() {
		return userID;
	}
	public void setUserID(String userID) {
		this.userID = userID;
	}
	public String getUserPassword() {
		return userPassword;
	}
	public void setUserPassword(String userPassword) {
		this.userPassword = userPassword;
	}
	public String getUserName() {
		return userName;
	}
	public void setUserName(String userName) {
		this.userName = userName;
	}
	public String getUserGender() {
		return userGender;
	}
	public void setUserGender(String userGender) {
		this.userGender = userGender;
	}
	public String getUserEmail() {
		return userEmail;
	}
	public void setUserEmail(String userEmail) {
		this.userEmail = userEmail;
	}
}

JavaBeans

자, 이로써 한 명의 회원데이터를 다룰 수 있는 DB와 자바빈즈(JavaBeans)를 구현해보았다. 자바빈즈란 비즈니스 로직 부분만을 담당하는 자바 프로그램 단위로 자바 빈즈를 사용하면 JSP가 복잡한 코드로 구성되는 것을 방지할 수 있다. 쉽고 간단하며 여러 응용 프로그램에서 재사용이 가능하기 때문에 유지보수가 쉽다는 장점이 있다. (MVC 패턴에서 Model이라고 볼 수 있음.)

(사진 출처 : 츄기님의 블로그)

profile
학습하며 도전하는 것을 즐기는 개발자

0개의 댓글