예.. 회원가입보다 일단은 더 쉬운게 로그인 만들기 입니다.
오늘 만들 로그인은 단순히 애플리케이션뿐만 아니라, 웹에서도 그대로 쓸 수 있을 정도로 그 활용도가 높다고 보여지며
모든 네트워크 DB처리의 기본이라 할 수 있습니다.
(단 보안설정에 따라 더 복잡해질 수 있습니다.)
일단 오늘은 로그인초식을 배우기앞서 준비지식이 세가지 있습니다.
1. 자바에서 mysql 에 접근하기위한 jdbc설정(라이브러리 추가)
2. 이 프로그램에서는 특별히 접속커넥션관리를 위한 외부라이브러리를 씁니다. dbconnectionMGR 을 씁니다.
3. 자바 데이터베이스 접속개념을 잠시 살펴보고
로그인 실습으로 가보겠습니다.
동영상
파워포인트자료
04 자바 네트워크 from arahansa yong
1. 준비물들
다운로드 주소 http://adunhansa.tistory.com/156
1. jdbc API 추가하기
프로젝트 - properties – java build path -> libraries -> add jars
검색어 - mysql connector
2. 코넥션관리 라이브러리 - DBConnectionMgr
을 열어서 db접속 주소, 아이디, 비밀번호 설정
검색어
3. 자바 네트워크 접속 방법
connection -> preparedStatement -> (셀렉트문의 경우) ResultSet을 받아옴 -> 코넥션닫기
자세한 것은 실제 영상을 보면서 작업합니다.
소스
package test; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import assets.DBConnectionMgr; public class LoginTest { public static void main(String[] args) { boolean test = loginTest("test", "1234"); System.out.println("로그인 결과 :"+test); } public static boolean loginTest(String id, String password) { boolean flag = false; DBConnectionMgr pool = DBConnectionMgr.getInstance(); Connection con = null; PreparedStatement pstmt = null; ResultSet rs = null; String sql = null; String getPass = null; try { con = pool.getConnection(); // 문장생성 sql = "select password from member_test where id=?"; // 문장연결, 열차준비 pstmt = con.prepareStatement(sql); // 빈칸채워주기 pstmt.setString(1, id); // 실행, 열차출바알~! rs = pstmt.executeQuery(); if (rs.next()) { // 패스워드를 읽어온다. getPass = rs.getString("password"); // 데이터베이스에서 읽어온 문자열과 사용자가 입력한 비밀번호가 같을 경우에는 // 참을 반환을 하겠죠? if (getPass.equals(password)) { System.out.println("받아온 비밀번호 : " + getPass); flag = true; } } } catch (Exception e) { //원래 예외처리는 크게 잡으면 안되고, 따로 처리가 되어야 합니다. e.printStackTrace(); } finally { // 자원반납 pool.freeConnection(con, pstmt, rs); } // 결과값 반납 return flag; } }
테스트를 위해서 소스가 허점이 좀 있습니다. 예외처리나 로그인의 보안처리등등
지금은 로그인의 흐름만 알기 위한 것이므로, 개선의 여지가 있다는 것만 알아둡시다.