2017 - 09 - 23 (토)
기본사항 정리
1 . 회원관리 예제
1.. DB 연동
CMD 에서 sqlplus 입력 >> ID , PASSWORD 입력 후 CREATE TABLE >> sqlDeveloper로 접속 >> 이클립스에서 웹프로젝트의 library에 Oracle DB lib 추가. >> DB연결을 위한 클래스 하나 생성 >> 아래 코드 입력.
public class JdbcTest {
public static void main(String[] args) {
String DB_URL = "jdbc:oracle:thin:@127.0.0.1:1521:XE";
String DB_USER = "asdf1234"; // DB의 userid와 pwd를 알맞게 변경
String DB_PASSWORD = "1234";
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;
String query = "SELECT sysdate FROM dual"; // 시스템의 날짜를 출력한다.
try {
// 드라이버를 로딩한다.
Class.forName("oracle.jdbc.driver.OracleDriver");
conn = DriverManager.getConnection(DB_URL, DB_USER, DB_PASSWORD); // 데이터베이스의 연결을 설정한다.
stmt = conn.createStatement(); // Statement를 가져온다.
rs = stmt.executeQuery(query); // SQL문을 실행한다.
while (rs.next()) {
String curDate = rs.getString(1);
System.out.println(curDate);
}
} catch ( Exception e ) {
e.printStackTrace();
} finally {
try {
rs.close();
stmt.close();
conn.close();
} catch ( SQLException e ) {}
}
} // main()의 끝
} // 클래스의 끝
위 코드를 실행해서 현재시간을 찍어내면 DB연결 완료
2 .. 구조 구상
DB와의 연동을 담당할 DB클래스(JAVA : model 부분이라고 생각) 를 생성하고 화면을 보여줄 이전에 만들었던 index.jsp, loginform.jsp, resisterform.jsp (JSP : view 부분이라고 생각) 를 가져온다. 또한 로그인과 회원가입 버튼을 눌렀을 때 DB와 연동하는 클래스 객체를 생성하여 Response 해주는 LoginAction.java, ResisterAction.java 등등 (Servlet : controller 부분이라고 생각) 이렇게 나름의 MVC 구조를 생각해 보았다.
3 .. 코딩 시작
어느정도 구조를 생각해놓으니 코딩하는 부분은 어렵지 않았다.
* WebContent의 Web_inf 라이브러리에 oracle lib를 추가하자.. 이것 때문에 sql이 안보내졌음..
우선 이전에 배운 쿠키나 세션을 새로만든 웹프로젝트에 모두 적용해주었다. (DB연동하여)
이 후 DBTest.java(DB와 연동하는 부분) 에서 회원가입, 로그인, 회원 수정 등 메소드 정의한다.
각 JSP 파일에서는 이벤트를 처리할 서블릿으로 보내준다. (서블릿을 하나로 묶고 싶었지만 시행착오 끝에 실패.. 결국 각각의 JSP 마다 서블릿을 하나씩 두었다. ) 서블릿에서는 메소드를 불러와 실행시켜줌.
4 .. 코드보기
회원관리예제코드파일