본문 바로가기
웹 프로그래밍(풀스택-->java)/웹프로그래밍(백엔드-->java)

16. JSP 와 데이터베이스 연동

by 백엔드개발자0107 2021. 11. 28.

자 오늘은 회원가입이라는 데이터를 만들어서 실제 데이터베이스에 넣어볼것이다.

 

얘가 패턴이 3가지 인데 , 3가지 전부다 알고 가는것이 좋을듯 하다.

 

대충 이런모양인 데이터베이스를 만들것이라고 생각하면 편할듯하다.

 

1. 첫번째는 데이터를 받아서 jsp내에서 연동하는 방법이 있고

 

2. 두번째는 jsp로 데이터를 받아서 java 즉 dao라고 부르는데 데이터 엑세스 오브젝트라는 DAO 패턴을 

이용할것이다.

--> 보통은 DAO패턴에 ConnectionPool이라는 개념을 적용시킬것이다.

 

그렇다면 회원가입을 jsp를 이용해서 작성해볼것이다.

 

자 위 회원가입폼을 적용시킬것이다.

 

자, 그렇다면 우리가 필요한 컬럼의 갯수를 세보자,

 

일단 아이디, 패스워드, 이메일, 전화번호, 관심분야(하나의 배열타입으로 받는다),직업,연령,하고싶은말

총 8가지이다. 그리고 회원보기라는 게시판, 회원 수정기능 삭제기능등등도 넣으면 좋을듯하다.

 

1. 회원가입을 하면,회원가입 jsp를 만들것이다.

2. 테이블을 만들것이다.

3. jsp를 처리해줄 처리 jsp를 만들것이다.

4. 이 jsp에서 db를 연결해서 저장 시킬것이다.

5. 저장하자마자 ,response.sendRedirect를 이용해서 회원 전체보기를 만들것이다.

6.수정,삭제도 가능하게끔 해서 데이터베이스를 다루는 수업까지 할것이다.

 

 

아래 코드들이다.

 

MemberJoin.jsp

 

<!-- 
자바빈을 사용하여 , 데이터베이스 데이터를 저장하고 이용할수 있게끔한다.
고로 db패키지를 만든다.
MemberBean 클래스를만든다.  
 -->


<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
	<center>
		<h2>회원 가입</h2>
		<form action="MemberJoinProc.jsp">
			<table width="500" border="1">
				<tr height="50">
					<td width="150" align="center">아이디</td>
					<td width="350" align="center"><input type="text" name="id"
						size="40" placeholder="id를 넣으세요"></td>
				</tr>

				<tr height="50">
					<td width="150" align="center">패스워드</td>
					<td width="350" align="center"><input type="password"
						name="pass1" size="40" placeholder="비밀번호는 숫자와 영어만 넣어주세요">
					</td>
				</tr>

				<tr height="50">
					<td width="150" align="center">이메일</td>
					<td width="350" align="center"><input type="email"
						name="email" size="40"></td>
				</tr>

				<tr height="50">
					<td width="150" align="center">전화 번호</td>
					<td width="350" align="center"><input type="tel" name="tel"
						size="40"></td>
				</tr>

				<tr height="50">
					<td width="150" align="center">당신의 관심 분야</td>
					<td width="350" align="center"><input type="checkbox"
						name="hobby" value="캠핑">캠핑&nbsp; <input type="checkbox"
						name="hobby" value="등산">등산&nbsp; <input type="checkbox"
						name="hobby" value="독서">독서&nbsp; <input type="checkbox"
						name="hobby" value="음악">음악&nbsp;</td>
				</tr>

				<tr height="50">
					<td width="150" align="center">당신의 직업은</td>
					<td width="350" align="center"><select name="job">
							<option value="교사">교사</option>
							<option value="의사">의사</option>
							<option value="변호사">변호사</option>
							<option value="기술사">기술사</option>
					</select></td>
				</tr>

				<tr height="50">
					<td width="150" align="center">당신의 연령은</td>
					<td width="350" align="center"><input type="radio" name="age"
						value="10">10대&nbsp; <input type="radio" name="age"
						value="20">20대&nbsp; <input type="radio" name="age"
						value="30">30대&nbsp; <input type="radio" name="age"
						value="40">40대&nbsp;</td>
				</tr>

				<tr height="50">
					<td width="150" align="center">하고 싶은말</td>
					<td width="350" align="center"><textarea rows="5" cols="40"
							name="info"></textarea></td>
				</tr>

				<tr height="50">
					<td width="150" colspan="2"><input type="submit" value="회원 가입">
						<input type="reset" value="취소"></td>
				</tr>
			</table>
		</form>
	</center>
</body>
</html>

 

Memberbean.java

 

package model;

public class MemberBean {

	//접근지정자를 작성하여 데이터를 보호한다,
	private String id;
	private String pass1;
	private String pass2;
	private String email;
	private String tel;
	private String hobby;
	private String job;
	private String age;
	private String info;
	//총 9개가 들어간다.
	public String getId() {
		return id;
	}
	public void setId(String id) {
		this.id = id;
	}
	public String getPass1() {
		return pass1;
	}
	public void setPass1(String pass1) {
		this.pass1 = pass1;
	}
	public String getPass2() {
		return pass2;
	}
	public void setPass2(String pass2) {
		this.pass2 = pass2;
	}
	public String getEmail() {
		return email;
	}
	public void setEmail(String email) {
		this.email = email;
	}
	public String getTel() {
		return tel;
	}
	public void setTel(String tel) {
		this.tel = tel;
	}
	public String getHobby() {
		return hobby;
	}
	public void setHobby(String hobby) {
		this.hobby = hobby;
	}
	public String getJob() {
		return job;
	}
	public void setJob(String job) {
		this.job = job;
	}
	public String getAge() {
		return age;
	}
	public void setAge(String age) {
		this.age = age;
	}
	public String getInfo() {
		return info;
	}
	public void setInfo(String info) {
		this.info = info;
	}
	
	//실제 테이블은 8개만 만들지만 총 9개가 들어간다.
	
	

	
}