Presentation is loading. Please wait.

Presentation is loading. Please wait.

웹 프로그래밍 설계 및 실습 MVC1 Member 이경화

Similar presentations


Presentation on theme: "웹 프로그래밍 설계 및 실습 MVC1 Member 이경화"— Presentation transcript:

1 웹 프로그래밍 설계 및 실습 MVC1 Member 이경화 (khlee@cherry.ssu.ac.kr)

2 First off http://java.sun.com/ http://java.sun.com/j2se/1.4.2/docs/api/index.html http://java.sun.com/javase/6/docs/api/http://java.sun.com/javase/6/docs/api/ [ 영문 API_1.6] http://apollo89.com/java/ko/api/http://apollo89.com/java/ko/api/ [ 한글 API_1.6] http://www.w3schools.com/TAGS/http://www.w3schools.com/TAGS/ [HTML 4.01 / XHTML 1.0 Reference] http://java.sun.com/docs/books/tutorial/javabeans/http://java.sun.com/docs/books/tutorial/javabeans/ [The JavaBeans™ Tutorial] 2

3 Contents Basic MVC Pattern JSP Model 1 architecture - Member 3

4 Column Add in Table (1/2)

5 Column Add in Table (2/2) ##> mysql -uroot -p0000 mysql> use lkh mysql> show tables; mysql> alter table member add regdate date; mysql> update member set regdate = now(); mysql> desc member; mysql> select * from member;

6 프로젝트 구조 Context_root : 이니셜 _PRJ Java Source –DB 연결 : demoPkg.DBConn.java –DAO : mvc1.member.dao.MemberDAO.java –DTO : mvc1.member.dto.MemberVO.java JSP Source – 입력 폼 : inputMember.jsp – 회원 목록 : listMember.jsp – 회원 상세 : readMember.jsp – 회윈 등록 처리부 : createProc.jsp – 회원 수정 처리부 : updateProc.jsp – 회원 삭제 처리부 : deleteProc.jsp

7 package demoPkg; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; public class DBConn { DBConn.java

8 /** * Mysql DB 연결 * @return Connection */ public static Connection mysqlConn() { Connection conn = null; String url= "jdbc:mysql://127.0.0.1:3306/lkh"; try { Class.forName("com.mysql.jdbc.Driver").newInstance(); conn = DriverManager.getConnection(url,"root","0000"); } catch(Exception e) { System.out.println(e.toString()); } return conn; } DBConn.java

9 /** * Mysql DB 연결 해제 * @param conn */ public static void close(Connection conn) { try { if(conn !=null) conn.close(); } catch(Throwable e) { System.out.println(e.toString()); } finally { try { if(conn != null) conn.close(); } catch ( Exception e ) { System.out.println(e.toString()); }

10 /** * Mysql DB 연결 해제 * @param conn * @param pstmt */ public static void close(Connection conn, PreparedStatement pstmt) { try { if(pstmt !=null) pstmt.close(); if(conn !=null) conn.close(); } catch(Throwable e) { System.out.println(e.toString()); } finally { try { if(pstmt != null) pstmt.close(); if(conn != null) conn.close(); } catch ( Exception e ) { System.out.println(e.toString()); }

11 /** * Mysql DB 연결 해제 * @param conn * @param pstmt * @param rs */ public static void close(Connection conn, PreparedStatement pstmt, ResultSet rs) { try { if(rs != null ) rs.close(); if(pstmt !=null) pstmt.close(); if(conn !=null) conn.close(); } catch(Throwable e) { System.out.println(e.toString()); } finally { try { if(rs != null ) rs.close(); if(pstmt != null) pstmt.close(); if(conn != null) conn.close(); } catch ( Exception e ) { } } // end of class

12 package mvc1.member.dto; public class MemberVO { private int seq = 0; private String userid = ""; private String username = ""; private String userpw = ""; private String regdate = ""; public int getSeq() { return seq; } public String getUserid() { return userid; } public String getUsername() { return username; } public String getUserpw() { return userpw; } public String getRegdate() { return regdate; } public void setSeq(int seq) { this.seq = seq; } public void setUserid(String userid) { this.userid = userid; } public void setUsername(String username) { this.username = username; } public void setUserpw(String userpw) { this.userpw = userpw; } public void setRegdate(String regdate) { this.regdate = regdate; } } MemberVO.java

13 package mvc1.member.dao; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.util.*; import demoPkg.DBConn; import mvc1.member.dto.MemberVO; public class MemberDAO { MemberDAO.java

14 /** * 회원 정보 생성 * @param dto * @return boolean */ public boolean create (MemberVO dto) { PreparedStatement pstmt = null; String insertSQL = "INSERT INTO member(userid, username, userpw, regdate) VALUES(?,?,?,now())"; int res = 0; try { conn = DBConn.mysqlConn(); pstmt = conn.prepareStatement(insertSQL); pstmt.setString(1, dto.getUserid()); pstmt.setString(2, dto.getUsername()); pstmt.setString(3, dto.getUserpw()); res = pstmt.executeUpdate(); } catch (Exception e) { System.out.println(e.getMessage());

15 } finally { try { DBConn.close(conn, pstmt); } catch (Exception e) { e.printStackTrace(); } if (res > 0) return true; else return false; }

16 /** * 회원 목록 보기 * @return Vector */ public Vector list() { Vector v1 = new Vector(); Connection conn = null; PreparedStatement pstmt = null; ResultSet rs = null; String listSQL = "SELECT seq, userid, username, userpw, regdate from MEMBER"; try { conn = DBConn.mysqlConn(); pstmt = conn.prepareStatement(listSQL); rs = pstmt.executeQuery(); while(rs.next()) { MemberVO dto = new MemberVO(); dto.setSeq(rs.getInt("seq")); dto.setUserid(rs.getString("userid")); dto.setUsername(rs.getString("username")); dto.setUserpw(rs.getString("userpw")); dto.setRegdate(rs.getString("regdate"));

17 v1.addElement(dto); } } catch (Exception e) { System.out.println(e.getMessage()); } finally { try { DBConn.close(conn, pstmt, rs); } catch (Exception e) { e.printStackTrace(); } return v1; }

18 /** * 회원정보 상세보기 * @param idVal * @return MemberVO */ public MemberVO read (int seqVal) { MemberVO dto = new MemberVO(); Connection conn = null; PreparedStatement pstmt = null; ResultSet rs = null; String readSQL = "SELECT userid, username, userpw, regdate FROM member WHERE seq=?"; try { conn = DBConn.mysqlConn(); pstmt = conn.prepareStatement(readSQL); pstmt.setInt(1, seqVal); rs = pstmt.executeQuery(); if(rs.next()) { dto.setSeq(seqVal); dto.setUserid(rs.getString("userid")); dto.setUsername(rs.getString("username")); dto.setUserpw(rs.getString("userpw")); dto.setRegdate(rs.getString("regdate")); }

19 } catch (Exception e) { System.out.println(e.getMessage()); } finally { try { DBConn.close(conn, pstmt, rs); } catch (Exception e) { e.printStackTrace(); } return dto; }

20 /** * 회원 정보 수정 * @param dto * @return boolean */ public boolean update (MemberVO dto) { Connection conn = null; PreparedStatement pstmt = null; String updateSQL = "UPDATE member SET userid=?, username=?, userpw=?, regdate=now() WHERE seq=?"; int res = 0; try { conn = DBConn.mysqlConn(); pstmt = conn.prepareStatement(updateSQL); pstmt.setString(1, dto.getUserid()); pstmt.setString(2, dto.getUsername()); pstmt.setString(3, dto.getUserpw()); pstmt.setInt(4, dto.getSeq()); res = pstmt.executeUpdate(); } catch (Exception e) { System.out.println(e.getMessage());

21 } finally { try { DBConn.close(conn, pstmt); } catch (Exception e) { e.printStackTrace(); } if (res > 0) return true; else return false; }

22 /** * 회원정보 삭제 * @param dto * @return boolean */ public boolean delete (int seqVal) { Connection conn = null; PreparedStatement pstmt = null; String deleteSQL = "DELETE FROM member WHERE seq=?"; int res = 0; try { conn = DBConn.mysqlConn(); pstmt = conn.prepareStatement(deleteSQL); pstmt.setInt(1, seqVal); res = pstmt.executeUpdate(); } catch (Exception e) { System.out.println(e.getMessage()); } finally { try { DBConn.close(conn, pstmt);

23 } catch (Exception e) { e.printStackTrace(); } if (res > 0) return true; else return false; }

24 MVC1 Member function validCheck(f){ return true; } function goList(){ location.href="./listMember.jsp"; } Demo6 : MVC1 member > 회원 입력폼 이름 아이디 비밀번호 inputMember.jsp

25 <% boolean flag = dao.create(dto); if(flag == true) { response.sendRedirect(“listMember.jsp”); } else { response.sendRedirect(“inputMember.jsp”); } %> createProc.jsp

26 <% Vector vt = new Vector(); vt = dao.list(); %> MVC1 Member Demo6 : MVC1 member > 회원 목록 번호 이름 아이디 비밀번호 등록일 listMember.jsp

27 등록된 회원이 없습니다 <% } else { int viewNum = 1; for(int i=0; i<vt.size(); i++) { dto = (MemberVO)vt.get(i); %> "> <% viewNum++; } %>

28 회원정보 입력

29 <% int seq = Integer.parseInt(request.getParameter("seq")); dto = dao.read(seq); %> MVC1 Member function goUpt(){ document.memForm.action="updateProc.jsp"; document.memForm.submit(); } function goDel(idVal){ document.memForm.action="deleteProc.jsp"; document.memForm.submit(); } readMember.jsp

30 function goList(){ location.href="./listMember.jsp"; } Demo6 : MVC1 member > 회원정보 상세보기 "> 번호 아이디 ">

31 이름 "> 비밀번호 "> 등록일

32 <% boolean flag = dao.update(dto); if(flag == true) { String url = "listMember.jsp"; response.sendRedirect(url); } else { String url = "readMember.jsp?seq="+dto.getSeq(); response.sendRedirect(response.encodeRedirectURL(url)); } %> updateProc.jsp

33 <% boolean flag = dao.delete(dto.getSeq()); if(flag == true) { String url = "listMember.jsp"; response.sendRedirect(url); } else { String url = "readMember.jsp?seq="+dto.getSeq(); response.sendRedirect(response.encodeRedirectURL(url)); } %> deleteProc.jsp

34 Result http://127.0.0.1/LKH_PRJ/Demo6/listMember.jsp [ 보기, 수정, 삭제 ] [ 리스트 ] [ 등록 ]


Download ppt "웹 프로그래밍 설계 및 실습 MVC1 Member 이경화"

Similar presentations


Ads by Google