package ch14;
public class MemberBean {
private String id;
private String pwd;
private String name;
private String gender;
private String birthday;
private String email;
private String zipcode;
private String address;
private String hobby;
private String job;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getPwd() {
return pwd;
}
public void setPwd(String pwd) {
this.pwd = pwd;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getGender() {
return gender;
}
public void setGender(String gender) {
this.gender = gender;
}
public String getBirthday() {
return birthday;
}
public void setBirthday(String birthday) {
this.birthday = birthday;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getZipcode() {
return zipcode;
}
public void setZipcode(String zipcode) {
this.zipcode = zipcode;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public String getHobby() {
return hobby;
}
public void setHobby(String hobby) {
this.hobby = hobby;
}
public String getJob() {
return job;
}
public void setJob(String job) {
this.job = job;
}
}
package ch14;
public class ZipcodeBean {
String zipcode;
String area1;
String area2;
String area3;
public ZipcodeBean() {
// TODO Auto-generated constructor stub
}
//gettersetter 방법이 아닌 생성자를 통해 set하기
public ZipcodeBean(String zipcode, String area1,String area2,String area3) {
this.zipcode = zipcode;
this.area1 = area1;
this.area2 = area2;
this.area3 = area3;
}
public String getZipcode() {
return zipcode;
}
public void setZipcode(String zipcode) {
this.zipcode = zipcode;
}
public String getArea1() {
return area1;
}
public void setArea1(String area1) {
this.area1 = area1;
}
public String getArea2() {
return area2;
}
public void setArea2(String area2) {
this.area2 = area2;
}
public String getArea3() {
return area3;
}
public void setArea3(String area3) {
this.area3 = area3;
}
}
package ch14;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.text.SimpleDateFormat;
import java.util.Vector;
public class MemberMgr {
private DBConnectionMgr pool;
private final SimpleDateFormat SDF_DATE =
new SimpleDateFormat("yyyy'년' M'월' d'일' (E)");
private final SimpleDateFormat SDF_TIME =
new SimpleDateFormat("H:mm:ss");
public MemberMgr() {
pool = DBConnectionMgr.getInstance();
}
//로그인:성공 -> true
public boolean loginMember(String id, String pwd) {
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 = ? and pwd = ?";
pstmt = con.prepareStatement(sql);
pstmt.setString(1, id);
pstmt.setString(2, pwd);
rs = pstmt.executeQuery();
flag = rs.next();
} catch (Exception e) {
e.printStackTrace();
} finally {
pool.freeConnection(con, pstmt, rs);
}
return flag;
}
//id 중복 체크 : 중복 -> true
public boolean checkId(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();
} catch (Exception e) {
e.printStackTrace();
} finally {
pool.freeConnection(con, pstmt, rs);
}
return flag;
}
//주소검색
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()) {
//생성자로 해서 bean을 넣는 방법도 있다.
ZipcodeBean bean = new ZipcodeBean(rs.getString(1),
rs.getString(2),rs.getString(3),rs.getString(4));
vlist.addElement(bean);
}
} catch (Exception e) {
e.printStackTrace();
} finally {
pool.freeConnection(con, pstmt, rs);
}
return vlist;
}
//회원가입
public boolean insertMember(MemberBean bean) {
Connection con = null;
PreparedStatement pstmt = null;
String sql = null;
boolean flag = false;
try {
con = pool.getConnection();
sql = "insert tblMember(id,pwd,name,gender,"
+ "birthday,email,zipcode,address,hobby,job) "
+ "values(?,?,?,?,?,?,?,?,?,?)";
pstmt = con.prepareStatement(sql);
pstmt.setString(1, bean.getId());
pstmt.setString(2, bean.getPwd());
pstmt.setString(3, bean.getName());
pstmt.setString(4, bean.getGender());
pstmt.setString(5, bean.getBirthday());
pstmt.setString(6, bean.getEmail());
pstmt.setString(7, bean.getZipcode());
pstmt.setString(8, bean.getAddress());
//hobby는 여러개일수도있음
String lists[] = {"인터넷", "여행", "게임", "영화", "운동"};
String hobby[] = bean.getHobby();
char hb[]= {'0','0','0','0','0'};
for (int i = 0; i < hobby.length; i++) {
for (int j = 0; j < lists.length; j++) {
if(hobby[i].equals(lists[j])) {
hb[j]='1';
break;
}
}
}
pstmt.setString(9, new String(hb));
//
pstmt.setString(10, bean.getJob());
if(pstmt.executeUpdate()==1) { //정상
flag=true;
}
} catch (Exception e) {
e.printStackTrace();
} finally {
pool.freeConnection(con, pstmt);
}
return flag;
}
//회원정보 가져오기
public MemberBean getMember(String id) {
Connection con = null;
PreparedStatement pstmt = null;
ResultSet rs = null;
String sql = null;
MemberBean bean = new MemberBean();
try {
con = pool.getConnection();
sql = "select * from tblMember where id = ?";
pstmt = con.prepareStatement(sql);
pstmt.setString(1, id);
rs = pstmt.executeQuery();
if(rs.next()) {
bean.setId(rs.getString("id"));
bean.setPwd(rs.getString("pwd"));
bean.setName(rs.getString("name"));
bean.setGender(rs.getString("gender"));
bean.setBirthday(rs.getString("birthday"));
bean.setEmail(rs.getString("email"));
bean.setZipcode(rs.getString("zipcode"));
bean.setAddress(rs.getString("address"));
String hobby = rs.getString("hobby");
String hb[] = new String[hobby.length()];
for (int i = 0; i < hb.length; i++) {
hb[i]= hobby.substring(i,i+1);
}//01010 -> {'0','1','0','1','0'}
bean.setHobby(hb);
bean.setJob(rs.getString("job"));
}
} catch (Exception e) {
e.printStackTrace();
} finally {
pool.freeConnection(con, pstmt, rs);
}
return bean;
}
//회원수정 : id를 제외한 모든 값을 수정
public boolean updateMember(MemberBean bean) {
Connection con = null;
PreparedStatement pstmt = null;
String sql = null;
boolean flag = false;
try {
con = pool.getConnection();
//TODO
sql = "update tblMember set pwd=?,name=?,gender=?,"
+ "birthday=?,email=?,zipcode=?,address=?,hobby=?"
+ ",job=? where id=?";
pstmt = con.prepareStatement(sql);
pstmt.setString(1, bean.getPwd());
pstmt.setString(2, bean.getName());
pstmt.setString(3, bean.getGender());
pstmt.setString(4, bean.getBirthday());
pstmt.setString(5, bean.getEmail());
pstmt.setString(6, bean.getZipcode());
pstmt.setString(7, bean.getAddress());
//hobby는 여러개일수도있음
String lists[] = {"인터넷", "여행", "게임", "영화", "운동"};
String hobby[] = bean.getHobby();
char hb[]= {'0','0','0','0','0'};
for (int i = 0; i < hobby.length; i++) {
for (int j = 0; j < lists.length; j++) {
if(hobby[i].equals(lists[j])) {
hb[j]='1';
break;
}
}
}
pstmt.setString(8, new String(hb));
//
pstmt.setString(9, bean.getJob());
pstmt.setString(10, bean.getId());
if(pstmt.executeUpdate()==1) {
flag=true;
}
} catch (Exception e) {
e.printStackTrace();
} finally {
pool.freeConnection(con, pstmt);
}
return flag;
}
}
<!-- login.jsp -->
<%@ page contentType="text/html; charset=UTF-8" %>
<%
String id = (String)session.getAttribute("idKey");
%>
<link href="style.css" rel="stylesheet" type="text/css">
<script type="text/javascript">
function loginCheck() {
if (document.loginFrm.id.value == "") {
alert("아이디를 입력해 주세요.");
document.loginFrm.id.focus();
return;
}
if (document.loginFrm.pwd.value == "") {
alert("비밀번호를 입력해 주세요.");
document.loginFrm.pwd.focus();
return;
}
document.loginFrm.submit();
}
</script>
<body bgcolor="#FFFFCC">
<div align="center">
<br/><br/>
<%if(id!=null){%>
<b><%=id%></b>님 환영합니다.<br/>
제한된 기능을 사용 할 수가 있습니다.<br/>
<a href="logout.jsp">로그아웃</a>
<a href="memberUpdate.jsp">회원수정</a>
<%}else{
id = request.getParameter("id");
%>
<form name="loginFrm" method="post" action="loginProc.jsp">
<table>
<tr>
<td align="center" colspan="2"><h4>로그인</h4></td>
</tr>
<tr>
<td>아 이 디</td>
<td><input name="id" value="<%=(id!=null)?id:"aaa"%>"></td>
</tr>
<tr>
<td>비밀번호</td>
<td><input type="password" name="pwd" value="1234"></td>
</tr>
<tr>
<td colspan="2">
<div align="right">
<input type="button" value="로그인" onclick="loginCheck()">
<input type="button" value="회원가입" onClick="javascript:location.href='member.jsp'">
</div>
</td>
</tr>
</table>
</form>
<%}%>
</div>
</body>
function inputCheck(){
if(document.regFrm.id.value==""){
alert("아이디를 입력해 주세요.");
document.regFrm.id.focus();
return;
}
if(document.regFrm.pwd.value==""){
alert("비밀번호를 입력해 주세요.");
document.regFrm.pwd.focus();
return;
}
if(document.regFrm.repwd.value==""){
alert("비밀번호를 확인해 주세요");
document.regFrm.repwd.focus();
return;
}
if(document.regFrm.pwd.value != document.regFrm.repwd.value){
alert("비밀번호가 일치하지 않습니다.");
document.regFrm.repwd.value="";
document.regFrm.repwd.focus();
return;
}
if(document.regFrm.name.value==""){
alert("이름을 입력해 주세요.");
document.regFrm.name.focus();
return;
}
if(document.regFrm.birthday.value==""){
alert("생년월일을 입력해 주세요.");
document.regFrm.birthday.focus();
return;
}
if(document.regFrm.email.value==""){
alert("이메일을 입력해 주세요.");
document.regFrm.email.focus();
return;
}
var str=document.regFrm.email.value;
var atPos = str.indexOf('@');
var atLastPos = str.lastIndexOf('@');
var dotPos = str.indexOf('.');
var spacePos = str.indexOf(' ');
var commaPos = str.indexOf(',');
var eMailSize = str.length;
if (atPos > 1 && atPos == atLastPos &&
dotPos > 3 && spacePos == -1 && commaPos == -1
&& atPos + 1 < dotPos && dotPos + 1 < eMailSize);
else {
alert('E-mail주소 형식이 잘못되었습니다.\n\r다시 입력해 주세요!');
document.regFrm.email.focus();
return;
}
if(document.regFrm.zipcode.value==""){
alert("우편번호를 검색해 주세요.");
return;
}
if(document.regFrm.job.value=="0"){
alert("직업을 선택해 주세요.");
document.regFrm.job.focus();
return;
}
document.regFrm.submit();
}
function win_close(){
self.close();
}
<!-- idCheck.jsp -->
<%@ page contentType="text/html; charset=UTF-8"%>
<jsp:useBean id="mgr" class="ch14.MemberMgr"/>
<%
String id = request.getParameter("id");
boolean result = mgr.checkId(id);
//out.print(result);
%>
<!doctype html>
<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("는 사용 가능합니다.<p/>");
}
%>
<a href="#" onclick="self.close()">닫기</a>
</div>
</body>
</html>
<!-- member.jsp -->
<%@page contentType="text/html; charset=UTF-8" %>
<!doctype html>
<html>
<head>
<title>회원가입</title>
<link href="style.css" rel="stylesheet" type="text/css">
<script type="text/javascript" src="script.js"></script>
<script type="text/javascript">
function idCheck(id) {
if(id==""){
alert("아이디를 입력하세요.");
document.regFrm.id.focus();
return;//이후에 코드를 실행이 안됨. 함수를 빠져나감.
}
url = "idCheck.jsp?id="+id;
window.open(url,"ID 중복체크", "width =300, height = 150, top=100, left=100");
}
function zipSearch() {
url="zipSearch.jsp?search=n";
window.open(url,"우편번호검색","width =500, height = 300, top=100, left=100, scrollbar=yes")
}
</script>
</head>
<body bgcolor="#FFFFCC" onLoad="regFrm.id.focus()">
<div align="center">
<br /><br />
<form name="regFrm" method="post" action="memberProc.jsp">
<table cellpadding="5">
<tr>
<td bgcolor="#FFFFCC">
<table border="1" cellspacing="0" cellpadding="2" width="600">
<tr bgcolor="#996600">
<td colspan="3"><font color="#FFFFFF"><b>회원 가입</b></font></td>
</tr>
<tr>
<td width="20%">아이디</td>
<td width="50%">
<input name="id" size="15">
<input type="button" value="ID중복확인"
onClick="idCheck(this.form.id.value)">
</td>
<td width="30%">아이디를 적어 주세요.</td>
</tr>
<tr>
<td>비밀번호</td>
<td><input type="password" name="pwd" size="15"></td>
<td>비밀번호를 적어주세요.</td>
</tr>
<tr>
<td>비밀번호 확인</td>
<td><input type="password" name="repwd" size="15"></td>
<td>비밀번호를 확인합니다.</td>
</tr>
<tr>
<td>이름</td>
<td><input name="name" size="15">
</td>
<td>이름을 적어주세요.</td>
</tr>
<tr>
<td>성별</td>
<td>
남<input type="radio" name="gender" value="1" checked>
여<input type="radio" name="gender" value="2">
</td>
<td>성별을 선택 하세요.</td>
</tr>
<tr>
<td>생년월일</td>
<td><input name="birthday" size="6">
ex)830815</td>
<td>생년월일를 적어 주세요.</td>
</tr>
<tr>
<td>Email</td>
<td><input name="email" size="30">
</td>
<td>이메일를 적어 주세요.</td>
</tr>
<tr>
<td>우편번호</td>
<td><input name="zipcode" size="5" readonly>
<input type="button" value="우편번호찾기" onClick="zipSearch()">
</td>
<td>우편번호를 검색하세요.</td>
</tr>
<tr>
<td>주소</td>
<td><input name="address" size="45"></td>
<td>주소를 적어 주세요.</td>
</tr>
<tr>
<td>취미</td>
<td>인터넷<input type="checkbox" name="hobby" value="인터넷">
여행<input type="checkbox" name="hobby" value="여행"> 게임<input
type="checkbox" name="hobby" value="게임"> 영화<input
type="checkbox" name="hobby" value="영화"> 운동<input
type="checkbox" name="hobby" value="운동">
</td>
<td>취미를 선택 하세요.</td>
</tr>
<tr>
<td>직업</td>
<td><select name=job>
<option value="0" selected>선택하세요.
<option value="회사원">회사원
<option value="연구전문직">연구전문직
<option value="교수학생">교수학생
<option value="일반자영업">일반자영업
<option value="공무원">공무원
<option value="의료인">의료인
<option value="법조인">법조인
<option value="종교,언론,에술인">종교.언론/예술인
<option value="농,축,수산,광업인">농/축/수산/광업인
<option value="주부">주부
<option value="무직">무직
<option value="기타">기타
</select></td>
<td>직업을 선택 하세요.</td>
</tr>
<tr>
<td colspan="3" align="center">
<input type="button" value="회원가입" onclick="inputCheck()">
<input type="reset" value="다시쓰기">
<input type="button" value="로그인" onClick="javascript:location.href='login.jsp'">
</td>
</tr>
</table>
</td>
</tr>
</table>
</form>
</div>
</body>
</html>
<!-- ch12/loginProc.jsp -->
<%@ page contentType="text/html; charset=UTF-8"%>
<%
String id = request.getParameter("id");
String pwd = request.getParameter("pwd");
//DB에 왔다 갔다 가정하고~
boolean result = true;
String msg = "로그인 실패하였습니다.";
String url = "login.jsp";
if(result){
msg = "로그인되었습니다.";
url = "loginOk.jsp";
session.setAttribute("idKey", id); // id를 저장해라
}
%>
<script>
alert("<%=msg%>");
location.href="<%=url%>";
</script>
<%@ page contentType="text/html; charset=UTF-8"%>
<%
session.invalidate();
%>
<script>
alert('로그아웃 되었습니다.');
location.href = "login.jsp";
</script>
선택하면 opener에 value값이 바뀌며 들어간다.
<!-- zipSearch.jsp -->
<%@page import="ch14.ZipcodeBean"%>
<%@page import="java.util.Vector"%>
<%@ page contentType="text/html; charset=UTF-8"%>
<jsp:useBean id="mgr" class="ch14.MemberMgr"/>
<%
String search = request.getParameter("search");
Vector<ZipcodeBean> vlist = new Vector<ZipcodeBean>();
//search값이 y는 검색, n은 창만 open
String area3 = null;
if(search.equals("y")){
area3 = request.getParameter("area3");
vlist = mgr.searchZipcode(area3);
//out.print(vlist.size());
}
%>
<!doctype html>
<html>
<head>
<title>우편번호 검색</title>
<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) {
//alert(zipcode+" "+adds);
//opener -> member.jsp
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" value="강남대로">
<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()+" "+bean.getArea2()+" "+bean.getArea3();
%>
<tr>
<td><a href="#" onclick="sendAdd('<%=zipcode%>','<%=adds%>')">
<%=zipcode + " " +adds %></a></td>
</tr>
<%
}
}//--if2
}//--if1
%>
<!-- 검색 결과 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>
<!-- memberUpdate.jsp -->
<%@page import="ch14.MemberBean"%>
<%@page contentType="text/html; charset=UTF-8"%>
<jsp:useBean id="mgr" class="ch14.MemberMgr"/>
<%
String id = (String)session.getAttribute("idKey");
if(id==null){
response.sendRedirect("login.jsp");
return;
}
MemberBean bean = mgr.getMember(id);
%>
<html>
<head>
<title>회원수정</title>
<link href="style.css" rel="stylesheet" type="text/css">
<script type="text/javascript" src="script.js"></script>
<script type="text/javascript">
function zipCheck() {
url = "zipSearch.jsp?search=n";
window.open(url, "ZipCodeSearch","width=500, height=300, top=100, left=100, scrollbars=yes");
}
</script>
</head>
<body bgcolor="#FFFFCC" onLoad="regFrm.id.focus()">
<div align="center">
<br /> <br />
<form name="regFrm" method="post" action="memberUpdateProc.jsp">
<table align="center" cellpadding="5" >
<tr>
<td align="center" valign="middle" bgcolor="#FFFFCC">
<table border="1" cellpadding="2" align="center" width="600">
<tr align="center" bgcolor="#996600">
<td colspan="3"><font color="#FFFFFF"><b>회원 수정</b></font></td>
</tr>
<tr>
<td width="20%">아이디</td>
<td width="80%"><input name="id" size="15"
value="<%=bean.getId() %>" readonly></td>
</tr>
<tr>
<td>패스워드</td>
<td><input type="password" name="pwd" size="15"
value="<%=bean.getPwd()%>"></td>
</tr>
<tr>
<td>이름</td>
<td><input name="name" size="15"
value="<%=bean.getName()%>"></td>
</tr>
<tr>
<td>성별</td>
<td>
남<input type="radio" name="gender" value="1"
<%if(bean.getGender().equals("1")) out.println("checked"); %>>
여<input type="radio" name="gender" value="2"
<%if(bean.getGender().equals("2")) out.println("checked"); %>>
</td>
</tr>
<tr>
<td>생년월일</td>
<td><input name="birthday" size="6"
value="<%=bean.getBirthday()%>"> ex)830815</td>
</tr>
<tr>
<td>Email</td>
<td><input name="email" size="30"
value="<%=bean.getEmail()%>"></td>
</tr>
<tr>
<td>우편번호</td>
<td><input name="zipcode" size="5"
value="<%=bean.getZipcode()%>" readonly> <input
type="button" value="우편번호찾기" onClick="zipCheck()"></td>
</tr>
<tr>
<td>주소</td>
<td><input name="address" size="45" value="<%=bean.getAddress()%>"></td>
</tr>
<tr>
<td>취미</td>
<td>
<%
String list[] = {"인터넷", "여행", "게임", "영화", "운동"};
String hb[] = bean.getHobby();//{"1","0","1,"0,"1"}
for(int i=0;i<hb.length;i++){
%>
<%=list[i] %>
<input type="checkbox" name="hobby" value="<%=list[i]%>"
<%=hb[i].equals("1")?"checked":"" %>>
<%}//---for%>
</td>
</tr>
<tr>
<td>직업</td>
<td><select name="job">
<option value="0">선택하세요.
<option value="회사원">회사원
<option value="연구전문직">연구전문직
<option value="교수학생">교수학생
<option value="일반자영업">일반자영업
<option value="공무원">공무원
<option value="의료인">의료인
<option value="법조인">법조인
<option value="종교,언론,에술인">종교.언론/예술인
<option value="농,축,수산,광업인">농/축/수산/광업인
<option value="주부">주부
<option value="무직">무직
<option value="기타">기타
</select>
<script type="text/javascript">
document.regFrm.job.value="<%=bean.getJob()%>";
</script>
</td>
</tr>
<tr>
<td colspan="3" align="center">
<input type="submit" value="수정완료">
<input type="reset" value="다시쓰기"></td>
</tr>
</table>
</td>
</tr>
</table>
</form>
</div>
</body>
</html>
<%@ page contentType="text/html; charset=UTF-8"%>
<jsp:useBean id="mgr" class="ch14.MemberMgr"/>
<jsp:useBean id="bean" class="ch14.MemberBean"/>
<jsp:setProperty property="*" name="bean"/>
<%
boolean result = mgr.updateMember(bean);
if(result){
%>
<script>
alert("회원정보를 수정하였습니다.");
location.href="login.jsp";
</script>
<%}else{%>
<script>
alert("회원정보 수정에 실패하였습니다.");
history.back(); //뒤로
</script>
<%}%>