https://m.blog.naver.com/zboizz/221721743078 사이트 참조
1) id 중복확인
==> 결과
<member.jsp> 내용추가<script type="text/javascript"> function idCheck(id){ /* alert(id); */ frm = document.regFrm; if(id==""){ alert("아이디를 입력하세요"); frm.id.focus(); return; // 중간에 함수를 빠져나감. } url = "idCheck.jsp?id="+id; window.open(url,"IDCheck","width=300,height=150"); } function zipSearch(){ url = "zipSearch.jsp?search=n"; window.open(url,"IDCheck","width=500,height=350,scrollbars=yes"); } </script><idCheck.jsp> 페이지 생성
<%@ page contentType="text/html; charset=EUC-KR"%> <jsp:useBean id="mgr" class="ch16.MemberMgr"/> <% request.setCharacterEncoding("EUC-KR"); String id = request.getParameter("id"); boolean result = mgr.idCheck(id); //out.print(result); %> <html> <head> <title>ID 중복체크</title> <link href="style.css" rel="stylesheet" type="text/css"> </head> <body bgcolor="#FFFFCC"> <div align="center"> <br> <b><%=id %></b> <% if(result){ out.println("는 이미 존재하는 ID 입니다.<P>"); }else{ out.println("는 사용가능한 ID 입니다.<P>"); } %> <a href="#" onclick="self.close()">닫기</a> </div> </body> </html><MemberMgr.jsp>
-ID중복확인 메서드 추가// ID 중복확인 : 중복일때 true public boolean idCheck(String id) { Connection con = null; PreparedStatement pstmt = null; ResultSet rs = null; String sql = null; boolean flag = false; try { con = pool.getConnection(); sql = "select id from tblMember where id =?"; pstmt = con.prepareStatement(sql); pstmt.setString(1, id); rs = pstmt.executeQuery(); flag = rs.next(); // 조건에 맞는 id가 있다면 true 리턴 } catch (Exception e) { e.printStackTrace(); } finally { pool.freeConnection(con, pstmt, rs); } return flag; }// ID 중복확인을 위한 main 메서드 -> 콘솔 창에서 확인 public static void main(String[] args) { MemberMgr mgr = new MemberMgr(); boolean result = mgr.idCheck("aaa"); System.out.println("result : " + result); }
2) 우편번호찾기
==> 결과
<member.jsp> 페이지에 추가// 우편번호 검색 public Vector<ZipcodeBean> searchZipcode(String area3){ Connection con = null; PreparedStatement pstmt = null; ResultSet rs = null; String sql = null; Vector<ZipcodeBean> vlist = new Vector<ZipcodeBean>(); try { con = pool.getConnection(); sql = "select * from tblZipcode where area3 like ?";//? -> '%강남대로%' pstmt = con.prepareStatement(sql); pstmt.setString(1, "%"+area3+"%"); rs = pstmt.executeQuery(); while(rs.next()) { ZipcodeBean bean = new ZipcodeBean(); bean.setZipcode(rs.getString(1)); bean.setArea1(rs.getString(2)); bean.setArea2(rs.getString(3)); bean.setArea3(rs.getString(4)); vlist.addElement(bean); } } catch (Exception e) { e.printStackTrace(); } finally { pool.freeConnection(con, pstmt, rs); } return vlist; }<zipSearch.jsp>
<%@page import="ch16.ZipcodeBean"%> <%@page import="java.util.Vector"%> <%@ page contentType="text/html; charset=EUC-KR"%> <jsp:useBean id="mgr" class="ch16.MemberMgr"/> <% request.setCharacterEncoding("EUC-KR"); String search = request.getParameter("search"); Vector<ZipcodeBean> vlist = null; String area3 = null; //검색이 아니고 창만 open 했을 때 search는 n이고 검색일 때는 y if(search.equals("y")){ area3 = request.getParameter("area3"); vlist = mgr.searchZipcode(area3); out.print(vlist.size()); } %> <!DOCTYPE html> <html> <head> <h3>우편번호 검색</h3> <link href="style.css" rel="stylesheet" type="text/css"> <script type="text/javascript"> function loadSearch() { frm = document.zipFrm; if(frm.area3.value==""){ alert("도로명을 입력하세요."); return; } frm.action = "zipSearch.jsp"; frm.submit(); } function sendAdd(zipcode,adds){ //opener는 창을 오픈시킨 부모창 opener.document.regFrm.zipcode.value = zipcode; opener.document.regFrm.address.value = adds; self.close(); } </script> </head> <body bgcolor="#FFFFCC"> <div align="center"> <br /> <form name="zipFrm" method="post"> <table> <tr> <td> <br/>도로명 입력 : <input name="area3"> <input type="button" value="검색" onclick="loadSearch()"> </td> </tr> <!-- 검색 결과 Start --> <% if(search.equals("y")){ if(vlist.isEmpty()){ %> <tr> <td align="center"><br>검색된 결과가 없습니다.</td> </tr> <% }else{ %> <tr> <td align="center"><br>※ 검색 후, 아래 우편번호를 클릭하면 자동으로 입력됩니다.</td> </tr> <% for(int i=0; i<vlist.size(); i++){ ZipcodeBean bean = vlist.get(i); String zipcode = bean.getZipcode(); String adds = bean.getArea1()+" "; adds += bean.getArea2() + " "; adds += bean.getArea3() + " "; %> <tr> <td><a href="#" onclick="javascript:sendAdd('<%=zipcode %>','<%=adds %>')"> <%=zipcode+"" + adds %></a></td> </tr> <% }// End for }// End if~ else }// End if %> <!-- 검색 결과 End --> <tr> <td align="center"><br/> <a href="#" onClick="self.close()">닫기</a></td> </tr> </table> <input type="hidden" name="search" value="y"> </form> </div> </body> </html><MemberMgr.java>
// 우편번호 검색 public Vector<ZipcodeBean> searchZipcode(String area3){ Connection con = null; PreparedStatement pstmt = null; ResultSet rs = null; String sql = null; Vector<ZipcodeBean> vlist = new Vector<ZipcodeBean>(); try { con = pool.getConnection(); sql = "select * from tblZipcode where area3 like ?";//? -> '%강남대로%' pstmt = con.prepareStatement(sql); pstmt.setString(1, "%"+area3+"%"); rs = pstmt.executeQuery(); while(rs.next()) { ZipcodeBean bean = new ZipcodeBean(); bean.setZipcode(rs.getString(1)); bean.setArea1(rs.getString(2)); bean.setArea2(rs.getString(3)); bean.setArea3(rs.getString(4)); vlist.addElement(bean); } } catch (Exception e) { e.printStackTrace(); } finally { pool.freeConnection(con, pstmt, rs); } return vlist; }