JSP & Servlet/JSP

JSP로 MVC패턴, JDBC (DB연동)를 이용하여 로그인 / 회원가입 프로그램 만들기 Model1

leehii 2022. 6. 21. 15:09

 

============================================================================================

 

 

1) 

 

--회원가입, 로그인을 위한 Main.jsp--

 

a 앵커태그를 이용해서

회원가입 버튼을 누를 경우 join.jsp로,

로그인 버튼을 누를 경우 login.jsp로 이동함

 

 

============================================================================================

 

 

 

 

----회원가입을 위한 join.jsp---

 

id, pw, name을 입력하여 회원가입 버튼을 누르면 

joinProgram.jsp로 이동함

 

 

============================================================================================

 

 

============================================================================================

 

 

1. DB 연동을 위해 환경설정 작업하기

 

Data Source Explorer >> Database Connections 에서 New를 누른후 

 

 

 

 

자신이 사용하는 DB를 선택한다

 

 

 

C:\oraclexe\app\oracle\product\11.2.0\server\jdbc\lib 로 들어가서 oracle6버젼으로 연결함

 

Service 네임을 db에서 xe로,  host를 Server에서 localhost로 바꿔줌

 

 

 

 

 

 

이후 jsp에서 확인가능한 sql파일을 생성해줌!

 

회원정보 관리를 위한 member table을 만들어준다 (사용할 값은 ID, PW, NAME)

 

끝에 ;를 넣어주는것을 잊지말고(해당파일엔 실수로 미기입함)

 

이후 본격적으로 DB와의 연동을 위한 Model, Controller 부분으로 java 파일들을 만들어준다

 

1.

 

DTO.java

 

 

DB에 입력하고 관리할 ID, PW, NAME 세개의 값을 필드에 변수로 선언하고

이후 생성자 메소드를 만들어준다

 

로그인을 위한 DTO 메소드에는 ID와 PW가 필요하고

회원가입을 위한 DTO 메소드에는 ID, PW, NAME 3개의 변수 모두가 필요하다

 

이후 해당 변수들에 getter and setter를 적용한다

 

 

2.

 

DAO.java

 

나중에 사용할 변수들을 미리 선언함

 

연결을 위한 변수 Connection conn

전송을 위한 변수 PreparedStatement psmt

실행이후 확인을 위한 변수 rs와 row

 

 

getconn() 메소드에

 

class.forName으로 JDBC 드라이버 로딩을,


DB 연결시에 사용할 url, db_id, db_pw를 넣어주고

 

conn 변수로 데이터베이스 커넥션을 생성함

 

 

 

 

연결통로를 닫아주기 위한 메소드 close에

위에서 열었던 rs,  psmt, conn 등을 모두 닫아준다

 

 

 

회원가입을 위한 메소드로

 

연결을 위해 getCon 메소드를 호출한뒤

 

SQL문 준비 (연결해서 이제 뭘 할껀지 적어주는 부분) = conn이 밀입국해서 뭘 할지 알려주기

-> String sql 이라는 변수에 아직 알 수 없는 값이니 ?로 채워서 넣어준다

 

SQL문 전송하기

-> DB로 전송하기 위한 SQL문 담기 (SQL문과 ?를 채워서 보내주기) = psmt라는 가방에 필요한 정보를 담아서 밀입국 시작

 

?인자가 있으므로 setString로 psmt라는 가방안에 값을 담아주기

->dto에서 ID,Pw,Name을 받아올 것임

->여기서 dto는 

 joinProgram.jsp에서 생성된 객체이며 

이 dto객체는 위의 DTO.java 파일의 값에서 (id, pw, name)값을 받는 메소드,

즉 회원 가입을 위한 메소드인 

이 메소드를 받는다.

 

다시 원래  보고있던 메소드의 설명을 이어하자면

 

psmt에 ?인자를 setString로 

joinPrograms.jsp에 생성된 객체 dto에서 값을 받아와서 데이터를 채우고

 

이후 전역변수인 row로 psmt로 연결을 실행한다

이 psmt가 정상적으로 값이 담겼는지에 대한 확인은

joinPrograms에서 작성될 예정이다

 

============================================================================================

 

 

 

 

 

회원정보를 위한 필드, 생성자 메소드가 있는 DTO와

실질적인 DB연결, 회원가입등의 기능이 있는 DAO를 불러오기 위해 각각 객체를 생성

 

joinPrograms.jsp는 회원가입을 위한 곳이므로

dto 객체의 값은 id,pw, name을 받아온다

 

 

dao.join(dto) -->>

 

dao클래스에서 회원가입을 위한 join 메소드를 호출하겠다

그 값은 dto = id, pw, name이다!

 

 

 

 

로그인을 위한 페이지인 login.jsp

 

값을  loginProgram.jsp로 넘겨준다

 

 

DAO.java의 로그인 기능 부분

 

sql 문 작성 = id pw 값을 받아 name과 비교함

이후sql문을 실행하고 

 

setString으로 id와 pw를 입력함

그리고 이것을 실행하고 (=rs)

실행했을때 값이 비어있지않고  ture일때 name

 

 

 

 

---loginProgram.jsp---

 

 

 

 

 

---로그인 실패와 성공시의 jsp파일들---

 

 

--result--