1 / 34

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

웹 프로그래밍 설계 및 실습 MVC1 Member. 이경화 (khlee@cherry.ssu.ac.kr). 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/ [ 영문 API_1.6] http://apollo89.com/java/ko/api/ [ 한글 API_1.6]

Download Presentation

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

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

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/ [영문API_1.6] http://apollo89.com/java/ko/api/ [한글API_1.6] http://www.w3schools.com/TAGS/ [HTML 4.01 / XHTML 1.0 Reference] http://java.sun.com/docs/books/tutorial/javabeans/ [The JavaBeans™ Tutorial]

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

  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. <%@ page language="java" contentType="text/html; charset=EUC-KR" pageEncoding="EUC-KR"%> <html> <head> <title> MVC1 Member</title> <script language="javascript"> function validCheck(f){ return true; } function goList(){ location.href="./listMember.jsp"; } </script> </head> <body><h3>Demo6 : MVC1 member > 회원 입력폼</h3><hr> <table border="1" width="400"> <form method="post" action="./createProc.jsp" onSubmit="return validCheck(this)"> <tr><td>이름</td><td><input type="text" name="username"></td></tr> <tr><td>아이디 </td><td><input type="text" name="userid"></td></tr> <tr><td>비밀번호 </td><td><input type="text" name="userpw"></td></tr> <tr><td colspan="2" align="center"> <input type="submit" value=" 저장 "> <input type="button" value=" 목록 " onClick="javascript:goList()"> </td> </tr> </form> </table> </body> </html> inputMember.jsp

  25. <%@page contentType="text/html; charset=euc-kr" pageEncoding="euc-kr"%> <% request.setCharacterEncoding("euc-kr"); %> <jsp:useBean id="dao" class="mvc1.member.dao.MemberDAO"/> <jsp:useBean id="dto" class="mvc1.member.dto.MemberVO"/> <jsp:setProperty name="dto" property="*"/> <% boolean flag = dao.create(dto); if(flag == true) { response.sendRedirect(“listMember.jsp”); } else { response.sendRedirect(“inputMember.jsp”); } %> createProc.jsp

  26. <%@ page language="java" contentType="text/html; charset=EUC-KR" pageEncoding="EUC-KR” %> • <%@page import="java.util.*, mvc1.member.dto.*"%> • <% request.setCharacterEncoding("euc-kr"); %> • <jsp:useBean id="dao" class="mvc1.member.dao.MemberDAO"/> • <jsp:useBean id="dto" class="mvc1.member.dto.MemberVO"/> • <% • Vector vt = new Vector(); • vt = dao.list(); • %> • <html> • <head><title> MVC1 Member</title></head> • <body> • <h3>Demo6 : MVC1 member > 회원 목록</h3><hr> • <TABLE width="550" border="1"> • <tr> • <td>번호</td> • <td>이름</td> • <td>아이디</td> • <td>비밀번호</td> • <td>등록일</td> • </tr> listMember.jsp

  27. <% if(vt.isEmpty()) { %> • <tr><td colspan='5'>등록된 회원이 없습니다</center></td></tr> • <% } else { • int viewNum = 1; • for(int i=0; i<vt.size(); i++) { • dto = (MemberVO)vt.get(i); • %> • <tr> • <td> • <a href="readMember.jsp?seq=<%=dto.getSeq()%>"><%=viewNum%></a> </td> • <td><%=dto.getUserid()%></td> • <td><%=dto.getUsername()%></td> • <td><%=dto.getUserpw()%></td> • <td><%=dto.getRegdate()%></td> • </tr> • <% • viewNum++; • } • } • %> • </TABLE>

  28. <a href="./createMember.jsp">회원정보 입력</a> </BODY> </HTML>

  29. <%@ page language="java" contentType="text/html; charset=EUC-KR" pageEncoding="EUC-KR"%> • <% request.setCharacterEncoding("euc-kr"); %> • <jsp:useBean id="dao" class="mvc1.member.dao.MemberDAO"/> • <jsp:useBean id="dto" class="mvc1.member.dto.MemberVO"/> • <% • int seq = Integer.parseInt(request.getParameter("seq")); • dto = dao.read(seq); • %> • <html> • <head> • <title> MVC1 Member</title> • <script language="javascript"> • 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"; } </script> </head> <BODY> <h3>Demo6 : MVC1 member > 회원정보 상세보기</h3><hr> <TABLE width="550" border="1"> <form name="memForm" method="post"> <input type=hidden name=seq value="<%=dto.getSeq()%>"> <tr><td>번호 </td><td><%=dto.getSeq()%></td></tr> <tr> <td>아이디 </td> <td> <input type="text" name="userid" value="<%=dto.getUserid()%>"> </td> </tr>

  31. <tr> <td>이름 </td> <td> <input type="text“ name="username“ value="<%=dto.getUsername()%>"> </td> </tr> <tr> <td>비밀번호</td> <td> <input type="text" name="userpw“ value="<%=dto.getUserpw()%>"> </td> </tr> <tr><td>등록일 </td><td><%=dto.getRegdate()%></td></tr> <tr> <td colspan="2" align="center"> <input type="button" value=" 수정" onClick="javascript:goUpt()"> <input type="button" value=" 삭제" onClick="javascript:goDel()"> <input type="button" value=" 목록 " onClick="javascript:goList()"> </td> </tr> </form> </TABLE> </BODY> </HTML>

  32. <%@ page language="java" contentType="text/html; charset=EUC-KR" pageEncoding="EUC-KR"%> • <% request.setCharacterEncoding("euc-kr"); %> • <jsp:useBean id="dao" class="mvc1.member.dao.MemberDAO"/> • <jsp:useBean id="dto" class="mvc1.member.dto.MemberVO"/> • <jsp:setProperty name="dto" property="*"/> • <% • 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. <%@ page language="java" contentType="text/html; charset=EUC-KR" pageEncoding="EUC-KR"%> • <jsp:useBean id="dao" class="mvc1.member.dao.MemberDAO"/> • <jsp:useBean id="dto" class="mvc1.member.dto.MemberVO"/> • <jsp:setProperty name="dto" property="*"/> • <% • 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 [보기, 수정, 삭제]

More Related