Semi Project - banti

woomΒ·2023λ…„ 3μ›” 18일

project

λͺ©λ‘ 보기
2/4
post-thumbnail

🌼 BANTI ν”„λ‘œμ νŠΈ κ²°κ³Ό


πŸ“Œ 계정 확인

  • 일반 μ‚¬μš©μž

    • ID : banti123
    • PW : banti123!
    • 이름: Test1
  • κ΄€λ¦¬μž

    • ID : qwe1234
    • PW : qwe1234!
    • 이름: κ΄€λ¦¬μž

🐣 DataBase (sql)


CREATE TABLE HEWON (
H_HEWONID VARCHAR2(50) NOT NULL PRIMARY KEY, 
H_PW   VARCHAR2(200)  NOT NULL ,
H_NAME VARCHAR2(50)  NOT NULL ,
H_PHONE VARCHAR2(50)  NOT NULL ,
H_ZIPCODE VARCHAR2(10)  NOT NULL ,
H_ADDRESS1 VARCHAR2(200)  NOT NULL ,
H_ADDRESS2 VARCHAR2(100)  NOT NULL ,
H_EMAIL VARCHAR2(100) NOT NULL ,
H_STATUS NUMBER(1)  NOT NULL 
);

CREATE TABLE PRODUCT (
P_PNUM		NUMBER(10)		NOT NULL PRIMARY KEY,
P_NAME		VARCHAR2(20)	NOT NULL,
P_PRICE		NUMBER(10)		NOT NULL,
P_MAINIMG 		VARCHAR2(500)	NOT NULL,
P_DETAILIMG1 	VARCHAR2(500)	NOT NULL,
P_DETAILIMG2	VARCHAR2(500)	NOT NULL,
);

CREATE TABLE CART (
C_CNUM		NUMBER(10)		NOT NULL PRIMARY KEY,
C_HEWONID		VARCHAR2(50)	NOT NULL,
C_PNUM		NUMBER(10)		NOT NULL,
C_QUANTITY		NUMBER(10)		NOT NULL,

CONSTRAINT C_HEWONID_FK FOREIGN KEY(C_HEWONID) 
    REFERENCES HEWON(H_HEWONID) ON DELETE CASCADE,

CONSTRAINT C_PNUM_FK FOREIGN KEY(C_PNUM) 
    REFERENCES PRODUCT(P_PNUM) ON DELETE CASCADE
);

CREATE TABLE ORDERS (
O_ONUM	   NUMBER(10) 	NOT NULL PRIMARY KEY,
O_STATUS 	   NUMBER(10) 	NOT NULL, 
O_DATE 	   DATE 		NOT NULL,		
O_COMMENT   VARCHAR2(50) 	NULL,	
O_HEWONID    VARCHAR2(50)	NOT NULL,	
O_QUANTITY   NUMBER(10) 	NOT NULL,		
O_PNUM 	   NUMBER(10) 	NOT NULL,	
O_ADDRESS1  VARCHAR2(200) 	NOT NULL,		
O_ADDRESS2  VARCHAR2(100)	NOT NULL,		
O_ZIPCODE	  VARCHAR2(20) 	NOT NULL,	
O_PHONE	  VARCHAR2(20) 	NOT NULL,		

CONSTRAINT O_HEWONID_FK FOREIGN KEY(O_HEWONID) 
    REFERENCES HEWON(H_HEWONID) ON DELETE CASCADE,

CONSTRAINT O_PNUM_FK FOREIGN KEY(O_PNUM) 
    REFERENCES PRODUCT(P_PNUM) ON DELETE CASCADE,
);

CREATE TABLE PAYMENT (
PAY_PAYNUM	      NUMBER(10) 	NOT NULL PRIMARY KEY,
PAY_ONUM 	      NUMBER(10) 	NOT NULL, 
PAY_HEWONID    VARCHAR2(20)	NOT NULL,	
PAY_TOTAL	    NUMBER(10) 	NOT NULL,		
PAY_METHOD    NUMBER(1) 	NOT NULL,	

CONSTRAINT PAY_ONUM_FK FOREIGN KEY(PAY_ONUM) 
    REFERENCES ORDERS(O_ONUM) ON DELETE CASCADE,

CONSTRAINT PAY_HEWONID_FK FOREIGN KEY(PAY_HEWONID) 
    REFERENCES HEWON(H_HEWONID) ON DELETE CASCADE
);

CREATE TABLE BOARD (
B_BNUM	NUMBER(10)		NOT NULL PRIMARY KEY,
B_HEWONID 	VARCHAR2(20)	NOT NULL,
B_TITLE	VARCHAR2(500)	NOT NULL,
B_DATE	DATE			NOT NULL,
B_TYPE	NUMBER(1)		NOT NULL,
B_REF		NUMBER(4)		NOT NULL,
B_RESTEP	NUMBER(4)		NOT NULL,
B_RELEVEL	NUMBER(4)		NOT NULL,
B_QUESTION VARCHAR2(4000)	NOT NULL,
B_STATUS 	NUMBER(1)		NOT NULL,
CONSTRAINT B_HEWONID_FK FOREIGN KEY (B_HEWONID) REFERENCES HEWON(H_HEWONID)
);

CREATE TABLE REVIEW (
R_RNUM	NUMBER(10)		NOT NULL PRIMARY KEY,
R_ONUM	NUMBER(10)		NOT NULL,
R_PNUM	NUMBER(10)		NOT NULL,
R_HEWONID	VARCHAR2(50) 	NOT NULL,
R_REVIEW 	VARCHAR(200)	NOT NULL,
R_DATE 	DATE			NOT NULL,
R_RATE	NUMBER(1)		NULL,
R_REF	NUMBER(4)		NULL,
R_RESTEP	NUMBER(4)		NULL,		
R_RELEVEL	NUMBER(4)		NULL,
R_STATUS     NUMBER(1)       	NULL,
CONSTRAINT R_ONUM_FK FOREIGN KEY (R_ONUM) REFERENCES ORDERS(O_ONUM),
CONSTRAINT R_PNUM_FK FOREIGN KEY (R_PNUM) REFERENCES PRODUCT(P_PNUM)
);





πŸ“• DTO (cart)

package xyz.itwill.dto;
/*
 이름         널?       μœ ν˜•           
---------- -------- ------------ 
C_CNUM     NOT NULL NUMBER(10)   
C_HEWONID  NOT NULL VARCHAR2(50) 
C_PNUM     NOT NULL NUMBER(10)   
C_QUANTITY NOT NULL NUMBER(10)   
 */
public class CartDTO {
	private int c_cnum;	
	private String c_hewonid;	
	private int c_pnum;	
	private int c_quantity;
	
	public CartDTO() {
		// TODO Auto-generated constructor stub
	}

	public int getC_cnum() {
		return c_cnum;
	}

	public void setC_cnum(int c_cnum) {
		this.c_cnum = c_cnum;
	}

	public String getC_hewonid() {
		return c_hewonid;
	}

	public void setC_hewonid(String c_hewonid) {
		this.c_hewonid = c_hewonid;
	}

	public int getC_pnum() {
		return c_pnum;
	}

	public void setC_pnum(int c_pnum) {
		this.c_pnum = c_pnum;
	}

	public int getC_quantity() {
		return c_quantity;
	}

	public void setC_quantity(int c_quantity) {
		this.c_quantity = c_quantity;
	}
	
	
}






πŸ“™ DAO (cart)


package xyz.itwill.dao;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

import xyz.itwill.dto.CartDTO;
import xyz.itwill.dto.ProductDTO;

public class CartDAO extends JdbcDAO {
	private static CartDAO _dao;
	
	public CartDAO() {
		// TODO Auto-generated constructor stub
	}
	
	static {
		_dao=new CartDAO();
	}

	public static CartDAO getDAO() {
		return _dao;
	}
	
	
	//idλ₯Ό 전달받아 cartν…Œμ΄λΈ”μ— μ €μž₯된 λͺ¨λ“  정보λ₯Ό κ²€μƒ‰ν•˜μ—¬ λ°˜ν™˜ν•˜λŠ” λ©”μ†Œλ“œ
	public List<CartDTO> selectCartList(String c_hewonid){
		Connection con=null;
		PreparedStatement pstmt=null;
		ResultSet rs=null;
		List<CartDTO> cartList=new ArrayList<>();
		try {
			con=getConnection();
			String sql="select * from cart where c_hewonid=?";
			pstmt=con.prepareStatement(sql);
			pstmt.setString(1, c_hewonid);
			
			rs=pstmt.executeQuery();
			
			while (rs.next()) {
				CartDTO cart=new CartDTO();
				cart.setC_cnum(rs.getInt("c_cnum"));
				cart.setC_hewonid(rs.getString("c_hewonid"));
				cart.setC_pnum(rs.getInt("c_pnum"));
				cart.setC_quantity(rs.getInt("c_quantity"));
				cartList.add(cart);
			}
		} catch (SQLException e) {
			System.out.println("[μ—λŸ¬]selectCartList() λ©”μ†Œλ“œμ˜ SQL 였λ₯˜ = "+e.getMessage());
		} finally {
			close(con, pstmt, rs);
		}
		return cartList;
	}
	
	
	
	
	
	//cart번호λ₯Ό 전달받아 cartν…Œμ΄λΈ”μ— μ €μž₯된 정보λ₯Ό κ²€μƒ‰ν•˜μ—¬ λ°˜ν™˜ν•˜λŠ” λ©”μ†Œλ“œ
	public CartDTO selectCart(int c_cnum) {
		Connection con=null;
		PreparedStatement pstmt=null;
		ResultSet rs=null;
		CartDTO cart=null;
		try {
			con=getConnection();
			String sql="select * from cart where c_cnum=?";
			pstmt=con.prepareStatement(sql);
			pstmt.setInt(1, c_cnum);
			rs=pstmt.executeQuery();
			if(rs.next()) {
				cart=new CartDTO();
				cart.setC_cnum(rs.getInt("c_cnum"));
				cart.setC_hewonid(rs.getString("c_hewonid"));
				cart.setC_pnum(rs.getInt("c_pnum"));
				cart.setC_quantity(rs.getInt("c_quantity"));
			}
		} catch (SQLException e) {
			System.out.println("[μ—λŸ¬]selectCart() λ©”μ†Œλ“œμ˜ SQL 였λ₯˜ = "+e.getMessage());
		} finally {
			close(con, pstmt, rs);
		}
		return cart;
	}
	
	
	//cart ν…Œμ΄λΈ”μ— μ €μž₯된 μƒν’ˆλ²ˆν˜Έλ₯Ό 전달 λ°›μ•„ ν•΄λ‹Ή μƒν’ˆλ²ˆν˜Έμ˜ μƒν’ˆμ„ κ²€μƒ‰ν•˜μ—¬ λ°˜ν™˜ν•˜λŠ” λ©”μ†Œλ“œ
	public ProductDTO selectProduct(int c_pnum) {
		Connection con=null;
		PreparedStatement pstmt=null;
		ResultSet rs=null;
		ProductDTO cartProduct=null;
		try {
			con=getConnection();
			String sql="select p_name,p_price, p_mainimg from product join cart on c_pnum=p_pnum where c_pnum=?";
			pstmt=con.prepareStatement(sql);
			pstmt.setInt(1, c_pnum);
			
			rs=pstmt.executeQuery();
			if(rs.next()) {
				cartProduct=new ProductDTO();
				cartProduct.setP_name(rs.getString("p_name"));
				cartProduct.setP_price(rs.getInt("p_price"));
				cartProduct.setP_mainimg(rs.getString("p_mainimg"));
				
			}
		} catch (SQLException e) {
			System.out.println("[μ—λŸ¬]selectProduct() λ©”μ†Œλ“œμ˜ SQL 였λ₯˜ = "+e.getMessage());
		} finally {
			close(con, pstmt, rs);
		}
		return cartProduct;
	}
	
	
	//idλ₯Ό 전달받아 cart table에 μ €μž₯된 μž₯λ°”κ΅¬λ‹ˆ μƒν’ˆ 갯수λ₯Ό κ²€μƒ‰ν•˜μ—¬ λ°˜ν™˜ν•˜λŠ” λ©”μ†Œλ“œ
	public int selectCartCount(String c_hewonid) {
		Connection con=null;
		PreparedStatement pstmt=null;
		ResultSet rs=null;
		int count=0;
		try {
			con=getConnection();
			String sql="select count(*) from cart where c_hewonid=?";
			pstmt=con.prepareStatement(sql);
			pstmt.setString(1, c_hewonid);
			
			rs=pstmt.executeQuery();
			if(rs.next()) {
				count=rs.getInt(1);
			}
		} catch (SQLException e) {
			System.out.println("[μ—λŸ¬]selectCartCount() λ©”μ†Œλ“œμ˜ SQL 였λ₯˜ = "+e.getMessage());					
		} finally {
			close(con, pstmt, rs);
		}
		return count;
	}
	
	
	//μ‹œν€€μŠ€ λ‹€μŒλ²ˆν˜ΈμΈ cart번호 좜λ ₯
	public int selectCartNextNum() {
		Connection con=null;
		PreparedStatement pstmt=null;
		ResultSet rs=null;
		int cartnextNum=0;
		try {
			con=getConnection();
			
			String sql="select cart_seq.nextval from dual";
			pstmt=con.prepareStatement(sql);
			
			rs=pstmt.executeQuery();
			
			if(rs.next()) {
				cartnextNum=rs.getInt(1);
			}
		} catch (SQLException e) {
			System.out.println("[μ—λŸ¬]selectNextNum() λ©”μ„œλ“œμ˜ SQL 였λ₯˜ = "+e.getMessage());
		} finally {
			close(con, pstmt, rs);
		}
		return cartnextNum;
	}
	
	
	
	
	//cart번호λ₯Ό 전달받아 cart ν…Œμ΄λΈ”μ— μ €μž₯된 ν•΄λ‹Ή μƒν’ˆλ²ˆν˜Έμ˜ μƒν’ˆμ„ κ²€μƒ‰ν•˜μ—¬ μ‚­μ œν•˜λŠ” λ©”μ†Œλ“œ
	public int deletecart(int c_cnum) {
		Connection con=null;
		PreparedStatement pstmt=null;
		int rows=0;
		
		try {
			
			con=getConnection();
			String sql="delete from cart where c_cnum=?";
			pstmt=con.prepareStatement(sql);
			pstmt.setInt(1, c_cnum);
			
			rows=pstmt.executeUpdate();
		} catch (SQLException e) {
			System.out.println("[μ—λŸ¬]deletecart() λ©”μ„œλ“œμ˜ SQL 였λ₯˜ = "+e.getMessage());
		} finally {
			close(con, pstmt);
		}
		return rows;
	}
	
	
	//cart table μ „μ²΄μ‚­μ œ

	public int alldeletecart() {
		Connection con=null;
		PreparedStatement pstmt=null;
		int rows=0;
		
		try {
			
			con=getConnection();
			String sql="delete from cart";
			pstmt=con.prepareStatement(sql);
			
			rows=pstmt.executeUpdate();
		} catch (SQLException e) {
			System.out.println("[μ—λŸ¬]alldeletecart() λ©”μ„œλ“œμ˜ SQL 였λ₯˜ = "+e.getMessage());
		} finally {
			close(con, pstmt);
		}
		return rows;
	}
	
	//μž₯λ°”κ΅¬λ‹ˆ 정보λ₯Ό 전달받아 cart table에 μ‚½μž…ν•˜κ³  μ‚½μž…ν–‰μ˜ 갯수λ₯Ό λ°˜ν™˜ν•˜λŠ” λ©”μ†Œλ“œ
	public int insertCart(CartDTO cart) {
		Connection con=null;
		PreparedStatement pstmt=null;
		int rows=0;
		try {
			con=getConnection();
			
			String sql="insert into cart values(cart_seq.nextval,?,?,?)";
			pstmt=con.prepareStatement(sql);
			pstmt.setString(1, cart.getC_hewonid());
			pstmt.setInt(2, cart.getC_pnum());
			pstmt.setInt(3, cart.getC_quantity());
			
			rows=pstmt.executeUpdate();
		} catch (SQLException e) {
			System.out.println("[μ—λŸ¬]insertCart() λ©”μ†Œλ“œμ˜ SQL 였λ₯˜ = "+e.getMessage());
		} finally {
			close(con, pstmt);
		}
		return rows;
	}
	
	
}






πŸ“’ CartList.jsp


<%@page import="xyz.itwill.dto.HewonDTO"%>
<%@page import="java.text.DecimalFormat"%>
<%@page import="xyz.itwill.dao.CartDAO"%>
<%@page import="java.util.List"%>
<%@page import="xyz.itwill.dto.CartDTO"%>
<%@page import="xyz.itwill.dto.ProductDTO"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<link rel="stylesheet" href="<%=request.getContextPath()%>/css/banti0.css">
<link rel="stylesheet" href="<%=request.getContextPath()%>/css/banti1.css">
<%@include file="/security/login_url.jspf" %>
<%
	
	List<CartDTO> cartList=CartDAO.getDAO().selectCartList(loginHewon.getH_hewonid());//μž₯λ°”κ΅¬λ‹ˆ λͺ©λ‘

	int cartCount=CartDAO.getDAO().selectCartCount(loginHewon.getH_hewonid());//μž₯λ°”κ΅¬λ‹ˆ μ΄μˆ˜λŸ‰
	
	
%>

<style type="text/css">
.chk_box input[type="checkbox"]:checked  {
    background: url(../img/chk.png) no-repeat 50% 50% #3a8afd;
    border-color: #1471f6;
    border-radius: 3px;
}
.chk_box input[type="checkbox"] {
    position: absolute;
    top: 2px;
    left: 0;
    width: 15px;
    height: 15px;
    display: block;
    margin: 0;
    border: 1px solid #d0d4df;
}
*, :after, :before {
    box-sizing: border-box;
}
.chk_box input[type="checkbox"]:checked +label {
    color: #000;
}
.chk_box input[type="checkbox"] + label{
    padding-left: 20px;
}
.chk_box input[type="checkbox"] +label {
    position: relative;
    padding-left: 20px;
}
.tbl_head03 td {
    background: #fff;
    background-clip: padding-box;
    padding: 25px 15px;
    border-top: 1px solid #ccd2d9;
    border-left: 1px solid #f6f6f6;
    line-height: 1.5em;
    word-break: break-all;
}

.td_chk {
    width: 30px;
    text-align: center;
}
td {
    margin: 0;
    padding: 0;
    font-size: 13px;
    font-family: 'Noto Sans KR', sans-serif;
    font-weight: 400;
    letter-spacing: -0.02em;
}
.tbl_wrap table {
    width: 100%;
    border-collapse: collapse;
    border-spacing: 0;
}

table {
    text-indent: initial;
}
li {
    display: list-item;
    line-height: 1.6em;
    font-family: 'Noto Sans KR', sans-serif;
    font-weight: 400;
    letter-spacing: -0.02em;
    list-style: none;
}
#sod_bsk #sod_bsk_tot li {
    float: left;
    font-size: 1.167em;
    border-left: 1px solid #ddd;
}
#sod_bsk #sod_bsk_tot li:first-child {
	
    border: 0;
}
@media (max-width: 480px)
#sod_bsk #sod_bsk_tot li {
    width: 50%;
    padding: 10px;
    text-align: right;
    height: auto;
}
@media (max-width: 768px)
#sod_bsk #sod_bsk_tot li[class~=sod_bsk_dvr] {
    background: #fff !important;
    color: #000;
}
#sod_bsk #sod_bsk_tot li[class~=sod_bsk_pt] {
    background: #f8f8f8 !important;
    color: #000;
}
#sod_bsk #sod_bsk_tot li {
    border-left: 1px solid #ddd;
}
#sod_bsk #sod_bsk_tot li {
    float: right;
    width: 45%;
    text-align: right;
    padding: 25px;
    font-size: 1.167em;
}
#sod_bsk #sod_bsk_tot .sod_bsk_cnt {
    width: 33.335%;
    background: #212a37;
    color: #fff;
    text-align: right;
    padding: 25px;
    font-size: 1.167em;
}

#smalltotal {
	width: 300px;
}

</style>
<div id="wrapper" style="clear:both;">
	<div id="container">
		<div class="shop-content">
			<div id="wrapper_title">μž₯λ°”κ΅¬λ‹ˆ</div>
			
		
<div id="sod_bsk" class="od_prd_list">
	<form action="" name="frmcartlist" id="sod_bsk_list" class="2017_renewal_itemform" method="post">
		<div class="tbl_head03 tbl_wrap">
			<table>
				<thead>
					<tr>
						<th scope="col" class="chk_box">
							<input type="checkbox" id="ct_all" checked="checked" class="selec_chk">
							<label for="ct_all">
								<span></span>
							</label>
						</th>
						<th scope="col" style="width: 400px;">μƒν’ˆλͺ…</th>	
						<th scope="col">μ΄μˆ˜λŸ‰</th>	
						<th scope="col">νŒλ§€κ°€</th>	
						<th scope="col">배솑비</th>	
						<th scope="col">μ†Œκ³„</th>
					</tr>
				</thead>
				<tbody>
						<% if(cartCount==0) { //μž₯λ°”κ΅¬λ‹ˆμ— μƒν’ˆμ΄ μ—†λŠ” 경우%>
					<tr>
						<td colspan="7" class="empty_table">μž₯λ°”κ΅¬λ‹ˆμ— λ‹΄κΈ΄ μƒν’ˆμ΄ μ—†μŠ΅λ‹ˆλ‹€.</td>
					</tr>	
							<% } else {%>
							<% for(CartDTO cart :cartList) { %>
							<%ProductDTO cartproduct= CartDAO.getDAO().selectProduct(cart.getC_pnum());%>
					<tr>		
						<td class="td_chk chk_box">
							<input type="checkbox" name="check" id="cartcheck<%=cart.getC_cnum() %>" value="<%=cart.getC_cnum() %>" checked="checked" class="selec_chk">
							<label for="cartcheck<%=cart.getC_cnum() %>" >
							<span><input type="hidden" name="p_pnum" value="<%=cartproduct.getP_pnum()%>"></span>
							</label>
						</td>
						<td class="td_prd">
						
							<div class="sod_img">
								<a href="">
									<img src="<%=request.getContextPath()%>/product_image/<%=cartproduct.getP_mainimg()%>" width="80" height="80" alt="title">
								</a>
							</div>

							<div class="sod_name">
								<input type="hidden" name="it_id[0]" value="BG420">
								<input type="hidden" name="it_name[0]" value="BG420">
									<a href="" class="prd_name">
										<b><%=cartproduct.getP_name() %></b>
									</a>
								<div class="sod_opt">
									<ul>
										<li>μ œν’ˆλ²ˆν˜Έ : <%=cart.getC_pnum() %></li>
										<li>FREE SIZE</li>
									</ul>
								</div>
								<div class="sod_option_btn">
									
								</div>
							</div>		
						</td>	
						<td class="td_num"><input type="hidden" name="Pquantity" value="<%=cart.getC_quantity() %>"><%=cart.getC_quantity() %></td>	
						<td class="td_numbig"><%=DecimalFormat.getCurrencyInstance().format(cartproduct.getP_price()) %></td>	
							
						<td class="td_dvr">λ¬΄λ£Œλ°°μ†‘</td>
						<%String smalltotal=DecimalFormat.getCurrencyInstance().format(cartproduct.getP_price()*cart.getC_quantity()); %>	
						<td class="td_numbig text_right"><span id="smalltotal" class="total_prc"><input type="hidden" id="smalltotal" name="smalltotal"><%=smalltotal%></span></td>
					</tr>
							<% } %>
						<% } %>
				</tbody>		
			</table>
			<div class="btn_cart_del">
				<button type="button" id="checkdelete">μ„ νƒμ‚­μ œ</button>
				<button type="button" id="alldelete" name="alldelete" value="all">λΉ„μš°κΈ°</button>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span id="message" style="color: red;"></span>
			</div>
		</div>
		<div id="sod_bsk_tot">
			<ul>
				<% int total=0; %>
				<% for(CartDTO cart :cartList) {%>
				<%ProductDTO cartproduct= CartDAO.getDAO().selectProduct(cart.getC_pnum());%>
				<% int smalltotal=cartproduct.getP_price()*cart.getC_quantity(); %>
				<% total=total+smalltotal; %>
				<%} %>
				<% String Ctotal=DecimalFormat.getCurrencyInstance().format(total);%>
				<li class="sod_bsk_cnt"><span>μ΄κΈˆμ•‘</span><strong><%=Ctotal %></strong>원</li>
			</ul>
         </div>
		<div id="sod_bsk_act">
			<input type="hidden" name="url" value="index.jsp">
			<input type="hidden" name="records" value="2">
			<input type="hidden" name="act" value="index.jsp">
			<a href="index.jsp" class="btn01">μ‡Όν•‘ κ³„μ†ν•˜κΈ°</a>
			<button type="button" onclick="return form_check('buy');" class="btn_submit">μ£Όλ¬Έν•˜κΈ°</button>
		</div>	
	</form>	
</div>	
</div>
</div>
</div>



<script>


$("#ct_all").change(function() {
	if($(this).is(":checked")) {
		$(".selec_chk").prop("checked",true);
	} else {
		$(".selec_chk").prop("checked",false);
	}
});



$("#checkdelete").click(function() {
	if($(".selec_chk").filter(":checked").length==0) {
		$("#message").text("μ„ νƒλœ μƒν’ˆμ΄ ν•˜λ‚˜λ„ μ—†μŠ΅λ‹ˆλ‹€.");
		return;
	}
	
	$("#sod_bsk_list").attr("action", "<%=request.getContextPath()%>/index.jsp?menugroup=cart&menu=cart_remove_action");
	$("#sod_bsk_list").attr("method","post");
	$("#sod_bsk_list").submit();
});


$("#alldelete").click(function() {
	$("#sod_bsk_list").attr("action", "<%=request.getContextPath()%>/index.jsp?menugroup=cart&menu=cart_removeall_action");
	$("#sod_bsk_list").attr("method","post");
	$("#sod_bsk_list").submit();
});


$(".btn_submit").click(function() {
	if($(".selec_chk").filter(":checked").length==0) {
		$("#message").text("μ„ νƒλœ μƒν’ˆμ΄ ν•˜λ‚˜λ„ μ—†μŠ΅λ‹ˆλ‹€.");
		return;
	}
	
	$("#sod_bsk_list").attr("action", "<%=request.getContextPath()%>/index.jsp?menugroup=payment&menu=paymentform_cart");
	$("#sod_bsk_list").attr("method","post");
	$("#sod_bsk_list").submit();
});



</script>







πŸ“’ CartList.action


<%@page import="xyz.itwill.dao.CartDAO"%>
<%@page import="xyz.itwill.dto.CartDTO"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>    
<%@include file="/security/login_url.jspf" %>
<%
	
	if(request.getMethod().equals("GET")) {
	out.println("<script type='text/javascript'>");
	out.println("location.href='"+request.getContextPath()+"/index.jsp?menugroup=error&menu=error_400';");
	out.println("</script>");
	return;
	}

	//μž₯λ°”κ΅¬λ‹ˆ table 전달값을 λ°˜ν™˜λ°›μ•„ μ €μž₯
	String c_pnum=request.getParameter("p_pnum");
	String c_quantity=request.getParameter("Pquantity");
	
	//cartDTO 객체 μƒμ„±ν•˜μ—¬ μ „λ‹¬κ°’μœΌλ‘œ ν•„λ“œκ°’ λ³€κ²½
	CartDTO cart=new CartDTO();
	cart.setC_hewonid(loginHewon.getH_hewonid());
	cart.setC_pnum(Integer.parseInt(c_pnum) );
	cart.setC_quantity(Integer.parseInt(c_quantity) );
	
	//μž₯λ°”κ΅¬λ‹ˆ 정보λ₯Ό 전달받아 cartν…Œμ΄λΈ”μ— μ‚½μž…ν•˜λŠ” DAO 클래슀의 λ©”μ†Œλ“œ 호좜
	CartDAO.getDAO().insertCart(cart);
	
	
	out.println("<script type='text/javascript'>");
	out.println("location.href='"+request.getContextPath()+"/index.jsp?menugroup=cart&menu=cart_list';");
	out.println("</script>");
	

%>	





πŸ“’ CartRemoveAll.action



<%@page import="xyz.itwill.dao.CartDAO"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>    
<%


	CartDAO.getDAO().alldeletecart();
	
		
	
	out.println("<script type='text/javascript'>");
	out.println("location.href='"+request.getContextPath()+"/index.jsp?menugroup=cart&menu=cart_list';");
	out.println("</script>");

%>





πŸ“’ CartRemove.action

<%@page import="xyz.itwill.dao.CartDAO"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>    
<%


	String [] cartremovelist=request.getParameterValues("check");
	for(String cartremove: cartremovelist ) {
		CartDAO.getDAO().deletecart(Integer.parseInt(cartremove));
	}
	
		
	
	out.println("<script type='text/javascript'>");
	out.println("location.href='"+request.getContextPath()+"/index.jsp?menugroup=cart&menu=cart_list';");
	out.println("</script>");

%>




🐣 μƒν’ˆνŽ˜μ΄μ§€



<%@page import="xyz.itwill.dao.ProductDAO"%>
<%@page import="java.util.List"%>
<%@page import="xyz.itwill.dto.ProductDTO"%>
<%@page import="xyz.itwill.dao.ReviewDAO"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
    
<%
int totalReview=ReviewDAO.getDAO().selectReviewCount();
%>

<!doctype html>
<html lang="ko">
<head>
<style type="text/css">
#productqty{
	font-weight: bold;
	font-size: 30px;
	text-align: right;
	border: 1px solid #cdcdcd;
	margin: 0 0 10px;
    height: 50px;
    padding: 0 10px;
	
}
.qty {
	text-align: right;
}
#producttotalprice {
	border: 1px solid #cdcdcd;
	margin: 0 0 10px;
    height: 50px;
    padding: 0 10px;
    line-height: 50px;
    
}
#sit_sel_option {
	display: none;
}

</style>

<title>μ‚μ—λ‘œ λ°˜ν‹° ν’€μ„ΈνŠΈ/쑸업사진 컨셉/λ§₯λ„λ‚ λ“œ &gt; λ°˜ν‹°μ„ΈνŠΈ | λ°˜ν‹°μ„ΈνŠΈ</title>
<%-- μ£Όμ„μ²˜λ¦¬ν›„ Header κ²€μ€μƒ‰μœΌλ‘œ λ‚˜μ˜€λŠ” λΆ€λΆ„ ν•΄κ²° --%>
<%--<link rel="stylesheet" href="http://www.bant.co.kr/theme/daontheme_shop01/css/default_shop.css?ver=191202">--%>

<%-- μ£Όμ„μ²˜λ¦¬ν•΄λ„ λ³€ν™” μ—†μŒ --%>
<%--<link rel="stylesheet" href="http://www.bant.co.kr/js/font-awesome/css/font-awesome.min.css?ver=191202">--%>

<%-- μ£Όμ„μ²˜λ¦¬ν•΄λ„ λ³€ν™” μ—†μŒ --%>
<%--<link rel="stylesheet" href="http://www.bant.co.kr/js/owlcarousel/owl.carousel.css?ver=191202">--%>

<%-- μ£Όμ„μ²˜λ¦¬ν•˜λ©΄ 이미지 μœ„μΉ˜ 틀어짐 --%>
<link rel="stylesheet" href="http://www.bant.co.kr/theme/daontheme_shop01/skin/shop/daon/style.css?ver=191202">

<%-- μ£Όμ„μ²˜λ¦¬ν•΄λ„ λ³€ν™” μ—†μŒ --%>
<%--<link rel="stylesheet" href="http://www.bant.co.kr/theme/daontheme_shop01/skin/outlogin/shop_basic_mobile/style.css?ver=191202">--%>

<%-- μ£Όμ„μ²˜λ¦¬ν•΄λ„ λ³€ν™” μ—†μŒ --%>
<%--<link rel="stylesheet" href="http://www.bant.co.kr/theme/daontheme_shop01/skin/outlogin/shop_side/style.css?ver=191202">--%>

<%-- μ£Όμ„μ²˜λ¦¬ν•΄λ„ λ³€ν™” μ—†μŒ --%>
<%--<link rel="stylesheet" href="http://www.bant.co.kr/theme/daontheme_shop01/skin/latest/daon_shop_basic/style.css?ver=191202">--%>


<script>
// μžλ°”μŠ€ν¬λ¦½νŠΈμ—μ„œ μ‚¬μš©ν•˜λŠ” μ „μ—­λ³€μˆ˜ μ„ μ–Έ
var g5_url       = "http://www.bant.co.kr";
var g5_bbs_url   = "http://www.bant.co.kr/bbs";
var g5_is_member = "";
var g5_is_admin  = "";
var g5_is_mobile = "";
var g5_bo_table  = "";
var g5_sca       = "";
var g5_editor    = "";
var g5_cookie_domain = "";
var g5_theme_shop_url = "http://www.bant.co.kr/theme/daontheme_shop01/shop";
var g5_shop_url = "http://www.bant.co.kr/shop";
</script>
<script src="http://www.bant.co.kr/js/jquery-1.12.4.min.js"></script>
<script src="http://www.bant.co.kr/js/jquery-migrate-1.4.1.min.js"></script>
<script src="http://www.bant.co.kr/js/jquery.shop.menu.js?ver=191202"></script>
<script src="http://www.bant.co.kr/js/common.js?ver=191202"></script>
<script src="http://www.bant.co.kr/js/wrest.js?ver=191202"></script>
<script src="http://www.bant.co.kr/js/placeholders.min.js"></script>
<script src="http://www.bant.co.kr/js/owlcarousel/owl.carousel.min.js"></script>
<script src="http://www.bant.co.kr/js/jquery.bxslider.js"></script>
<script src="http://www.bant.co.kr/js/shop.category.navigation.js"></script>
</head>
<body>
<link href="http://www.bant.co.kr/theme/daontheme_shop01/shop/html/css_js/font.css?ver=191202" rel="stylesheet" type="text/css">
<link rel="stylesheet" type="text/css" href="http://www.bant.co.kr/theme/daontheme_shop01/shop/html/css_js/css.php?fname=Y29tbW9u&type=css&token=V2VkbmVzZGF5Mjh0aG9mRGVjZW1iZXIyMDIyMDk6NDk6MjhBTV8xNjcyMTg4NTY4" />
<link rel="stylesheet" href="http://www.bant.co.kr/theme/daontheme_shop01/shop/html/css_js/swiper.min.css">
<script src="http://www.bant.co.kr/theme/daontheme_shop01/shop/html/css_js/swiper.min.js"></script>
<script src="http://www.bant.co.kr/theme/daontheme_shop01/shop/html/css_js/swiper-animation.min.js"></script>
<script src="http://www.bant.co.kr/theme/daontheme_shop01/shop/html/css_js/jquery.mb.YTPlayer.js"></script>
<link href="http://www.bant.co.kr/theme/daontheme_shop01/shop/html/css_js/core.min.css" rel="stylesheet" type="text/css">
<link rel="stylesheet" href="http://www.bant.co.kr/theme/daontheme_shop01/shop/html/css_js/animate.css">
<script>

jQuery(function ($){
	
	var active_class = "btn_sm_on",
	side_btn_el = "#quick .btn_sm",
	quick_container = ".qk_con";
	
	
	$(".btn_member_mn").on("click", function() {
        $(".member_mn").toggle();
        $(".btn_member_mn").toggleClass("btn_member_mn_on");
	});
    
	$(document).on("click", ".sop_bt", function(e){
		$(".side_mn_wr1").show();
		$("#side_menu").stop().animate({'right':'0px'},500);	
		$(this).removeClass('sop_bt');		 
		$(this).addClass('scl_bt');		 	 
		$(this).find('i').removeClass('fa-chevron-left'); 	 
		$(this).find('i').addClass('fa-chevron-right');				
	});
	
	$(document).on("click", ".scl_bt", function(e){
	$(".side_mn_wr1").show();
	$("#side_menu").stop().animate({'right':'-281px'},500);	
	$(this).removeClass('scl_bt');		 
	$(this).addClass('sop_bt');		 	 
	$(this).find('i').removeClass('fa-chevron-right'); 	 
	$(this).find('i').addClass('fa-chevron-left');	
	$(side_btn_el).removeClass(active_class);
 	});


   	$(document).on("click", side_btn_el, function(e){
       	e.preventDefault();	
       	var $this = $(this);
        
      	 	if (!$this.hasClass(active_class)) {
           	$(side_btn_el).removeClass(active_class);
           	$this.addClass(active_class);
       	}
		$(quick_container).hide();		

		if( $this.hasClass("btn_sm_cl1") ){
            $(".side_mn_wr1").fadeIn();
   	    } else if( $this.hasClass("btn_sm_cl2") ){
       	    $(".side_mn_wr2").fadeIn();
        } else if( $this.hasClass("btn_sm_cl3") ){
        	$(".side_mn_wr3").fadeIn();
		} else if( $this.hasClass("btn_sm_cl4") ){
			$(".side_mn_wr4").fadeIn();
		}
	}).on("click", ".con_close", function(e){
		$(quick_container).fadeOut();
 		$(side_btn_el).removeClass(active_class);
	});

	$(window).scroll(function(){
		$(".scl_bt").trigger("click");
	});
	

	$("#top_btn").on("click", function() {
		$("html, body").animate({scrollTop:0}, '500');
		return false;
    });
});
</script>
<%
	
	List<ProductDTO> productList=ProductDAO.getDAO().selectProductList();
	String p_pnum=request.getParameter("p_pnum");
	ProductDTO product=ProductDAO.getDAO().selectProduct(Integer.parseInt(p_pnum));
%>

<div id="wrapper" style="clear:both;">  
		<!-- μ½˜ν…μΈ  μ‹œμž‘ { -->
	<div id="container">

	 	<!-- .shop-content μ‹œμž‘ { -->
		<div class="shop-content is_item">
					
			<div id="wrapper_title">μ‚μ—λ‘œ λ°˜ν‹° ν’€μ„ΈνŠΈ/쑸업사진 컨셉/λ§₯λ„λ‚ λ“œ &gt; λ°˜ν‹°μ„ΈνŠΈ</div>
			<div id="text_size">
				<button class="no_text_resize" onclick="font_resize('container', 'decrease');">μž‘κ²Œ</button>
				<button class="no_text_resize" onclick="font_default('container');">κΈ°λ³Έ</button>
				<button class="no_text_resize" onclick="font_resize('container', 'increase');">크게</button>
			</div>
		
			<script>
			jQuery(function($){
			    $(document).ready(function() {
			        $("#sct_location select").on("change", function(e){
			            var url = $(this).find(':selected').attr("data-url");
			            
			            if (typeof itemlist_ca_id != "undefined" && itemlist_ca_id === this.value) {
			                return false;
			            }
			
			            window.location.href = url;
			        });
			
					$("select.shop_hover_selectbox").shop_select_to_html();
			    });
			});
			</script>
			
			<!-- μƒν’ˆ 상세보기 μ‹œμž‘ { -->
			<script src="http://www.bant.co.kr/js/shop.js"></script>
			<div id="sit">
			    <div id="sit_ov_from">
					<form name="fitem" method="post" id="detailForm">
					<input type="hidden" name="it_id[]" value="BG420">
					<input type="hidden" name="sw_direct">
					<input type="hidden" name="url">
					<input type="hidden" id="p_pnum" name="p_pnum" value="<%=p_pnum%>">
				
					<div id="sit_ov_wrap">
				    	<!-- μƒν’ˆμ΄λ―Έμ§€ 미리보기 μ‹œμž‘ { -->
				    	<div id="sit_pvi">
				       		<div id="sit_pvi_big">
				        		<a href="http://www.bant.co.kr/shop/largeimage.php?it_id=BG420&amp;no=1" target="_blank" class="popup_item_image">
				        			<img src="<%=request.getContextPath()%>/product_image/<%=product.getP_mainimg()%>" width="645" height="645" alt="">
				        		</a>
				        		<a href="http://www.bant.co.kr/shop/largeimage.php?it_id=BG420&amp;no=2" target="_blank" class="popup_item_image">
				        			<img src="<%=request.getContextPath()%>/product_image/<%=product.getP_detailimg1()%>" width="645" height="645" alt="">
				        		</a>
								<a href="http://www.bant.co.kr/shop/largeimage.php?it_id=BG420&amp;no=1" target="_blank" id="popup_item_image" class="popup_item_image" style="border: none;">
									<i class="fa fa-search-plus" aria-hidden="true" ></i>
									<span class="sound_only">ν™•λŒ€λ³΄κΈ°</span>
								</a>
				        	</div>
				        	<ul id="sit_pvi_thumb">
				        		<li>
				        			<a href="#none" class="img_thumb">
				        				<img src="<%=request.getContextPath()%>/product_image/<%=product.getP_detailimg1()%>" width="150" height="150" alt="">
				        				<span class="sound_only"> 1번째 이미지 μƒˆμ°½</span>
				        			</a>
				        		</li>
				        		<li >
				        			<a href="#none" class="img_thumb">
				        				<img src="<%=request.getContextPath()%>/product_image/<%=product.getP_detailimg2()%>" width="150" height="150" alt="">
				        				<span class="sound_only"> 2번째 이미지 μƒˆμ°½</span>
				        			</a>
				        		</li>
				        	</ul>	    
				        </div>
				    	<!-- } μƒν’ˆμ΄λ―Έμ§€ 미리보기 끝 -->
				
				    	<!-- μƒν’ˆ μš”μ•½μ •λ³΄ 및 ꡬ맀 μ‹œμž‘ { -->
				    	<section id="sit_ov" class="2017_renewal_itemform">
				        	<h2 id="sit_title"><%=product.getP_name() %><span class="sound_only">μš”μ•½μ •λ³΄ 및 ꡬ맀</span></h2>
				        	<p id="sit_desc">μƒν•˜μ˜ μ„ΈνŠΈ or μƒμ˜ or ν•˜μ˜ (μ‹ λ°œμ€ μ†Œν’ˆ)</p>
				        	        
				        	<div id="sit_star_sns">
					        	<br>
					            <div id="sit_btn_opt">					       
					            	<button type="button" class="btn_sns_share"><i class="fa fa-share-alt" aria-hidden="true"></i><span class="sound_only">sns 곡유</span></button>
					            	<div class="sns_area">
					            		<a href="https://www.facebook.com/sharer/sharer.php?u=http%3A%2F%2Fwww.bant.co.kr%2Fshop%2Fitem.php%3Fit_id%3DBG420&amp;p=%EC%82%90%EC%97%90%EB%A1%9C+%EB%B0%98%ED%8B%B0+%ED%92%80%EC%84%B8%ED%8A%B8%2F%EC%A1%B8%EC%97%85%EC%82%AC%EC%A7%84+%EC%BB%A8%EC%85%89%2F%EB%A7%A5%EB%8F%84%EB%82%A0%EB%93%9C+%7C+%EB%B0%98%ED%8B%B0%EC%84%B8%ED%8A%B8" class="share-facebook" target="_blank"><img src="http://www.bant.co.kr/theme/daontheme_shop01/skin/shop/daon/img/facebook.png" alt="νŽ˜μ΄μŠ€λΆμ— 곡유"></a> <a href="https://twitter.com/share?url=http%3A%2F%2Fwww.bant.co.kr%2Fshop%2Fitem.php%3Fit_id%3DBG420&amp;text=%EC%82%90%EC%97%90%EB%A1%9C+%EB%B0%98%ED%8B%B0+%ED%92%80%EC%84%B8%ED%8A%B8%2F%EC%A1%B8%EC%97%85%EC%82%AC%EC%A7%84+%EC%BB%A8%EC%85%89%2F%EB%A7%A5%EB%8F%84%EB%82%A0%EB%93%9C+%7C+%EB%B0%98%ED%8B%B0%EC%84%B8%ED%8A%B8" class="share-twitter" target="_blank"><img src="http://www.bant.co.kr/theme/daontheme_shop01/skin/shop/daon/img/twitter.png" alt="νŠΈμœ„ν„°μ— 곡유"></a> <a href="https://plus.google.com/share?url=http%3A%2F%2Fwww.bant.co.kr%2Fshop%2Fitem.php%3Fit_id%3DBG420" class="share-googleplus" target="_blank"><img src="http://www.bant.co.kr/theme/daontheme_shop01/skin/shop/daon/img/gplus.png" alt="κ΅¬κΈ€ν”ŒλŸ¬μŠ€μ— 곡유"></a>	            		<a href="javascript:popup_item_recommend('BG420');" id="sit_btn_rec"><i class="fa fa-envelope-o" aria-hidden="true"></i><span class="sound_only">μΆ”μ²œν•˜κΈ°</span></a>
					            	</div>
					        	</div>
				        	</div>
				        <script>
				        $(".btn_sns_share").click(function(){
				            $(".sns_area").show();
				        });
				        $(document).mouseup(function (e){
				            var container = $(".sns_area");
				            if( container.has(e.target).length === 0)
				            container.hide();
				        });
				        </script>
			
				        			<div class="sit_info">
				            		<table class="sit_ov_tbl">
				            		<colgroup>
				                		<col class="grid_3">
				               			<col>
				            		</colgroup>
				            		<tbody>   	
				            		<tr class="tr_price">
				                		<th scope="row"><strong>νŒλ§€κ°€κ²©</strong></th>
				               	 		<td>
				            				<strong><%=product.getP_price() %>원 (ν’€μ„ΈνŠΈ 가격)</strong>
				                    		<input type="hidden" id="it_price" value="<%=product.getP_price() %>">
				               			</td>
			            			</tr>      	            	
				            		<tr>
				                		<th scope="row">λΈŒλžœλ“œ</th>
				                		<td><font color="red">λ°˜ν‹°</font></td>
				            		</tr>
									<tr>
				                		<th scope="row">원산지</th>
				                		<td>ν•œκ΅­/쀑ꡭ</td>
				            		</tr>	
				            	   	
									<tr>
				               			<th>배솑비 μ•ˆλ‚΄</th>
										<td>3,000원(10λ§Œμ›μ΄μƒ λ¬΄λ£Œλ°°μ†‘)</td>
				            		</tr>
									<tr>
				               			<th>μ΅œμ†Œκ΅¬λ§€μˆ˜λŸ‰</th>
				                		<td>100 개</td>
				            		</tr>
								</tbody>
				            </table>
				        </div>
						<div id="btn_option">
						<div class="sl_option">
						
						<!-- μ„ νƒμ˜΅μ…˜ μ‹œμž‘ -->
				        <section class="sit_option">
							<h3><font color="red"><b>μ„ νƒμ˜΅μ…˜(λ³΅μˆ˜μ„ νƒκ°€λŠ₯)</b></font></h3>
				 
				          	<div class="get_item_options">
							<label for="it_option_1"></label>
							<span>
								<select id="it_option_1" class="it_option">
									<option value="">선택</option>
									<option value="μ‚μ—λ‘œ FREE,0,9999">μƒν•˜μ˜ μ„ΈνŠΈ FREE&nbsp;&nbsp;+ 0원</option>
								</select>
							</span>
							</div>
				        </section>
						<!-- μ„ νƒμ˜΅μ…˜ 끝 --> 
				        	
						<!-- μΆ”κ°€μ˜΅μ…˜ μ‹œμž‘ { -->
				        <section  class="sit_option">
				            <h3><font color="red"><b>μΆ”κ°€μ˜΅μ…˜(μΈμ‡„μ˜΅μ…˜/1벌 ν• μΈμ˜΅μ…˜)</b></font></h3>
				            <div class="get_item_supply">
								<label for="it_supply_1" class="label-title">β˜…ν•œ 벌 ν• μΈβ˜…</label>
								<span class="td_sit_sel">
									<select id="it_supply_1" class="it_supply">
										<option value="">β˜…ν•œ 벌 ν• μΈβ˜…</option>
										<%-- 
										<option value="μ‚μ—λ‘œ 25μ„ΈνŠΈ 이상 κ΅¬λ§€μ‹œ 1μ„ΈνŠΈ 할인,-19000,9998">μ‚μ—λ‘œ 25μ„ΈνŠΈ 이상 κ΅¬λ§€μ‹œ 1μ„ΈνŠΈ 할인&nbsp;&nbsp; -19,000원</option>
										--%>
									</select>
								</span>
							</div>
							<div class="get_item_supply">
								<label for="it_supply_2" class="label-title">인쇄</label>
								<span class="td_sit_sel">
									<select id="it_supply_2" class="it_supply">
										<option value="">인쇄</option>
										<%-- 
										<option value="κ°μžλ‹‰λ„€μž„_κ°€μŠ΄,2000,9999">κ°μžλ‹‰λ„€μž„_κ°€μŠ΄&nbsp;&nbsp;+ 2,000원</option>
										<option value="κ°μžλ‹‰λ„€μž„_λ“±νŒ,2000,9974">κ°μžλ‹‰λ„€μž„_λ“±νŒ&nbsp;&nbsp;+ 2,000원</option>
										<option value="κ°μžλ°±λ„˜λ²„,2000,9999">κ°μžλ°±λ„˜λ²„&nbsp;&nbsp;+ 2,000원</option>
										<option value="κ°μžλ°±λ„˜λ²„+λ‹‰λ„€μž„,4000,9999">κ°μžλ°±λ„˜λ²„+λ‹‰λ„€μž„&nbsp;&nbsp;+ 4,000원</option>
										<option value="곡톡인쇄_단색(30μž₯이상),1000,9999">곡톡인쇄_단색(30μž₯이상)&nbsp;&nbsp;+ 1,000원</option>
										<option value="곡톡인쇄_단색(20μž₯이상),1500,9999">곡톡인쇄_단색(20μž₯이상)&nbsp;&nbsp;+ 1,500원</option>
										<option value="곡톡인쇄_칼라(20μž₯이상),3000,9999">곡톡인쇄_칼라(20μž₯이상)&nbsp;&nbsp;+ 3,000원</option>
										--%>
									</select>
								</span>
							</div>
							<div class="get_item_supply">
								<label for="it_supply_3" class="label-title">λ§₯λ„λ‚ λ“œ 인쇄</label>
								<span class="td_sit_sel">
									<select id="it_supply_3" class="it_supply">
										<option value="">λ§₯λ„λ‚ λ“œ 인쇄</option>
										<%-- 
										<option value="λ§₯λ„λ‚ λ“œ 인쇄 μ™Όμͺ½κ°€μŠ΄,2000,9993">λ§₯λ„λ‚ λ“œ 인쇄 μ™Όμͺ½κ°€μŠ΄&nbsp;&nbsp;+ 2,000원</option>
										--%>
									</select>
								</span>
							</div>
				        </section>
				        <!-- } μΆ”κ°€μ˜΅μ…˜ 끝 -->
				        	
				        	    <!-- μ„ νƒλœ μ˜΅μ…˜ μ‹œμž‘ { -->
				        		<section id="sit_sel_option">
									<h3>μ„ νƒλœ μ˜΅μ…˜</h3>
				            	</section>
				            	
				            	
				            	<div id="productqty"  >
									<span style="font-weight: bold; font-size: 15px; float: left; color: red; vertical-align: middle;">μˆ˜λŸ‰</span>
									<button type="button" id="sub">&nbsp;&nbsp;-&nbsp;&nbsp;</button>
									<input id="Pquantity" name="Pquantity" type="number" class="qty" value="1" size="5">
									<button type="button" id="add">&nbsp;&nbsp;+&nbsp;&nbsp;</button>
								</div>
								
								<div id="producttotalprice" style="text-align: right;">
									<span style="font-weight: bold; font-size: 15px; float: left; color: red; vertical-align: middle;">μ΄κΈˆμ•‘</span><input type="hidden" id="totalPrice" name="totalPrice">
									<span class="totalPrice"></span>원
								</div>
								        		<!-- } μ„ νƒλœ μ˜΅μ…˜ 끝 -->
				
				       			<!-- 총 ꡬ맀앑
						        <div id="sit_tot_price"></div>	
						         --> 
								<div id="sit_ov_btn">
									<button type="submit" onclick="submitcheck1();" value=0 class="sit_btn_cart" >μž₯λ°”κ΅¬λ‹ˆ</button>
									<button type="submit" onclick="submitcheck2();" value=1 class="sit_btn_buy" >λ°”λ‘œκ΅¬λ§€</button>
									<a href="javascript:item_wish(document.fitem, 'BG420');" class="sit_btn_wish"><i class="fa fa-heart" aria-hidden="true" style="margin-top: 15px;"></i><span class="sound_only">μœ„μ‹œλ¦¬μŠ€νŠΈ</span></a>  	            			
								</div>
							</div>
						</div>
						<script>
						$(function (){
							$(".btn_cart_op").click(function(){
								$("#btn_option").show();
							});
							$("#btn_option .btn_close").click(function(){
								$("#btn_option").hide();
							});
						});
						</script>
						
			
				
				        <script>
				        // μƒν’ˆλ³΄κ΄€
				        function item_wish(f, it_id) {
				            f.url.value = "http://www.bant.co.kr/shop/wishupdate.php?it_id="+it_id;
				            f.action = "http://www.bant.co.kr/shop/wishupdate.php";
				            f.submit();
				        }
				
				        // μΆ”μ²œλ©”μΌ
				        function popup_item_recommend(it_id){
				            if(!g5_is_member) {
				                if(confirm("νšŒμ›λ§Œ μΆ”μ²œν•˜μ‹€ 수 μžˆμŠ΅λ‹ˆλ‹€."))
				                	document.location.href = "http://www.bant.co.kr/bbs/login.php?url=http%3A%2F%2Fwww.bant.co.kr%2Fshop%2Fitem.php%3Fit_id%3DBG420";
				            } else {
				                url = "./itemrecommend.php?it_id=" + it_id;
				                opt = "scrollbars=yes,width=616,height=420,top=10,left=10";
				                popup_window(url, "itemrecommend", opt);
				            }
				        }
				
				        // μž¬μž…κ³ SMS μ•Œλ¦Ό
				        function popup_stocksms(it_id) {
				            url = "http://www.bant.co.kr/shop/itemstocksms.php?it_id=" + it_id;
				            opt = "scrollbars=yes,width=616,height=420,top=10,left=10";
				            popup_window(url, "itemstocksms", opt);
				        }
				        </script>
				    </section>
				    <!-- } μƒν’ˆ μš”μ•½μ •λ³΄ 및 ꡬ맀 끝 -->
				</div>
				<!-- λ‹€λ₯Έ μƒν’ˆ 보기 μ‹œμž‘ { -->
			    <div id="sit_siblings">
				    <span class="sound_only">이 λΆ„λ₯˜μ— λ“±λ‘λœ λ‹€λ₯Έ μƒν’ˆμ΄ μ—†μŠ΅λ‹ˆλ‹€.</span>
				</div>   
			    <!-- } λ‹€λ₯Έ μƒν’ˆ 보기 끝 -->
			</form>
		</div>

		<script>
		
		
		
		
		
		
		$(function(){
		    // μƒν’ˆμ΄λ―Έμ§€ 첫번째 링크
		    $("#sit_pvi_big a:first").addClass("visible");
		
		    // μƒν’ˆμ΄λ―Έμ§€ 미리보기 (썸넀일에 마우슀 μ˜€λ²„μ‹œ)
		    $("#sit_pvi .img_thumb").bind("mouseover focus", function(){
		        var idx = $("#sit_pvi .img_thumb").index($(this));
		        $("#sit_pvi_big a.visible").removeClass("visible");
		        $("#sit_pvi_big a:eq("+idx+")").addClass("visible");
		    });
			
		    // μƒν’ˆμ΄λ―Έμ§€ 크게보기
		    $(".popup_item_image").click(function() {
		        var url = $(this).attr("href");
		        var top = 10;
		        var left = 10;
		        var opt = 'scrollbars=yes,top='+top+',left='+left;
		        popup_window(url, "largeimage", opt);
			
		        return false;
		    });
		});
		
		
		var qnty=1;
		var price=$("#it_price").val();
		$("#totalPrice").val(qnty*price);
		$(".totalPrice").text(qnty*price);

		$("#Pquantity").val(qnty);
		
		
		$("#add").click(function() {
			qnty++;
			$("#Pquantity").val(qnty);
			$("#totalPrice").val(qnty*price);
			$(".totalPrice").text(qnty*price);
		});

		$("#sub").click(function() {
			qnty--;
			$("#Pquantity").val(qnty);
			$("#totalPrice").val(qnty*price);
			$(".totalPrice").text(qnty*price);

		});
		
		
		function submitcheck1() {
		
		    // νŒλ§€κ°€κ²©μ΄ 0 보닀 μž‘λ‹€λ©΄
		    if (document.getElementById("it_price").value < 0) {
		        alert("μ „ν™”λ‘œ λ¬Έμ˜ν•΄ μ£Όμ‹œλ©΄ κ°μ‚¬ν•˜κ² μŠ΅λ‹ˆλ‹€.");
		        return false;
		    }
			
		    if($(".sit_opt_list").size() < 1) {
		        alert("μƒν’ˆμ˜ μ„ νƒμ˜΅μ…˜μ„ 선택해 μ£Όμ‹­μ‹œμ˜€.");
		        return false;
		    }
			
			
			if ($("#Pquantity").val() <100){
				alert("100개 이상 μ£Όλ¬Έ λΆ€νƒλ“œλ¦½λ‹ˆλ‹€.");
		        return false;	
			}
			
			$("#detailForm").attr("action","index.jsp?menugroup=cart&menu=cart_list_action");
			return true;
		}
		
		
		
		function submitcheck2() {
			
		    // νŒλ§€κ°€κ²©μ΄ 0 보닀 μž‘λ‹€λ©΄
		    if (document.getElementById("it_price").value < 0) {
		        alert("μ „ν™”λ‘œ λ¬Έμ˜ν•΄ μ£Όμ‹œλ©΄ κ°μ‚¬ν•˜κ² μŠ΅λ‹ˆλ‹€.");
		        return false;
		    }
			
		    if($(".sit_opt_list").size() < 1) {
		        alert("μƒν’ˆμ˜ μ„ νƒμ˜΅μ…˜μ„ 선택해 μ£Όμ‹­μ‹œμ˜€.");
		        return false;
		    }
			
			
			if ($("#Pquantity").val() <100){
				alert("100개 이상 μ£Όλ¬Έ λΆ€νƒλ“œλ¦½λ‹ˆλ‹€.");
		        return false;	
			}
			
		    $("#detailForm").attr("action","index.jsp?menugroup=payment&menu=paymentform");
			return true;
		}	

			
		
		
	
		    

		</script>
		<script src="http://www.bant.co.kr/js/shop.override.js"></script>
    
		<script src="http://www.bant.co.kr/js/viewimageresize.js"></script>

<!------------- κ΄€λ ¨μƒν’ˆ μ‚­μ œ-------------->

		<section id="sit_info">
			<div id="sit_tab" style="width: 100%">
				<ul class="tab_tit" style="width: 100%">
	      			<li style="position:relative; width:33%;" ><button type="button" rel="#sit_inf" class="selected">μƒν’ˆμ •λ³΄</button></li>
			        <li style="position:relative; width:33%;"><button type="button" rel="#sit_use">μ‚¬μš©ν›„κΈ° </button></li>
			        <%-- 
			        <li><button type="button" rel="#sit_qa">μƒν’ˆλ¬Έμ˜  <span class="item_qa_count">0</span></button></li>
			        --%>
			        <li style="position:relative; width:33%;"><button type="button" rel="#sit_dex">배솑/κ΅ν™˜</button></li>
				</ul>
				<ul class="tab_con">
		        <!-- μƒν’ˆ 정보 μ‹œμž‘ { -->
	        		<li id="sit_inf">
	            		<h2 class="contents_tit"><span>μƒν’ˆ 정보</span></h2>
						<h3>μƒν’ˆ 상세섀λͺ…</h3>
	            		<div id="sit_inf_explan">
	                		<p style="text-align:center;"><br/></p>
							<blockquote style="margin:0px 0px 30px;padding:5px 10px;border:1px solid rgb(222,223,223);background-color:#f7f7f7;">
	  							<p><b><span style="font-family:'맑은 κ³ λ”•', 'malgun gothic';font-size:14px;color:#ff0000;">γ€ŠνŒλ§€κ°€κ²©γ€‹</span></b></p>
	  							<p><span style="font-family:'맑은 κ³ λ”•', 'malgun gothic';font-size:14px;color:#434343;">λ°˜νŒ” ν‹°μ…”μΈ  </span><strong style="font-weight:bold;"><span style="font-family:'맑은 κ³ λ”•', 'malgun gothic';font-size:14px;color:#434343;">: 5,000원</span></strong><b></b></p>
								<p><font color="#434343" face="맑은 κ³ λ”•, malgun gothic"><span style="font-size:14px;"><b>κ΅¬μ„±ν’ˆ : μƒμ˜ ν•˜μ˜ μ„ΈνŠΈ μ†Œν’ˆ </b></span></font></p>
								<p><font color="#434343" face="맑은 κ³ λ”•, malgun gothic"><span style="font-size:14px;"><b>(μ‹ λ°œμ€ μ†Œν’ˆμž…λ‹ˆλ‹€.)</b></span></font></p>
								<p><br /></p>
								<p><b><span style="font-family:'맑은 κ³ λ”•', 'malgun gothic';font-size:14px;color:#ff0000;">γ€Šμ†Œν’ˆγ€‹</span></b></p>
								<p><b></b></p>
								<p><span style="font-family:'맑은 κ³ λ”•', 'malgun gothic';font-size:14px;color:#434343;">μ² μ‹¬μŠ€μΉ΄ν”„ <b>:  2</b></span><b><strong><span style="font-family:'맑은 κ³ λ”•', 'malgun gothic';font-size:14px;color:#434343;">,000원</span></strong></b></p>
								<p><b><span style="font-family:'맑은 κ³ λ”•', 'malgun gothic';font-size:14px;color:#ff0000;">γ€ŠμΈμ‡„γ€‹</span></b></p>
								<p><span style="font-family:'맑은 κ³ λ”•', 'malgun gothic';font-size:14px;color:#434343;">이름 인쇄 μ™Όμͺ½κ°€μŠ΄<b> : 2,000원 </b></span></p>
							</blockquote>
							<p style="text-align:center;"><br /></p>
							<p style="text-align:center;"><img src="<%=request.getContextPath()%>/images/<%=product.getP_mainimg()%>" alt="λ°˜ν‹°" /></p>
							<!-- μƒν’ˆν•˜λ‹¨μ„€λͺ… 이동 μΆ”κ°€ -->
							<p style="text-align:center;"><br /></p>
							<p style="text-align:center;"><img src="http://bants.cdn3.cafe24.com/dum2015.jpg" alt="λ°˜ν‹° μ‚¬μ€ν’ˆ" /></p>
						</div>
					</li>
	        		<!-- μ‚¬μš©ν›„κΈ° μ‹œμž‘ { -->
	        		<li id="sit_use">
	            		<h2>μ‚¬μš©ν›„κΈ°</h2>
	            		<div id="itemuse">
							<script src="http://www.bant.co.kr/js/viewimageresize.js"></script>
							<!-- μƒν’ˆ μ‚¬μš©ν›„κΈ° μ‹œμž‘ { -->
							<section id="sit_use_list">
    							<h3>λ“±λ‘λœ μ‚¬μš©ν›„κΈ°</h3>
    							<div class="sit_use_top">
               						<div id="sit_use_wbtn">
            							<a href="http://www.bant.co.kr/shop/itemuseform.php?it_id=BG420" class="btn02 itemuse_form">μ‚¬μš©ν›„κΈ° μ“°κΈ°<span class="sound_only"> μƒˆ μ°½</span></a>
            							<a href="<%=request.getContextPath()%>/index.jsp?menugroup=review&menu=review_list" class="btn01 itemuse_list">더보기</a>
        							</div>
    							</div>  
    							<div>
    								<jsp:include page="/review/review_list.jsp"/> 
    							</div>
    						</section>
							<script>
							$(function(){
							    $(".itemuse_form").click(function(){
							        window.open(this.href, "itemuse_form", "width=810,height=680,scrollbars=1");
							        return false;
							    });
							
							    $(".itemuse_delete").click(function(){
							        if (confirm("정말 μ‚­μ œ ν•˜μ‹œκ² μŠ΅λ‹ˆκΉŒ?\n\nμ‚­μ œν›„μ—λŠ” 되돌릴수 μ—†μŠ΅λ‹ˆλ‹€.")) {
							            return true;
							        } else {
							            return false;
							        }
							    });
							
							    $(".sit_use_li_title").click(function(){
							        var $con = $(this).siblings(".sit_use_con");
							        if($con.is(":visible")) {
							            $con.slideUp();
							        } else {
							            $(".sit_use_con:visible").hide();
							            $con.slideDown(
							                function() {
							                    // 이미지 λ¦¬μ‚¬μ΄μ¦ˆ
							                    $con.viewimageresize2();
							                }
							            );
							        }
							    });
							
							    $(".pg_page").click(function(){
							        $("#itemuse").load($(this).attr("href"));
							        return false;
							    });
							});
							</script>
							<!-- } μƒν’ˆ μ‚¬μš©ν›„κΈ° 끝 -->
						</div>
	        		</li>
	        		<!-- } μ‚¬μš©ν›„κΈ° 끝 -->
			<%--  
	        		<!-- μƒν’ˆλ¬Έμ˜ μ‹œμž‘ { -->
	        		<li id="sit_qa">
	            		<h2>μƒν’ˆλ¬Έμ˜</h2>
	            			<div id="itemqa">
								<script src="http://www.bant.co.kr/js/viewimageresize.js"></script>
								<!-- μƒν’ˆλ¬Έμ˜ λͺ©λ‘ μ‹œμž‘ { -->
								<section id="sit_qa_list">
    								<h3>λ“±λ‘λœ μƒν’ˆλ¬Έμ˜</h3>
    								<div class="sit_qa_top">
									    <div id="sit_qa_wbtn">
									   	 	<%-- 
									        <a href="http://www.bant.co.kr/shop/itemqaform.php?it_id=BG420" class="btn02 itemqa_form">μƒν’ˆλ¬Έμ˜ μ“°κΈ°<span class="sound_only">μƒˆ μ°½</span></a>
									        <a href="http://www.bant.co.kr/shop/itemqalist.php" id="itemqa_list" class="btn01">더보기</a>
									        --%>
			<%-- 						        
									        <a href="https://www.daum.net/" class="btn02 itemqa_form">μƒν’ˆλ¬Έμ˜ μ“°κΈ°<span class="sound_only">μƒˆ μ°½</span></a>
									        <a href="index.jsp?menugroup=board&menu=board_list" id="itemqa_list" class="btn01">더보기</a>   
									    </div>
									</div>
    								<p class="sit_empty">μƒν’ˆλ¬Έμ˜κ°€ μ—†μŠ΅λ‹ˆλ‹€.</p>
    							</section>

								<script>
								$(function(){
								    $(".itemqa_form").click(function(){
								        window.open(this.href, "itemqa_form", "width=810,height=680,scrollbars=1");
								        return false;
								    });
								
								    $(".itemqa_delete").click(function(){
								        return confirm("정말 μ‚­μ œ ν•˜μ‹œκ² μŠ΅λ‹ˆκΉŒ?\n\nμ‚­μ œν›„μ—λŠ” 되돌릴수 μ—†μŠ΅λ‹ˆλ‹€.");
								    });
								
								    $(".sit_qa_li_title").click(function(){
								        var $con = $(this).siblings(".sit_qa_con");
								        if($con.is(":visible")) {
								            $con.slideUp();
								        } else {
								            $(".sit_qa_con:visible").hide();
								            $con.slideDown(
								                function() {
								                    // 이미지 λ¦¬μ‚¬μ΄μ¦ˆ
								                    $con.viewimageresize2();
								                }
								            );
								        }
								    });
								
								    $(".qa_page").click(function(){
								        $("#itemqa").load($(this).attr("href"));
								        return false;
								    });
								});
								</script>
								<!-- } μƒν’ˆλ¬Έμ˜ λͺ©λ‘ 끝 -->
							</div>
	       				</li>
	        			<!-- } μƒν’ˆλ¬Έμ˜ 끝 -->
	        --%>
				        <!-- 배솑/κ΅ν™˜ μ‹œμž‘ { -->
				        <li id="sit_dex">
				            <h2>배솑/κ΅ν™˜μ •λ³΄</h2>
				            
							<!-- 배솑 μ‹œμž‘ { -->
				            <div id="sit_dvr">
								<h3>배솑</h3>
								<p><b>택배사</b> : λ‘œμ  νƒλ°°</p>
								<p><b>택배비</b> : <b><span style="color:#ff0000;">3,000원</span></b>(<span style="color:#0000ff;"><b>10λ§Œμ›</b></span> 이상 κ΅¬λ§€μ‹œ λ¬΄λ£Œλ°°μ†‘)<span style="color:#4c9900;">(μžμΌ“μ’…λ₯˜ λ¬΄λ£Œλ°°μ†‘ μ œμ™Έ,μΌλΆ€μƒν’ˆ μ œμ™Έ)</span></p>
								<p><b>배솑기간</b> :2일~4일(μ£Όλ¬Έ μ œμž‘ μƒν’ˆμ€ 2~5일) 제주 산간지역은 배솑이 지연될 수 μžˆμŠ΅λ‹ˆλ‹€.(ν† ,일 곡휴일 μ œμ™Έ)</p>
								<p><span style="font-size:9.5pt;font-family:'malgun gothic';background-color:#ffffff;vertical-align:baseline;white-space:pre-wrap;color:#ff0000;">μ£Όλ¬Έμ‹œ ν–‰μ‚¬λ‚ μ§œμ™€ λŠ¦μ–΄λ„ μ–Έμ œκΉŒμ§€ 배솑해야 ν•˜λŠ”μ§€ μ μ–΄μ£Όμ‹œλ©΄ 배솑 μš”μ²­μΌμ— μ΅œλŒ€ν•œ λ§žμΆ”κ² μŠ΅λ‹ˆλ‹€. </span></p>
								<p><span style="font-size:9.5pt;font-family:'malgun gothic';background-color:#ffffff;vertical-align:baseline;white-space:pre-wrap;color:#ff0000;">κ·ΈλŸ¬λ‚˜ 배솑지연,배솑사고 λ“±μœΌλ‘œ μ±…μž„μ„ μ§€μ§€λŠ” μ•ŠμŠ΅λ‹ˆλ‹€.</span></p>
								<p><b>배솑 μ•ˆλ‚΄ </b></p>
								<p>- μ‚°κ°„λ²½μ§€λ‚˜ λ„μ„œμ§€λ°©μ€ λ³„λ„μ˜ μΆ”κ°€κΈˆμ•‘μ„ μ§€λΆˆν•˜μ…”μ•Ό ν•˜λŠ” κ²½μš°κ°€ μžˆμŠ΅λ‹ˆλ‹€.</p>
								<p>- λ‹¨μ²΄μƒν’ˆμΌ 경우 퀡배솑, κ³ μ†λ²„μŠ€ 배솑은 λ°°μ†‘λΉ„μš©μ„ μ§€λΆˆν•˜μ‹œλ©΄ κ°€λŠ₯ν•©λ‹ˆλ‹€.</p>
								<p>- κΈ‰ν•˜μ‹  μƒν’ˆμ€ 상담전화 μ£Όμ„Έμš”.</p>
				            </div>
				            <!-- } 배솑 끝 -->
				            	
							<!-- κ΅ν™˜ μ‹œμž‘ { -->
				            <div id="sit_ex" >
				                <h3>κ΅ν™˜</h3>
				                <p><b><span style="color:#ff0000;"><span style="font-size:18px;">μ˜€λ°°μ†‘/λˆ„λ½λ°°μ†‘ μ•ˆλ‚΄</span></span></b></p>
								<p><font color="#ff0000"><span style="color:#0080ff;font-size:14px;"><b>λ°˜ν‹° μƒν’ˆμ„ λ°›μœΌμ‹œλ©΄ μ‚¬μ΄μ¦ˆ,μ΄μˆ˜λŸ‰μ΄ λ§žλŠ”μ§€ ν™•μΈν•˜μ‹œκ³  λ‚˜λˆ„μ–΄ μ£Όμ„Έμš”.</b></span></font></p>
								<p><b><span style="color:#0080ff;font-size:14px;">λ‚˜λˆ„μ–΄ μ£Όμ‹œκ³  μ‚¬μ΄μ¦ˆ 였λ₯˜ λ˜λŠ” λˆ„λ½ 배솑에 λŒ€ν•΄ 말씀 ν•˜μ‹œλ©΄ μ²˜λ¦¬κ°€ μ–΄λ ΅μŠ΅λ‹ˆλ‹€.</span></b></p>
								<p><b><span style="color:#0080ff;font-size:14px;">λͺ¨λ“  μƒν’ˆ 포μž₯은 <span style="color:#ff0000;">CCTV</span> μ΄¬μ˜μ„ ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€.</span></b></p>
								<p><br /></p>
								<p><b><span style="font-size:14px;color:#00994c;">κ΅ν™˜ 및 λ°˜ν’ˆμ΄ λΆˆκ°€λŠ₯ν•œ 경우</span></b></p>
								<p>- λ°˜ν‹° μƒν’ˆμ€ λŒ€λΆ€λΆ„ 순차적 주문생산 μƒν’ˆμœΌλ‘œ<b><span style="color:#ff0000;"><span style="font-size:18px;">κ΅ν™˜/λ°˜ν’ˆμ΄ λΆˆκ°€λŠ₯ν•©λ‹ˆλ‹€</span>. </span></b>(λ‹¨μ²΄λ‘œ μ£Όλ¬Έν•˜μ…¨μ„ 경우 일 λΆ€ μ‚¬μ΄μ¦ˆ κ΅ν™˜μ€ κ°€λŠ₯ν•©λ‹ˆλ‹€.)</p>
								<p>- 일뢀 λ°˜ν’ˆ <b><span style="color:#ff0000;font-size:16px;">20% 차감</span></b> 되고 λ°˜ν’ˆμ΄ κ°€λŠ₯ν•©λ‹ˆλ‹€.</p>
								<p>- 인쇄/μ œμž‘ μƒν’ˆμ€ κ΅ν™˜ λ°˜ν’ˆμ΄ λΆˆκ°€λŠ₯ν•©λ‹ˆλ‹€.(단. 치λͺ…적인 ν•˜μžκ°€ λ°œμƒν•œ 경우 λ°˜ν’ˆμ΄ κ°€λŠ₯)</p>
								<p>- 포μž₯을 κ°œλ΄‰ν•˜μ˜€κ±°λ‚˜ 포μž₯이 ν›Όμ†λ˜μ–΄ μƒν’ˆκ°€μΉ˜κ°€ μƒμ‹€λœ 경우</p>
								<p>- μ‹œκ°„μ˜ 경과에 μ˜ν•˜μ—¬ μž¬νŒλ§€κ°€ ν•  μ •λ„λ‘œ μƒν’ˆλ“±μ˜ κ°€μΉ˜κ°€ ν˜„μ €νžˆ κ°μ†Œν•œ 경우</p>
								<p>- κ³ κ°λ‹˜μ˜ μ±…μž„ μžˆλŠ” μ‚¬μœ λ‘œ μƒν’ˆλ“±μ΄ λ©Έμ‹€ λ˜λŠ” ν›Όμ†λœ 경우. 단, μƒν’ˆμ˜ λ‚΄μš©μ„ ν™•μΈν•˜κΈ° μœ„ν•˜μ—¬ 포μž₯ 등을 ν›Όμ†ν•œ κ²½μš°λŠ” μ œμ™Έ<br /></p>
								<p><span style="font-size:14px;"><b> </b></span></p>
								<p><span style="font-size:14px;"><b><span style="color:#4c9900;">κ΅ν™˜ 및 λ°˜ν’ˆμ΄ κ°€λŠ₯ν•œ 경우</span></b></span></p>
								<p>- κ³΅κΈ‰λ°›μœΌμ‹  μƒν’ˆμ΄ κ΄‘κ³  λ‚΄μš©κ³Ό λ‹€λ₯΄κ±°λ‚˜ λ‹€λ₯΄κ²Œ μ΄ν–‰λœ 경우 7일 이내에 κ°€λŠ₯ν•©λ‹ˆλ‹€.</p>
								<p>- μƒν’ˆμ— 치λͺ…적 ν•˜μžλ‘œ 7일 이내 κ°€λŠ₯ν•©λ‹ˆλ‹€.</p>
				            </div>
				            <!-- } κ΅ν™˜ 끝 -->           
				        </li>
				        <!-- } 배솑/κ΅ν™˜  끝 -->
				    </ul>
				</div>
				<script>
				$(function (){
				    $(".tab_con>li").hide();
				    $(".tab_con>li:first").show();   
				    $(".tab_tit li button").click(function(){
				        $(".tab_tit li button").removeClass("selected");
				        $(this).addClass("selected");
				        $(".tab_con>li").hide();
				        $($(this).attr("rel")).show();
				    });
				});
				</script>
			</section>
			<%-- 
			<!-- κ΄€λ ¨μƒν’ˆ μ‹œμž‘ { -->
			<section id="sit_rel">
    			<h2>κ΄€λ ¨μƒν’ˆ</h2>

				<!-- κ΄€λ ¨μƒν’ˆ 10 μ‹œμž‘ { -->
				<div class="owl-carousel owl-carousel_rel" >
					<p class="sct_noitem">λ“±λ‘λœ μƒν’ˆμ΄ μ—†μŠ΅λ‹ˆλ‹€.</p>
				<!-- } κ΄€λ ¨μƒν’ˆ 10 끝 -->
				</div>

				<script>
				$(document).ready(function(){						
							
					var owl_rolling_rel = $('.owl-carousel_rel').owlCarousel({
						items:5,
						loop:false,
						margin:34,
						nav:true,			
						autoplay:true,
				        autoplayHoverPause:true,
						autoplayTimeout:5000,   // 5000은 5초	
						responsive:{
							0:{
								items:2,
								margin:15,
								loop:false,
							},
							600:{
								items:3,
								margin:15,
								loop:false,
									
							},
							1000:{
								items:4,
								loop:false,
							},
							1200:{
								items:5,
								loop:false,
							}
						}
					});
		
					function init_pg(event){	
						var tg = $('.rolling_box ').find('.owl-item.active').find('.item').attr('data-hash');	
						$('.rollin_nav_btn').removeClass('active');
						$("."+tg).addClass('active');
					}
					init_pg();
	
				});
				</script>
			</section>
			<!-- } κ΄€λ ¨μƒν’ˆ 끝 -->
			--%>
			<script>
			jQuery(function($) {
				var change_name = "ct_copy_qty";
			
				$(document).on("select_it_option_change","select.it_option",function(e, $othis) {
					var value = $othis.val(), change_id = $othis.attr("id").replace("it_option_","it_side_option_");
			
					if ($("#" + change_id).length) {
						$("#" + change_id).val(value).attr("selected","selected");
					}
				});
			
				$(document).on("select_it_option_post","select.it_option",function(e, $othis, idx, sel_count,data) {
					var value = $othis.val(), change_id = $othis.attr("id").replace("it_option_","it_side_option_");
			
					$("select.it_side_option").eq(idx + 1).empty().html(data).attr("disabled", false);
			
					// select의 μ˜΅μ…˜μ΄ 변경됐을 경우 ν•˜μœ„ μ˜΅μ…˜ disabled
					if ((idx + 1) < sel_count) {
						$("select.it_side_option:gt("+ (idx + 1)+ ")").val("").attr("disabled", true);
					}
				});
			
				$(document).on("add_sit_sel_option","#sit_sel_option",function(e, opt) {
			
					opt = opt.replace('name="ct_qty[', 'name="'+ change_name + '[');
			
					var $opt = $(opt);
					$opt.removeClass("sit_opt_list");
					$("input[type=hidden]", $opt).remove();
			
					$(".sit_sel_option .sit_opt_added").append($opt);
			
				});
			
				$(document).on("price_calculate","#sit_tot_price",function(e, total) {
					$(".sum_section .sit_tot_price").empty().html("<span>총 κΈˆμ•‘ </span><strong>"+ number_format(String(total))+ "</strong> 원");
				});
			
				$(".sit_side_option").on("change","select.it_side_option",function(e) {
					var idx = $("select.it_side_option").index($(this)), value = $(this).val();
			
					if (value) {
						if (typeof (option_add) != "undefined") {
							option_add = true;
						}
			
						$("select.it_option").eq(idx).val(value).attr("selected","selected").trigger("change");
					}
				});
			
				$(".sit_side_option").on("change","select.it_side_supply",function(e) {
					var value = $(this).val();
			
					if (value) {
						if (typeof (supply_add) != "undefined") {
							supply_add = true;
						}
			
						$("select.it_supply").val(value).attr("selected","selected").trigger("change");
					}
				});
			
				$(".sit_opt_added").on("click","button",function(e) {
					e.preventDefault();
			
					var $this = $(this), mode = $this.text(), $sit_sel_el = $("#sit_sel_option"), li_parent_index = $this.closest('li').index();
			
					if (!$sit_sel_el.length) {
						alert("el μ—λŸ¬");
						return false;
					}
			
					switch (mode) {
						case "증가":
						$sit_sel_el.find("li").eq(li_parent_index).find(".sit_qty_plus").trigger("click");
						break;
						case "κ°μ†Œ":
						$sit_sel_el.find("li").eq(li_parent_index).find(".sit_qty_minus").trigger("click");
						break;
						case "μ‚­μ œ":
						$sit_sel_el.find("li").eq(li_parent_index).find(".sit_opt_del").trigger("click");
						break;
					}
				});
			
				$(document).on("sit_sel_option_success","#sit_sel_option li button",function(e, $othis, mode, this_qty) {
					var ori_index = $othis.closest('li').index();
			
					switch (mode) {
					case "증가":
					case "κ°μ†Œ":
						$(".sit_opt_added li").eq(ori_index).find("input[name^=ct_copy_qty]").val(this_qty);
						break;
						case "μ‚­μ œ":$(".sit_opt_added li").eq(ori_index).remove();
						break;
					}
				});
			
				$(document).on("change_option_qty","input[name^=ct_qty]",function(e, $othis, val, force_val) {
					var $this = $(this), ori_index = $othis.closest('li').index(), this_val = force_val ? force_val: val;
			
					$(".sit_opt_added").find("li").eq(ori_index).find("input[name^="+ change_name+ "]").val(this_val);
				});
			
				$(".sit_opt_added").on("keyup paste","input[name^=" + change_name + "]",function(e) {
					var $this = $(this), val = $this.val(), this_index = $("input[name^="+ change_name + "]").index(this);
			
					$("input[name^=ct_qty]").eq(this_index).val(val).trigger("keyup");
				});
			
				$(".sit_order_btn").on("click","button",function(e) {
					e.preventDefault();
			
					var $this = $(this);
			
					if ($this.hasClass("sit_btn_cart")) {
						$("#sit_ov_btn .sit_btn_cart").trigger("click");
					} else if ($this.hasClass("sit_btn_buy")) {
						$("#sit_ov_btn .sit_btn_buy").trigger("click");
					}
				});
			});
			</script>
		</div>  <!-- } .shop-content 끝 -->
	</div>  <!-- } #container 끝 -->
</div> <!-- } #wrapper 전체 μ½˜ν…μΈ  끝 -->
</body>
</html>






πŸ“• DTO (pay)


package xyz.itwill.dto;
/*
이름          널?       μœ ν˜•           
----------- -------- ------------ 
PAY_PAYNUM  NOT NULL NUMBER(10)   
PAY_ONUM    NOT NULL NUMBER(10)   
PAY_HEWONID NOT NULL VARCHAR2(20) 
PAY_TOTAL   NOT NULL NUMBER(10)   
PAY_METHOD  NOT NULL NUMBER(1)   
*/

public class PaymentDTO {
	private int pay_paynum;
	private int pay_onum;
	private String pay_hewonid;
	private int pay_total;
	private int pay_method;
	
	public PaymentDTO() {
		// TODO Auto-generated constructor stub
	}

	public int getPay_paynum() {
		return pay_paynum;
	}

	public void setPay_paynum(int pay_paynum) {
		this.pay_paynum = pay_paynum;
	}

	public int getPay_onum() {
		return pay_onum;
	}

	public void setPay_onum(int pay_onum) {
		this.pay_onum = pay_onum;
	}

	public String getPay_hewonid() {
		return pay_hewonid;
	}

	public void setPay_hewonid(String pay_hewonid) {
		this.pay_hewonid = pay_hewonid;
	}

	public int getPay_total() {
		return pay_total;
	}

	public void setPay_total(int pay_total) {
		this.pay_total = pay_total;
	}

	public int getPay_method() {
		return pay_method;
	}

	public void setPay_method(int pay_method) {
		this.pay_method = pay_method;
	}
	
}









πŸ“™ DAO (pay)


package xyz.itwill.dao;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

import xyz.itwill.dto.PaymentDTO;

public class PaymentDAO extends JdbcDAO {
	
	private static PaymentDAO _dao;
	
	public PaymentDAO() {
		// TODO Auto-generated constructor stub
	}
	
	static {
		_dao=new PaymentDAO();
	}

	public static PaymentDAO getDAO() {
		return _dao;
	}
	
	//μ£Όλ¬Έ 정보λ₯Ό 전달받아 orders table에 μ‚½μž…ν•˜κ³  μ‚½μž…ν–‰μ˜ 갯수λ₯Ό λ°˜ν™˜ν•˜λŠ” λ©”μ†Œλ“œ
	public int insertPayment(PaymentDTO payment) {
		Connection con=null;
		PreparedStatement pstmt=null;
		int rows=0;
		try {
			con=getConnection();
			
			String sql="insert into payment values(?,?,?,?,?)";
			pstmt=con.prepareStatement(sql);
			pstmt.setInt(1, payment.getPay_paynum());
			pstmt.setInt(2, payment.getPay_onum());
			pstmt.setString(3, payment.getPay_hewonid());
			pstmt.setInt(4, payment.getPay_total());
			pstmt.setInt(5, payment.getPay_method());
			
			rows=pstmt.executeUpdate();
		} catch (SQLException e) {
			System.out.println("[μ—λŸ¬]insertPayment() λ©”μ†Œλ“œμ˜ SQL 였λ₯˜ = "+e.getMessage());
		} finally {
			close(con, pstmt);
		}
		return rows;
	}
	
	
	
	//μ£Όλ¬Έλ²ˆν˜Έμ™€ 결제번호 λ’·μžλ¦¬μ˜ 일련번호λ₯Ό λ°˜ν™˜ν•˜λŠ” λ©”μ†Œλ“œ (payment_seqμ‹œν€€μŠ€ 이용)
	public int paymentnextNum() {
		Connection con=null;
		PreparedStatement pstmt=null;
		ResultSet rs=null;
		int nextNum=0;
		try {
			con=getConnection();
			
			String sql="select payment_seq.nextval from dual";
			pstmt=con.prepareStatement(sql);
			
			rs=pstmt.executeQuery();
			
			if(rs.next()) {
				nextNum=rs.getInt(1);
			}
			
		} catch (SQLException e) {
			System.out.println("[μ—λŸ¬]paymentnextNum() λ©”μ†Œλ“œμ˜ SQL 였λ₯˜ = "+e.getMessage());
		} finally {
			close(con, pstmt);
		}
		return nextNum;
	}
	
	
}






πŸ“’ μƒν’ˆνŽ˜μ΄μ§€μ—μ„œ κ΅¬λ§€νŽ˜μ΄μ§€ form


<%@page import="java.text.DecimalFormat"%>
<%@page import="xyz.itwill.dao.ProductDAO"%>
<%@page import="xyz.itwill.dto.ProductDTO"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<%@include file="/security/login_url.jspf" %>
<%
	
	if(request.getMethod().equals("GET")) {
	out.println("<script type='text/javascript'>");
	out.println("location.href='"+request.getContextPath()+"/index.jsp?menugroup=error&menu=error_400';");
	out.println("</script>");
	return;
	}	

	String o_pnum=request.getParameter("p_pnum");
	String o_quantity=request.getParameter("Pquantity");
	
	ProductDTO product=ProductDAO.getDAO().selectProduct(Integer.parseInt(o_pnum) );
%> 
<style type="text/css">
#totalpayfrom {
	text-align: center;
}
#paymentform {
	display: inline-block;
	width: 70%
}
.error {
	color: red;
	position: relative;
	display: none;
}
#paymentform h2 {
    padding: 20px;
    border-bottom: 1px solid #ececec;
    background-color: #f7f7f7;
    margin: 0 0 10px;
    font-size: 1.25em;
}
h2 {
    margin: 0 ;
    padding: 0;
    font-size: 20px;
    color: #333;
    line-height: 1.6em;
    font-family: 'Noto Sans KR', sans-serif;
    font-weight: bold;
    letter-spacing: -0.02em;
}
#paymentform ul {
    padding: 20px;
}
ul {
    margin: 0;
    padding: 0;
    font-size: 13px;
    color: #333;
    line-height: 1.6em;
    font-family: 'Noto Sans KR', sans-serif;
    font-weight: 400;
    letter-spacing: -0.02em;
    list-style: none;
}
li label {
	display: block;
    margin-bottom: 10px;
    line-height: 24px;
	margin-right: 20px;
}
section {
	align-content: center;
	text-align: left;
	margin: 10px auto;
}
div {
	align-content: center;
    margin: 10px;
    padding: 0;
    font-size: 13px;
    color: #333;
    line-height: 1.6em;
    font-family: 'Noto Sans KR', sans-serif;
    font-weight: 400;
    letter-spacing: -0.02em;
    display: block;
}
#wrapper_title {
    margin: 0px 0;
    font-size: 1.7em;
    font-weight: bold;
}
#sod_frm_paysel {
	text-align: center;
	margin: 10px auto;
}
.tbl_head03 td {
    background: #fff;
    background-clip: padding-box;
    padding: 25px 15px;
    border-top: 1px solid #ccd2d9;
    border-left: 1px solid #f6f6f6;
    line-height: 1.5em;
    word-break: break-all;
}

.td_chk {
    width: 30px;
    text-align: center;
}
td {
    margin: 0;
    padding: 0;
    font-size: 13px;
    font-family: 'Noto Sans KR', sans-serif;
    font-weight: 400;
    letter-spacing: -0.02em;
}
.tbl_wrap table {
    width: 100%;
    border-collapse: collapse;
    border-spacing: 0;
}

table {
    text-indent: initial;
}
@media (max-width: 480px)
#sod_bsk #sod_bsk_tot li {
    width: 50%;
    padding: 10px;
    text-align: right;
    height: auto;
}
@media (max-width: 768px)
#sod_bsk #sod_bsk_tot li[class~=sod_bsk_dvr] {
    background: #fff !important;
    color: #000;
}
.sod_img img {
	float: left;
}


</style>




<!-- .shop-content μ‹œμž‘ { -->
<div id="totalpayfrom" style="clear:both;">
<form name="paymentform" id="paymentform" method="post" action="<%=request.getContextPath()%>/index.jsp?menugroup=payment&menu=payment_action">
<div class="shop-content" id="paymentform">
<div id="wrapper_title">μ£Όλ¬Έμ„œ μž‘μ„±</div>

		<div class="tbl_head03 tbl_wrap">
			<table>
				<thead>
					<tr>
						<th scope="col" style="width: 400px;">μƒν’ˆλͺ…</th>	
						<th scope="col">μ΄μˆ˜λŸ‰</th>	
						<th scope="col">νŒλ§€κ°€</th>	
						<th scope="col">배솑비</th>	
						<th scope="col">μ†Œκ³„</th>
					</tr>
				</thead>
				<tbody>
					<tr >		
						<td class="td_prd">
						
							<div class="sod_img">
								<a href="">
									<img src="<%=request.getContextPath()%>/product_image/<%=product.getP_mainimg()%>" width="100" height="100" alt="title">
								</a>
							</div>
							
	
							<div class="sod_name" style="text-align: left;">
								<input type="hidden" name="it_id[0]" value="BG420">
								<input type="hidden" name="it_name[0]" value="BG420">
								<input type="hidden" name="p_pnum" value="<%=product.getP_pnum() %>">
									<a href="" class="prd_name">
										<b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<%=product.getP_name() %></b>
									</a>
								<div class="sod_opt">
									<ul>
										<li>μ œν’ˆλ²ˆν˜Έ : <%=product.getP_pnum() %></li>
										<li>μ‚¬μ΄μ¦ˆFREE</li>
									</ul>
								</div>
								<div class="sod_option_btn">
								</div>
							</div>		
						</td>	
						<td class="td_num"><input type="hidden" name="pay_quantity" value="<%=o_quantity %>"><%=o_quantity %></td>	
						<td class="td_numbig"><%=DecimalFormat.getCurrencyInstance().format(product.getP_price())%></td>	
						<td class="td_dvr">λ¬΄λ£Œλ°°μ†‘</td>
						<%String total=DecimalFormat.getCurrencyInstance().format(Integer.parseInt(o_quantity)*product.getP_price()); %>
						<td class="td_numbig text_right"><span id="smalltotal" class="total_prc"><input type="hidden" name="pay_total" value="<%=Integer.parseInt(o_quantity)*product.getP_price() %>"><%=total %></span></td>
					</tr>
				</tbody>		
			</table>
		</div>	


	<section id="sod_frm_orderer">
    	<h2>μ£Όλ¬Έν•˜μ‹œλŠ” λΆ„</h2>
        <div class="tbl_frm01 tbl_wrap">
        	<ul>
                <li>
                	<label for="name">이름</label>
                	<input type="text" name="od_name" value=<%=loginHewon.getH_name()%> id="od_name" class="frm_input">
                	<div id="nameMsg" class="error">이름을 μž…λ ₯ν•΄ μ£Όμ„Έμš”.</div>
                </li>
                <li>
                	<label for="hp">ν•Έλ“œν°</label>
                	<input type="text" name="od_hp" value=<%=loginHewon.getH_phone() %> id="od_hp" class="frm_input">
                	<div id="phoneMsg" class="error">ν•Έλ“œν° 번호λ₯Ό μž…λ ₯ν•΄ μ£Όμ„Έμš”.</div>
                	<br>
                </li>
                <li>우편번호
                    <button type="button" id="postSearch" class="btn_address" >우편번호 검색</button>
                    <input type="text" name="od_zip" value=<%=loginHewon.getH_zipcode() %> id="od_zip" class="frm_input" size="8" readonly="readonly">
                	<div id="zipMsg" class="error">우편번호λ₯Ό μž…λ ₯ν•΄ μ£Όμ„Έμš”.</div>
                    <br>
                </li>
                <li>
                	<label for="addr1">κΈ°λ³Έμ£Όμ†Œ</label>
                    <input type="text" name="od_addr1" value=<%=loginHewon.getH_address1() %> id="od_addr1" class="frm_input frm_address required" size="60" >
                	<div id="addr1Msg" class="error">κΈ°λ³Έμ£Όμ†Œλ₯Ό μž…λ ₯ν•΄ μ£Όμ„Έμš”.</div>
                </li>
                <li>
                	<label for="addr2">μƒμ„Έμ£Όμ†Œ</label>
                    <input type="text" name="od_addr2" value=<%=loginHewon.getH_address2() %> id="od_addr2" class="frm_input frm_address" size="60" placeholder="μƒμ„Έμ£Όμ†Œ">
                	<div id="addr2Msg" class="error">μƒμ„Έμ£Όμ†Œλ₯Ό μž…λ ₯ν•΄ μ£Όμ„Έμš”.</div>
                    <br>
                </li>
                <li>
                	<label for="email">E-mail</label>
                	<input type="text" name="od_email" value=<%=loginHewon.getH_email() %> id="od_email" class="frm_input" size="35" >
                	<div id="emailMsg" class="error">이메일 μ£Όμ†Œλ₯Ό μž…λ ₯ν•΄ μ£Όμ„Έμš”.</div>
                </li>
         	</ul>
      	</div>
	</section>
<!-- } μ£Όλ¬Έν•˜μ‹œλŠ” λΆ„ μž…λ ₯ 끝 -->




<!-- λ°›μœΌμ‹œλŠ” λΆ„ μž…λ ₯ μ‹œμž‘ { -->
    <section id="sod_frm_taker">
    <h2>λ°›μœΌμ‹œλŠ” λΆ„</h2>
    	<div class="tbl_frm01 tbl_wrap">
        	<ul>
               	<li>배솑지선택
					<div class="order_choice_place">
                       	<input type="radio" name="ad_sel_addr" value="same" id="ad_sel_addr_same" checked="checked">
						<label for="ad_sel_addr_same">μ£Όλ¬Έμžμ™€ 동일</label>&nbsp;&nbsp;&nbsp;&nbsp;
						<input type="radio" name="ad_sel_addr" value="new" id="od_sel_addr_new">
						<label for="od_sel_addr_new">μ‹ κ·œλ°°μ†‘μ§€</label>
					</div>
                </li>
                
                
                <li><label for="od_b_name">이름</label>
                	<input type="text" name="od_b_name" id="od_b_name" class="frm_input required" value=<%=loginHewon.getH_name() %>>
                	<div id="nameMsg2" class="error">이름을 μž…λ ₯ν•΄ μ£Όμ„Έμš”.</div>
                </li>
                <li><label for="od_b_hp">ν•Έλ“œν°</label>
                	<input type="text" name="od_b_hp" id="od_b_hp" class="frm_input required" value=<%=loginHewon.getH_phone() %>>
                	<div id="phoneMsg2" class="error">ν•Έλ“œν° 번호λ₯Ό μž…λ ₯ν•΄ μ£Όμ„Έμš”.</div>
                </li>
                <li>우편번호
                    <button type="button" id="postSearch2" class="btn_address" >우편번호 검색</button>
                    <input type="text" name="od_zip2" value=<%=loginHewon.getH_zipcode() %> id="od_zip2"  class="frm_input required" maxlength="6">
                	<div id="zipMsg2" class="error">우편번호λ₯Ό μž…λ ₯ν•΄ μ£Όμ„Έμš”.</div>
                    <br>
                </li>
                <li>κΈ°λ³Έμ£Όμ†Œ
                    <input type="text" name="od_addr12" value=<%=loginHewon.getH_address1() %> id="od_addr12"  class="frm_input required">
                	<div id="addr1Msg2" class="error">κΈ°λ³Έμ£Όμ†Œλ₯Ό μž…λ ₯ν•΄ μ£Όμ„Έμš”.</div>
                </li>
                <li>μƒμ„Έμ£Όμ†Œ
                    <input type="text" name="od_addr22" value=<%=loginHewon.getH_address2() %> id="od_addr22" class="frm_input required">
                	<div id="addr2Msg2" class="error">μƒμ„Έμ£Όμ†Œλ₯Ό μž…λ ₯ν•΄ μ£Όμ„Έμš”.</div>
                    <br>
                </li>
				<li><label for="od_memo">μ „ν•˜μ‹€λ§μ”€ (λ‹¨μ²΄μ£Όλ¬Έμ„œ)</label>
                	<textarea rows="3" cols="80" name="od_memo" id="od_memo"></textarea>
                </li>
            </ul>
    	</div>
	</section>
<!-- } λ°›μœΌμ‹œλŠ” λΆ„ μž…λ ₯ 끝 -->
	
	

	
	
	
	
	
	<section id="paymentmethod" >
	<div class="sod_right" style="border : 1px solid #ececec; float: right; ">
	    <!-- κ²°μ œμ •λ³΄ μž…λ ₯ μ‹œμž‘ { -->
	    <h2>κ²°μ œμ •λ³΄</h2>
        <div id="od_tot_price">
            <span>총 μ£Όλ¬ΈκΈˆμ•‘</span>
            <strong class="print_price"><%=DecimalFormat.getCurrencyInstance().format(Integer.parseInt(o_quantity)*product.getP_price()) %></strong>원
        </div>
	        
	        
			<div class="od_pay_buttons_el">
	  		<h2>κ²°μ œμˆ˜λ‹¨</h2>    
	        <fieldset id="sod_frm_paysel">
		        <legend>κ²°μ œλ°©λ²• 선택</legend>
		        	<input type="radio" id="od_settle_bank" name="od_settle_case" value=0> 
		        	<label for="od_settle_bank" class="lb_icon bank_icon">κ³„μ’Œμ΄μ²΄</label>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
					<input type="radio" id="od_settle_card" name="od_settle_case" value=1 checked="checked"> 
					<label for="od_settle_card" class="lb_icon card_icon">μ‹ μš©μΉ΄λ“œ</label>
					
					
					<div id="settle_bank" style="display:none;">
					<label for="od_bank_account" class="sound_only">μž…κΈˆν•  κ³„μ’Œ</label>
					<select name="od_bank_account" id="od_bank_account">
						<option value="">μ„ νƒν•˜μ‹­μ‹œμ˜€.</option>
						<option value="λ†ν˜‘ λ°•μ „κ΄‘ 3018000840811">λ†ν˜‘ λ°•μ „κ΄‘ 3018000840811</option>
					</select>
					<br>
					<label for="od_deposit_name">μž…κΈˆμžλͺ…</label>
					<input type="text" name="od_deposit_name" id="od_deposit_name" size="10" maxlength="20">
					</div>
					
			</fieldset>            
			</div>
	        <!-- } 결제 정보 μž…λ ₯ 끝 -->
	
	        
		<div id="display_pay_button" class="btn_confirm">
		    <button type="submit" value="μ£Όλ¬Έν•˜κΈ°" class="btn_submit">μ£Όλ¬Έν•˜κΈ°</button>
		    <button type="button" class="btn01">μ·¨μ†Œ</button>
		</div>
	</div>
	</section>       
</div>
</form>
</div>
<br>
<br>
<br>




<script src="//t1.daumcdn.net/mapjsapi/bundle/postcode/prod/postcode.v2.js"></script>
<script type="text/javascript">


$('input[name="ad_sel_addr"]').change(function(){
	if($("#od_sel_addr_new").is(":checked")) {
		$('input[class="frm_input required"]').prop("value","")	
	} else {
		$("#od_b_name").prop("value",$("#od_name").val())
		$("#od_b_hp").prop("value",$("#od_hp").val())
		$("#od_zip2").prop("value",$("#od_zip").val())
		$("#od_addr12").prop("value",$("#od_addr1").val())
		$("#od_addr22").prop("value",$("#od_addr2").val())
		
	}
});




$("#postSearch").click(function() {
	new daum.Postcode({
	    oncomplete: function(data) {
	        $("#od_zip").val(data.zonecode);
	        $("#od_addr1").val(data.address);
	    }
	}).open();
});



$("#postSearch2").click(function() {
	new daum.Postcode({
	    oncomplete: function(data) {
	        $("#od_zi2p").val(data.zonecode);
	        $("#od_addr12").val(data.address);
	    }
	}).open();
});



$('input[name="od_settle_case"]').change(function(){
	if($("#od_settle_card").is(":checked")) {
		$("#settle_bank").css("display","none")
	} else if ($("#od_settle_bank").is(":checked")){
		$("#settle_bank").css("display","block")
	}
});




$("#paymentform").submit(function() {
	var submitResult=true
	
	$(".error").css("display","none");
	
	if($("#od_name").val()=="") {
		$("#nameMsg").css("display","block");
		submitResult=false;
	}
		
	if($("#od_hp").val()=="") {
		$("#phoneMsg").css("display","block");
		submitResult=false;
	}
	
	if($("#od_zip").val()=="") {
		$("#zipMsg").css("display","block");
		submitResult=false;
	}
	
	if($("#od_addr1").val()=="") {
		$("#addr1Msg").css("display","block");
		submitResult=false;
	}
	
	if($("#od_addr2").val()=="") {
		$("#addr2Msg").css("display","block");
		submitResult=false;
	}
	
	if($("#od_email").val()=="") {
		$("#emailMsg").css("display","block");
		submitResult=false;
	}
	
	if($("#od_b_name").val()=="") {
		$("#nameMsg2").css("display","block");
		submitResult=false;
	}
		
	if($("#od_b_hp").val()=="") {
		$("#phoneMsg2").css("display","block");
		submitResult=false;
	}
	
	if($("#od_zip2").val()=="") {
		$("#zipMsg2").css("display","block");
		submitResult=false;
	}
	
	if($("#od_addr12").val()=="") {
		$("#addr1Msg2").css("display","block");
		submitResult=false;
	}
	
	if($("#od_addr22").val()=="") {
		$("#addr2Msg2").css("display","block");
		submitResult=false;
	}
	
	if ($("#od_settle_bank").is(":checked") && $("#od_deposit_name").val()==""){
		alert("μž„κΈˆμžλͺ…을 μž…λ ₯ν•΄μ£Όμ„Έμš”.")
		submitResult=false;
	}
	return submitResult;

});


</script>







πŸ“’ 주문처리(μƒν’ˆνŽ˜μ΄μ§€)


<%@page import="java.text.SimpleDateFormat"%>
<%@page import="java.util.Date"%>
<%@page import="xyz.itwill.dao.OrdersDAO"%>
<%@page import="xyz.itwill.dto.OrdersDTO"%>
<%@page import="xyz.itwill.dao.PaymentDAO"%>
<%@page import="xyz.itwill.dto.PaymentDTO"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>    
<%@include file="/security/login_url.jspf" %>
<%
	
	if(request.getMethod().equals("GET")) {
	out.println("<script type='text/javascript'>");
	out.println("location.href='"+request.getContextPath()+"/index.jsp?menugroup=error&menu=error_400';");
	out.println("</script>");
	return;
	}

	Date now=new Date();
	SimpleDateFormat dateFormatO=new SimpleDateFormat("yyyyMMdd");
	SimpleDateFormat dateFormatP=new SimpleDateFormat("yyMMdd");
	String OrderDate=dateFormatO.format(now);
	String PaymentDate=dateFormatP.format(now);
	int nextNum=PaymentDAO.getDAO().paymentnextNum();
	
	
	//μ£Όλ¬Έ table 전달값을 λ°˜ν™˜λ°›μ•„ μ €μž₯
	String o_onum=OrderDate+nextNum;
	String o_comment=request.getParameter("od_memo");
	String o_quantity=request.getParameter("pay_quantity");
	String o_pnum=request.getParameter("p_pnum");
	String o_address1=request.getParameter("od_addr12");
	String o_address2=request.getParameter("od_addr22");
	String o_zipcode=request.getParameter("od_zip2");
	String o_phone=request.getParameter("od_b_hp");

	
	//OrdersDTO 객체 μƒμ„±ν•˜μ—¬ μ „λ‹¬κ°’μœΌλ‘œ ν•„λ“œκ°’ λ³€κ²½
	OrdersDTO orders=new OrdersDTO();
	orders.setO_onum(Integer.parseInt(o_onum));
	orders.setO_comment(o_comment);
	orders.setO_hewonid(loginHewon.getH_hewonid());
	orders.setO_quantity(Integer.parseInt(o_quantity));
	orders.setO_pnum(Integer.parseInt(o_pnum));
	orders.setO_address1(o_address1);
	orders.setO_address2(o_address2);
	orders.setO_zipcode(o_zipcode);
	orders.setO_phone(o_phone);
	
	
	//주문정보λ₯Ό 전달받아 ordersν…Œμ΄λΈ”μ— μ‚½μž…ν•˜λŠ” DAO 클래슀의 λ©”μ†Œλ“œ 호좜
	OrdersDAO.getDAO().insertOrders(orders);
	
	//결제 table 전달값을 λ°˜ν™˜λ°›μ•„ μ €μž₯
	String pay_paynum=PaymentDate+nextNum;
	String pay_total=request.getParameter("pay_total");
	String pay_method=request.getParameter("od_settle_case");
	
	
	//paymentDTO 객체λ₯Ό μƒμ„±ν•˜μ—¬ μ „λ‹¬κ°’μœΌλ‘œ ν•„λ“œκ°’ λ³€κ²½
	PaymentDTO payment =new PaymentDTO();
	payment.setPay_paynum(Integer.parseInt(pay_paynum));
	payment.setPay_onum(Integer.parseInt(o_onum));
	payment.setPay_hewonid(loginHewon.getH_hewonid());
	payment.setPay_total(Integer.parseInt(pay_total));
	payment.setPay_method(Integer.parseInt(pay_method));
	
	
	

	//κ²°μ œμ •λ³΄λ₯Ό 전달받아 payment ν…Œμ΄λΈ”μ— μ‚½μž…ν•˜λŠ” DAO 클래슀의 λ©”μ†Œλ“œ 호좜
	PaymentDAO.getDAO().insertPayment(payment);
	
	//ν΄λΌμ΄μ–ΈνŠΈμ—κ²Œ URL μ£Όμ†Œ 전달
	out.println("<script type='text/javascript'>");
	out.println("location.href='"+request.getContextPath()+"/index.jsp?menugroup=order&menu=order_list';");
	out.println("</script>");
	
	
	
	
	
%>





πŸ“’ μž₯λ°”κ΅¬λ‹ˆμ—μ„œ κ΅¬λ§€νŽ˜μ΄μ§€ form



<%@page import="xyz.itwill.dao.CartDAO"%>
<%@page import="xyz.itwill.dto.CartDTO"%>
<%@page import="java.text.DecimalFormat"%>
<%@page import="xyz.itwill.dao.ProductDAO"%>
<%@page import="xyz.itwill.dto.ProductDTO"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<%@include file="/security/login_url.jspf" %>
<%
	
	if(request.getMethod().equals("GET")) {
	out.println("<script type='text/javascript'>");
	out.println("location.href='"+request.getContextPath()+"/index.jsp?menugroup=error&menu=error_400';");
	out.println("</script>");
	return;
	}	
	
	//μž₯λ°”κ΅¬λ‹ˆμ—μ„œ 체크된 μƒν’ˆλ¦¬μŠ€νŠΈ
	String [] cartOrderList=request.getParameterValues("check");
	

%> 
<style type="text/css">
#totalpayfrom {
	text-align: center;
}
#paymentform {
	display: inline-block;
	width: 70%
}
.error {
	color: red;
	position: relative;
	display: none;
}
#paymentform h2 {
    padding: 20px;
    border-bottom: 1px solid #ececec;
    background-color: #f7f7f7;
    margin: 0 0 10px;
    font-size: 1.25em;
}
h2 {
    margin: 0 ;
    padding: 0;
    font-size: 20px;
    color: #333;
    line-height: 1.6em;
    font-family: 'Noto Sans KR', sans-serif;
    font-weight: bold;
    letter-spacing: -0.02em;
}
#paymentform ul {
    padding: 20px;
}
ul {
    margin: 0;
    padding: 0;
    font-size: 13px;
    color: #333;
    line-height: 1.6em;
    font-family: 'Noto Sans KR', sans-serif;
    font-weight: 400;
    letter-spacing: -0.02em;
    list-style: none;
}
li label {
	display: block;
    margin-bottom: 10px;
    line-height: 24px;
	margin-right: 20px;
}
section {
	align-content: center;
	text-align: left;
	margin: 10px auto;
}
div {
	align-content: center;
    margin: 10px;
    padding: 0;
    font-size: 13px;
    color: #333;
    line-height: 1.6em;
    font-family: 'Noto Sans KR', sans-serif;
    font-weight: 400;
    letter-spacing: -0.02em;
    display: block;
}
#wrapper_title {
    margin: 0px 0;
    font-size: 1.7em;
    font-weight: bold;
}
#sod_frm_paysel {
	text-align: center;
	margin: 10px auto;
}
.tbl_head03 td {
    background: #fff;
    background-clip: padding-box;
    padding: 25px 15px;
    border-top: 1px solid #ccd2d9;
    border-left: 1px solid #f6f6f6;
    line-height: 1.5em;
    word-break: break-all;
}

.td_chk {
    width: 30px;
    text-align: center;
}
td {
    margin: 0;
    padding: 0;
    font-size: 13px;
    font-family: 'Noto Sans KR', sans-serif;
    font-weight: 400;
    letter-spacing: -0.02em;
}
.tbl_wrap table {
    width: 100%;
    border-collapse: collapse;
    border-spacing: 0;
}

table {
    text-indent: initial;
}
@media (max-width: 480px)
#sod_bsk #sod_bsk_tot li {
    width: 50%;
    padding: 10px;
    text-align: right;
    height: auto;
}
@media (max-width: 768px)
#sod_bsk #sod_bsk_tot li[class~=sod_bsk_dvr] {
    background: #fff !important;
    color: #000;
}
.sod_img img {
	float: left;
}
</style>







<!-- .shop-content μ‹œμž‘ { -->
<div id="totalpayfrom" style="clear:both;">
<form name="paymentform" id="paymentform" method="post" action="<%=request.getContextPath()%>/index.jsp?menugroup=payment&menu=payment_cart_action">
<div class="shop-content" id="paymentform">
<div id="wrapper_title">μ£Όλ¬Έμ„œ μž‘μ„±</div>

				<div class="tbl_head03 tbl_wrap">
			<table>
				<thead>
					<tr>
						<th scope="col"></th>	
						<th scope="col" style="width: 400px;">μƒν’ˆλͺ…</th>	
						<th scope="col">μ΄μˆ˜λŸ‰</th>	
						<th scope="col">νŒλ§€κ°€</th>	
						<th scope="col">배솑비</th>	
						<th scope="col">μ†Œκ³„</th>
					</tr>
				</thead>
				<tbody>
					<% for(String cartOrder: cartOrderList ) { %>
					<% CartDTO cartpay=CartDAO.getDAO().selectCart(Integer.parseInt(cartOrder));	 %>
					<%ProductDTO cartproduct= CartDAO.getDAO().selectProduct(cartpay.getC_pnum());%>
					<tr>
						<td class="td_chk chk_box" >
							<input type="checkbox" name="check" id="cartcheck<%=cartpay.getC_cnum() %>" value="<%=cartpay.getC_cnum() %>" checked="checked" class="selec_chk">
							<span><input type="hidden" name="p_pnum" value="<%=cartpay.getC_pnum()%>"></span>
						</td>		
						<td class="td_prd">
							
							<div class="sod_img">
								<a href="">
									<img src="<%=request.getContextPath()%>/product_image/<%=cartproduct.getP_mainimg()%>" width="100" height="100" alt="title">
								</a>
							</div>

							<div class="sod_name" style="text-align: left;">
								<input type="hidden" name="it_id[0]" value="BG420">
								<input type="hidden" name="it_name[0]" value="BG420">
								<input type="hidden" name="cartOrderList" value="<%=cartOrderList%>">
								<input type="hidden" name="p_pnum" value="<%=cartproduct.getP_pnum() %>">
									<a href="" class="prd_name">
										<b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<%=cartproduct.getP_name() %></b>
									</a>
								<div class="sod_opt">
									<ul>
										<li>μ œν’ˆλ²ˆν˜Έ : <%=cartpay.getC_pnum() %></li>
										<li>μ‚¬μ΄μ¦ˆFREE</li>
									</ul>
								</div>
								<div class="sod_option_btn">
								</div>
							</div>		
						</td>	
						<td class="td_num"><input type="hidden" name="pay_quantity" value="<%=cartpay.getC_quantity() %>"><%=cartpay.getC_quantity() %></td>	
						<td class="td_numbig"><%=DecimalFormat.getCurrencyInstance().format(cartproduct.getP_price())%></td>	
						<td class="td_dvr">λ¬΄λ£Œλ°°μ†‘</td>
						<%String total=DecimalFormat.getCurrencyInstance().format(cartpay.getC_quantity()*cartproduct.getP_price()); %>
						<td class="td_numbig text_right"><span id="smalltotal" class="total_prc"><input type="hidden" name="pay_total" value="<%=cartpay.getC_quantity()*cartproduct.getP_price() %>"><%=total %></span></td>
					</tr>
					<%} %>
				</tbody>		
			</table>
		</div>	


	<section id="sod_frm_orderer">
    	<h2>μ£Όλ¬Έν•˜μ‹œλŠ” λΆ„</h2>
        <div class="tbl_frm01 tbl_wrap">
        	<ul>
                <li>
                	<label for="name">이름</label>
                	<input type="text" name="od_name" value=<%=loginHewon.getH_name()%> id="od_name" class="frm_input">
                	<div id="nameMsg" class="error">이름을 μž…λ ₯ν•΄ μ£Όμ„Έμš”.</div>
                </li>
                <li>
                	<label for="hp">ν•Έλ“œν°</label>
                	<input type="text" name="od_hp" value=<%=loginHewon.getH_phone() %> id="od_hp" class="frm_input">
                	<div id="phoneMsg" class="error">ν•Έλ“œν° 번호λ₯Ό μž…λ ₯ν•΄ μ£Όμ„Έμš”.</div>
                	<br>
                </li>
                <li>우편번호
                    <button type="button" id="postSearch" class="btn_address" >우편번호 검색</button>
                    <input type="text" name="od_zip" value=<%=loginHewon.getH_zipcode() %> id="od_zip" class="frm_input" size="8" readonly="readonly">
                	<div id="zipMsg" class="error">우편번호λ₯Ό μž…λ ₯ν•΄ μ£Όμ„Έμš”.</div>
                    <br>
                </li>
                <li>
                	<label for="addr1">κΈ°λ³Έμ£Όμ†Œ</label>
                    <input type="text" name="od_addr1" value=<%=loginHewon.getH_address1() %> id="od_addr1" class="frm_input frm_address required" size="60" >
                	<div id="addr1Msg" class="error">κΈ°λ³Έμ£Όμ†Œλ₯Ό μž…λ ₯ν•΄ μ£Όμ„Έμš”.</div>
                </li>
                <li>
                	<label for="addr2">μƒμ„Έμ£Όμ†Œ</label>
                    <input type="text" name="od_addr2" value=<%=loginHewon.getH_address2() %> id="od_addr2" class="frm_input frm_address" size="60" placeholder="μƒμ„Έμ£Όμ†Œ">
                	<div id="addr2Msg" class="error">μƒμ„Έμ£Όμ†Œλ₯Ό μž…λ ₯ν•΄ μ£Όμ„Έμš”.</div>
                    <br>
                </li>
                <li>
                	<label for="email">E-mail</label>
                	<input type="text" name="od_email" value=<%=loginHewon.getH_email() %> id="od_email" class="frm_input" size="35" >
                	<div id="emailMsg" class="error">이메일 μ£Όμ†Œλ₯Ό μž…λ ₯ν•΄ μ£Όμ„Έμš”.</div>
                </li>
         	</ul>
      	</div>
	</section>
<!-- } μ£Όλ¬Έν•˜μ‹œλŠ” λΆ„ μž…λ ₯ 끝 -->




<!-- λ°›μœΌμ‹œλŠ” λΆ„ μž…λ ₯ μ‹œμž‘ { -->
    <section id="sod_frm_taker">
    <h2>λ°›μœΌμ‹œλŠ” λΆ„</h2>
    	<div class="tbl_frm01 tbl_wrap">
        	<ul>
               	<li>배솑지선택
					<div class="order_choice_place">
                       	<input type="radio" name="ad_sel_addr" value="same" id="ad_sel_addr_same" checked="checked">
						<label for="ad_sel_addr_same">μ£Όλ¬Έμžμ™€ 동일</label>&nbsp;&nbsp;&nbsp;&nbsp;
						<input type="radio" name="ad_sel_addr" value="new" id="od_sel_addr_new">
						<label for="od_sel_addr_new">μ‹ κ·œλ°°μ†‘μ§€</label>
					</div>
                </li>
                
                
                <li><label for="od_b_name">이름</label>
                	<input type="text" name="od_b_name" id="od_b_name" class="frm_input required" value=<%=loginHewon.getH_name() %>>
                	<div id="nameMsg2" class="error">이름을 μž…λ ₯ν•΄ μ£Όμ„Έμš”.</div>
                </li>
                <li><label for="od_b_hp">ν•Έλ“œν°</label>
                	<input type="text" name="od_b_hp" id="od_b_hp" class="frm_input required" value=<%=loginHewon.getH_phone() %>>
                	<div id="phoneMsg2" class="error">ν•Έλ“œν° 번호λ₯Ό μž…λ ₯ν•΄ μ£Όμ„Έμš”.</div>
                </li>
                <li>우편번호
                    <button type="button" id="postSearch2" class="btn_address" >우편번호 검색</button>
                    <input type="text" name="od_zip2" value=<%=loginHewon.getH_zipcode() %> id="od_zip2"  class="frm_input required" maxlength="6">
                	<div id="zipMsg2" class="error">우편번호λ₯Ό μž…λ ₯ν•΄ μ£Όμ„Έμš”.</div>
                    <br>
                </li>
                <li>κΈ°λ³Έμ£Όμ†Œ
                    <input type="text" name="od_addr12" value=<%=loginHewon.getH_address1() %> id="od_addr12"  class="frm_input required">
                	<div id="addr1Msg2" class="error">κΈ°λ³Έμ£Όμ†Œλ₯Ό μž…λ ₯ν•΄ μ£Όμ„Έμš”.</div>
                </li>
                <li>μƒμ„Έμ£Όμ†Œ
                    <input type="text" name="od_addr22" value=<%=loginHewon.getH_address2() %> id="od_addr22" class="frm_input required">
                	<div id="addr2Msg2" class="error">μƒμ„Έμ£Όμ†Œλ₯Ό μž…λ ₯ν•΄ μ£Όμ„Έμš”.</div>
                    <br>
                </li>
				<li><label for="od_memo">μ „ν•˜μ‹€λ§μ”€ (λ‹¨μ²΄μ£Όλ¬Έμ„œ)</label>
                	<textarea rows="3" cols="80" name="od_memo" id="od_memo"></textarea>
                </li>
            </ul>
    	</div>
	</section>
<!-- } λ°›μœΌμ‹œλŠ” λΆ„ μž…λ ₯ 끝 -->
	
	

	
	
	
	
	
	<section id="paymentmethod" >
	<div class="sod_right" style="border : 1px solid #ececec; float: right; ">
	    <!-- κ²°μ œμ •λ³΄ μž…λ ₯ μ‹œμž‘ { -->
	    <h2>κ²°μ œμ •λ³΄</h2>
        <div id="od_tot_price">
            <span>총 μ£Όλ¬ΈκΈˆμ•‘</span>
            	<% int total=0; %>
				<% for(String cartnum :cartOrderList) {%>
				<% CartDTO cartpay=CartDAO.getDAO().selectCart(Integer.parseInt(cartnum)); %>
				<%ProductDTO cartproduct= CartDAO.getDAO().selectProduct(cartpay.getC_pnum());%>
				<% int smalltotal=cartproduct.getP_price()*cartpay.getC_quantity(); %>
				<% total=total+smalltotal; %>
				<%} %>
				<% String Ctotal=DecimalFormat.getCurrencyInstance().format(total);%>
            <strong class="print_price"><%=Ctotal %></strong>원
        </div>
	        
	        
			<div class="od_pay_buttons_el">
	  		<h2>κ²°μ œμˆ˜λ‹¨</h2>    
	        <fieldset id="sod_frm_paysel">
		        <legend>κ²°μ œλ°©λ²• 선택</legend>
		        	<input type="radio" id="od_settle_bank" name="od_settle_case" value=0> 
		        	<label for="od_settle_bank" class="lb_icon bank_icon">κ³„μ’Œμ΄μ²΄</label>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
					<input type="radio" id="od_settle_card" name="od_settle_case" value=1 checked="checked"> 
					<label for="od_settle_card" class="lb_icon card_icon">μ‹ μš©μΉ΄λ“œ</label>
					
					
					<div id="settle_bank" style="display:none;">
					<label for="od_bank_account" class="sound_only">μž…κΈˆν•  κ³„μ’Œ</label>
					<select name="od_bank_account" id="od_bank_account">
						<option value="">μ„ νƒν•˜μ‹­μ‹œμ˜€.</option>
						<option value="λ†ν˜‘ λ°•μ „κ΄‘ 3018000840811">λ†ν˜‘ λ°•μ „κ΄‘ 3018000840811</option>
					</select>
					<br>
					<label for="od_deposit_name">μž…κΈˆμžλͺ…</label>
					<input type="text" name="od_deposit_name" id="od_deposit_name" size="10" maxlength="20">
					</div>
					
			</fieldset>            
			</div>
	        <!-- } 결제 정보 μž…λ ₯ 끝 -->
	
	        
		<div id="display_pay_button" class="btn_confirm">
		    <button type="submit" value="μ£Όλ¬Έν•˜κΈ°" class="btn_submit">μ£Όλ¬Έν•˜κΈ°</button>
		    <button type="button" class="btn01">μ·¨μ†Œ</button>
		</div>
	</div>
	</section>       
</div>
</form>
</div>
<br>
<br>
<br>




<script src="//t1.daumcdn.net/mapjsapi/bundle/postcode/prod/postcode.v2.js"></script>
<script type="text/javascript">


$('input[name="ad_sel_addr"]').change(function(){
	if($("#od_sel_addr_new").is(":checked")) {
		$('input[class="frm_input required"]').prop("value","")	
	} else {
		$("#od_b_name").prop("value",$("#od_name").val())
		$("#od_b_hp").prop("value",$("#od_hp").val())
		$("#od_zip2").prop("value",$("#od_zip").val())
		$("#od_addr12").prop("value",$("#od_addr1").val())
		$("#od_addr22").prop("value",$("#od_addr2").val())
		
	}
});




$("#postSearch").click(function() {
	new daum.Postcode({
	    oncomplete: function(data) {
	        $("#od_zip").val(data.zonecode);
	        $("#od_addr1").val(data.address);
	    }
	}).open();
});



$("#postSearch2").click(function() {
	new daum.Postcode({
	    oncomplete: function(data) {
	        $("#od_zi2p").val(data.zonecode);
	        $("#od_addr12").val(data.address);
	    }
	}).open();
});



$('input[name="od_settle_case"]').change(function(){
	if($("#od_settle_card").is(":checked")) {
		$("#settle_bank").css("display","none")
	} else if ($("#od_settle_bank").is(":checked")){
		$("#settle_bank").css("display","block")
	}
});




$("#paymentform").submit(function() {
	var submitResult=true
	
	$(".error").css("display","none");
	
	if($("#od_name").val()=="") {
		$("#nameMsg").css("display","block");
		submitResult=false;
	}
		
	if($("#od_hp").val()=="") {
		$("#phoneMsg").css("display","block");
		submitResult=false;
	}
	
	if($("#od_zip").val()=="") {
		$("#zipMsg").css("display","block");
		submitResult=false;
	}
	
	if($("#od_addr1").val()=="") {
		$("#addr1Msg").css("display","block");
		submitResult=false;
	}
	
	if($("#od_addr2").val()=="") {
		$("#addr2Msg").css("display","block");
		submitResult=false;
	}
	
	if($("#od_email").val()=="") {
		$("#emailMsg").css("display","block");
		submitResult=false;
	}
	
	if($("#od_b_name").val()=="") {
		$("#nameMsg2").css("display","block");
		submitResult=false;
	}
		
	if($("#od_b_hp").val()=="") {
		$("#phoneMsg2").css("display","block");
		submitResult=false;
	}
	
	if($("#od_zip2").val()=="") {
		$("#zipMsg2").css("display","block");
		submitResult=false;
	}
	
	if($("#od_addr12").val()=="") {
		$("#addr1Msg2").css("display","block");
		submitResult=false;
	}
	
	if($("#od_addr22").val()=="") {
		$("#addr2Msg2").css("display","block");
		submitResult=false;
	}
	
	if ($("#od_settle_bank").is(":checked") && $("#od_deposit_name").val()==""){
		alert("μž„κΈˆμžλͺ…을 μž…λ ₯ν•΄μ£Όμ„Έμš”.")
		submitResult=false;
	}
	return submitResult;

});


</script>






πŸ“’ 주문처리(μž₯λ°”κ΅¬λ‹ˆ)



<%@page import="xyz.itwill.dto.ProductDTO"%>
<%@page import="xyz.itwill.dto.CartDTO"%>
<%@page import="xyz.itwill.dao.CartDAO"%>
<%@page import="java.text.SimpleDateFormat"%>
<%@page import="java.util.Date"%>
<%@page import="xyz.itwill.dao.OrdersDAO"%>
<%@page import="xyz.itwill.dto.OrdersDTO"%>
<%@page import="xyz.itwill.dao.PaymentDAO"%>
<%@page import="xyz.itwill.dto.PaymentDTO"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>    
<%@include file="/security/login_url.jspf" %>
<%
	
	if(request.getMethod().equals("GET")) {
	out.println("<script type='text/javascript'>");
	out.println("location.href='"+request.getContextPath()+"/index.jsp?menugroup=error&menu=error_400';");
	out.println("</script>");
	return;
	}

	Date now=new Date();
	SimpleDateFormat dateFormatO=new SimpleDateFormat("yyyyMMdd");
	SimpleDateFormat dateFormatP=new SimpleDateFormat("yyMMdd");
	String OrderDate=dateFormatO.format(now);
	String PaymentDate=dateFormatP.format(now);
	
	//체크된 μž₯λ°”κ΅¬λ‹ˆ list (c_cnum)
	String [] cartOrderList=request.getParameterValues("check");
	for(String cartNumList : cartOrderList){
		CartDTO cartorderList = CartDAO.getDAO().selectCart(Integer.parseInt(cartNumList));
		ProductDTO product=CartDAO.getDAO().selectProduct(cartorderList.getC_pnum());
	
		CartDAO.getDAO().deletecart(cartorderList.getC_cnum());
		
	int nextNum=PaymentDAO.getDAO().paymentnextNum();
	//μ£Όλ¬Έ table 전달값을 λ°˜ν™˜λ°›μ•„ μ €μž₯
	String o_onum=OrderDate+nextNum;
	String o_comment=request.getParameter("od_memo");
	String o_address1=request.getParameter("od_addr12");
	String o_address2=request.getParameter("od_addr22");
	String o_zipcode=request.getParameter("od_zip2");
	String o_phone=request.getParameter("od_b_hp");

	
	//OrdersDTO 객체 μƒμ„±ν•˜μ—¬ μ „λ‹¬κ°’μœΌλ‘œ ν•„λ“œκ°’ λ³€κ²½
	OrdersDTO orders=new OrdersDTO();
	orders.setO_onum(Integer.parseInt(o_onum));
	orders.setO_comment(o_comment);
	orders.setO_hewonid(loginHewon.getH_hewonid());
	orders.setO_quantity(cartorderList.getC_quantity());
	orders.setO_pnum(cartorderList.getC_pnum());
	orders.setO_address1(o_address1);
	orders.setO_address2(o_address2);
	orders.setO_zipcode(o_zipcode);
	orders.setO_phone(o_phone);
	
	
	//주문정보λ₯Ό 전달받아 ordersν…Œμ΄λΈ”μ— μ‚½μž…ν•˜λŠ” DAO 클래슀의 λ©”μ†Œλ“œ 호좜
	OrdersDAO.getDAO().insertOrders(orders);
	
	//결제 table 전달값을 λ°˜ν™˜λ°›μ•„ μ €μž₯
	String pay_paynum=PaymentDate+nextNum;
	String pay_method=request.getParameter("od_settle_case");
	
	//paymentDTO 객체λ₯Ό μƒμ„±ν•˜μ—¬ μ „λ‹¬κ°’μœΌλ‘œ ν•„λ“œκ°’ λ³€κ²½
	PaymentDTO payment =new PaymentDTO();
	payment.setPay_paynum(Integer.parseInt(pay_paynum));
	payment.setPay_onum(Integer.parseInt(o_onum));
	payment.setPay_hewonid(loginHewon.getH_hewonid());
	payment.setPay_total(product.getP_price()*cartorderList.getC_quantity());
	payment.setPay_method(Integer.parseInt(pay_method));
	
	
	

	//κ²°μ œμ •λ³΄λ₯Ό 전달받아 payment ν…Œμ΄λΈ”μ— μ‚½μž…ν•˜λŠ” DAO 클래슀의 λ©”μ†Œλ“œ 호좜
	PaymentDAO.getDAO().insertPayment(payment);
	}
	
	//ν΄λΌμ΄μ–ΈνŠΈμ—κ²Œ URL μ£Όμ†Œ 전달
	out.println("<script type='text/javascript'>");
	out.println("location.href='"+request.getContextPath()+"/index.jsp?menugroup=order&menu=order_list';");
	out.println("</script>");
	
	
	
	
	
%>





πŸ“• DTO(hewon)


package xyz.itwill.dto;
/*
 이름         널?       μœ ν˜•            
---------- -------- ------------- 
H_HEWONID  NOT NULL VARCHAR2(50)  
H_PW       NOT NULL VARCHAR2(200) 
H_NAME     NOT NULL VARCHAR2(50)  
H_PHONE    NOT NULL VARCHAR2(50)  
H_ZIPCODE  NOT NULL VARCHAR2(10)  
H_ADDRESS1 NOT NULL VARCHAR2(200) 
H_ADDRESS2 NOT NULL VARCHAR2(100) 
H_EMAIL    NOT NULL VARCHAR2(100) 
H_STATUS   NOT NULL NUMBER(1)  
 */

public class HewonDTO {

	private String h_hewonid; 
	private String h_pw; 
	private String h_name; 
	private String h_phone; 
	private String h_zipcode; 
	private String h_address1; 
	private String h_address2; 
	private String h_email; 
	private int h_status;
	private String h_joindate; 
	private String h_lastlogin; 
	
	
public HewonDTO() {
	// TODO Auto-generated constructor stub
}


public String getH_hewonid() {
	return h_hewonid;
}


public void setH_hewonid(String h_hewonid) {
	this.h_hewonid = h_hewonid;
}


public String getH_pw() {
	return h_pw;
}


public void setH_pw(String h_pw) {
	this.h_pw = h_pw;
}


public String getH_name() {
	return h_name;
}


public void setH_name(String h_name) {
	this.h_name = h_name;
}


public String getH_phone() {
	return h_phone;
}


public void setH_phone(String h_phone) {
	this.h_phone = h_phone;
}


public String getH_zipcode() {
	return h_zipcode;
}


public void setH_zipcode(String h_zipcode) {
	this.h_zipcode = h_zipcode;
}


public String getH_address1() {
	return h_address1;
}


public void setH_address1(String h_address1) {
	this.h_address1 = h_address1;
}


public String getH_address2() {
	return h_address2;
}


public void setH_address2(String h_address2) {
	this.h_address2 = h_address2;
}


public String getH_email() {
	return h_email;
}


public void setH_email(String h_email) {
	this.h_email = h_email;
}


public int getH_status() {
	return h_status;
}


public void setH_status(int h_status) {
	this.h_status = h_status;
}


public String getH_joindate() {
	return h_joindate;
}


public void setH_joindate(String h_joindate) {
	this.h_joindate = h_joindate;
}


public String getH_lastlogin() {
	return h_lastlogin;
}


public void setH_lastlogin(String h_lastlogin) {
	this.h_lastlogin = h_lastlogin;
}





	
	
	

	
	
}






πŸ“• DTO(order)


package xyz.itwill.dto;
/*
이름         널?       μœ ν˜•            
---------- -------- ------------- 
O_ONUM     NOT NULL NUMBER(10)    
O_STATUS   NOT NULL NUMBER(10)    
O_DATE     NOT NULL DATE          
O_COMMENT           VARCHAR2(50)  
O_HEWONID  NOT NULL VARCHAR2(50)  
O_QUANTITY NOT NULL NUMBER(10)    
O_PNUM     NOT NULL NUMBER(10)    
O_ADDRESS1 NOT NULL VARCHAR2(200) 
O_ADDRESS2 NOT NULL VARCHAR2(100) 
O_ZIPCODE  NOT NULL VARCHAR2(20)  
O_PHONE    NOT NULL VARCHAR2(20)  
 */
public class OrdersDTO {
	private int o_onum;	
	private int o_status;	
	private String o_date;
	private String o_comment;	
	private String o_hewonid;	
	private int o_quantity;	
	private int o_pnum;	
	private String o_address1;	
	private String o_address2;	
	private String o_zipcode;	
	private String o_phone;
	
	public OrdersDTO() {
		// TODO Auto-generated constructor stub
	}

	public int getO_onum() {
		return o_onum;
	}

	public void setO_onum(int o_onum) {
		this.o_onum = o_onum;
	}

	public int getO_status() {
		return o_status;
	}

	public void setO_status(int o_status) {
		this.o_status = o_status;
	}

	public String getO_date() {
		return o_date;
	}

	public void setO_date(String o_date) {
		this.o_date = o_date;
	}

	public String getO_comment() {
		return o_comment;
	}

	public void setO_comment(String o_comment) {
		this.o_comment = o_comment;
	}

	public String getO_hewonid() {
		return o_hewonid;
	}

	public void setO_hewonid(String o_hewonid) {
		this.o_hewonid = o_hewonid;
	}

	public int getO_quantity() {
		return o_quantity;
	}

	public void setO_quantity(int o_quantity) {
		this.o_quantity = o_quantity;
	}

	public int getO_pnum() {
		return o_pnum;
	}

	public void setO_pnum(int o_pnum) {
		this.o_pnum = o_pnum;
	}

	public String getO_address1() {
		return o_address1;
	}

	public void setO_address1(String o_address1) {
		this.o_address1 = o_address1;
	}

	public String getO_address2() {
		return o_address2;
	}

	public void setO_address2(String o_address2) {
		this.o_address2 = o_address2;
	}

	public String getO_zipcode() {
		return o_zipcode;
	}

	public void setO_zipcode(String o_zipcode) {
		this.o_zipcode = o_zipcode;
	}

	public String getO_phone() {
		return o_phone;
	}

	public void setO_phone(String o_phone) {
		this.o_phone = o_phone;
	}

	
	
}






πŸ“™ DAO (hewon)

package xyz.itwill.dao;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

import xyz.itwill.dto.HewonDTO;
import xyz.itwill.dto.OrdersDTO;


public class HewonDAO extends JdbcDAO {
	private static HewonDAO _dao;
	
	private HewonDAO() {
		// TODO Auto-generated constructor stub
	}
	
	static {
		_dao=new HewonDAO();
	}
	
	public static HewonDAO getDAO() {
		return _dao;
	}
	
	
	//아이디λ₯Ό 전달받아 hewon ν…Œμ΄λΈ”μ— μ €μž₯된 ν•΄λ‹Ή μ•„μ΄λ””μ˜ νšŒμ›μ •λ³΄λ₯Ό κ²€μƒ‰ν•˜μ—¬ λ°˜ν™˜ν•˜λŠ” λ©”μ†Œλ“œ
	public HewonDTO selectHewon(String h_hewonid) {
		Connection con=null;
		PreparedStatement pstmt=null;
		ResultSet rs=null;
		HewonDTO hewon=null;
		try {
			con=getConnection();
			
			String sql="select * from hewon where h_hewonid=?";
			pstmt=con.prepareStatement(sql);
			pstmt.setString(1, h_hewonid);
			
			rs=pstmt.executeQuery();

			if(rs.next()) {
				hewon=new HewonDTO();
				hewon.setH_hewonid(rs.getString("h_hewonid"));
				hewon.setH_pw(rs.getString("h_pw"));
				hewon.setH_name(rs.getString("h_name"));
				hewon.setH_phone(rs.getString("h_phone"));
				hewon.setH_zipcode(rs.getString("h_zipcode"));
				hewon.setH_address1(rs.getString("h_address1"));
				hewon.setH_address2(rs.getString("h_address2"));
				hewon.setH_email(rs.getString("h_email"));
				hewon.setH_status(rs.getInt("h_status"));
				hewon.setH_joindate(rs.getString("h_joindate"));
				hewon.setH_lastlogin(rs.getString("h_lastlogin"));
			}
		} catch (SQLException e) {
			System.out.println("[μ—λŸ¬]selectHewon() λ©”μ†Œλ“œμ˜ SQL 였λ₯˜ = "+e.getMessage());
		} finally {
			close(con, pstmt, rs);
		}
		return hewon;
	}
	
	
	//νšŒμ›μ •λ³΄λ₯Ό 전달받아 hewon ν…Œμ΄λΈ”μ— μ‚½μž…ν•˜κ³  μ‚½μž…ν–‰μ˜ 갯수λ₯Ό λ°˜ν™˜ν•˜λŠ” λ©”μ†Œλ“œ
	public int insertHewon(HewonDTO hewon) {
			Connection con=null;
			PreparedStatement pstmt=null;
			int rows=0;
			try {
				con=getConnection();
				
				
				String sql="insert into hewon values(?,?,?,?,?,?,?,?,1,sysdate,null)";
				pstmt=con.prepareStatement(sql);
				pstmt.setString(1, hewon.getH_hewonid());
				pstmt.setString(2, hewon.getH_pw());
				pstmt.setString(3, hewon.getH_name());
				pstmt.setString(4, hewon.getH_phone());
				pstmt.setString(5, hewon.getH_zipcode());
				pstmt.setString(6, hewon.getH_address1());
				pstmt.setString(7, hewon.getH_address2());
				pstmt.setString(8, hewon.getH_email());
				
				rows=pstmt.executeUpdate();
			} catch (SQLException e) {
				System.out.println("[μ—λŸ¬]insertHewon() λ©”μ†Œλ“œμ˜ SQL 였λ₯˜ = "+e.getMessage());
			} finally {
				close(con, pstmt);
			}
			return rows;
		}
		
	
		//아이디와 νšŒμ›μƒνƒœλ₯Ό 전달받아 Hewon νƒœμ΄λΈ”μ— μ €μž₯된 ν•΄λ‹Ή μ•„μ΄λ””μ˜ νšŒμ›μ •λ³΄μ—μ„œ νšŒμ›μƒνƒœλ₯Ό
		//λ³€κ²½ν•˜κ³  λ³€κ²½ν–‰μ˜ 갯수λ₯Ό λ°˜ν™˜ν•˜λŠ” λ©”μ†Œλ“œ
		public int updateH_Status(String h_hewonid, int h_status) {
			Connection con=null;
			PreparedStatement pstmt=null;
			int rows=0;
			try {
				con=getConnection();
					
				String sql="update hewon set h_status=? where h_hewonid=?";
				pstmt=con.prepareStatement(sql);
				pstmt.setInt(1, h_status);
				pstmt.setString(2, h_hewonid);
				
				rows=pstmt.executeUpdate();
			} catch (SQLException e) {
				System.out.println("[μ—λŸ¬]updateH_Status() λ©”μ†Œλ“œμ˜ SQL 였λ₯˜ = "+e.getMessage());
			} finally {
				close(con, pstmt);
			}
			return rows;
		}
	
		
		//아이디λ₯Ό 전달받아 Hewon ν…Œμ΄λΈ”μ— μ €μž₯된 ν•΄λ‹Ή μ•„μ΄λ””μ˜ νšŒμ›μ •λ³΄μ—μ„œ λ§ˆμ§€λ§‰ 둜그인 λ‚ μ§œλ₯Ό
		//λ³€κ²½ν•˜κ³  λ³€κ²½ν–‰μ˜ 갯수λ₯Ό λ°˜ν™˜ν•˜λŠ” λ©”μ†Œλ“œ
		public int updateLastLogin(String h_hewonid) {
			Connection con=null;
			PreparedStatement pstmt=null;
			int rows=0;
			try {
				con=getConnection();
				
				String sql="update hewon set h_lastlogin=sysdate where h_hewonid=?";
				pstmt=con.prepareStatement(sql);
				pstmt.setString(1, h_hewonid);
				
				rows=pstmt.executeUpdate();
			} catch (SQLException e) {
				System.out.println("[μ—λŸ¬]updateLastLogin() λ©”μ†Œλ“œμ˜ SQL 였λ₯˜ = "+e.getMessage());
			} finally {
				close(con, pstmt);
			}
			return rows;
		}
		
	
		//Hewon ν…Œμ΄λΈ”μ— μ €μž₯된 λͺ¨λ“  νšŒμ›μ •λ³΄λ₯Ό κ²€μƒ‰ν•˜μ—¬ λ°˜ν™˜ν•˜λŠ” λ©”μ†Œλ“œ
		public List<HewonDTO> selectHewonList() {
				Connection con=null;
				PreparedStatement pstmt=null;
				ResultSet rs=null;
				List<HewonDTO> hewonList=new ArrayList<>();
				try {
					con=getConnection();
					
					String sql="select * from hewon order by h_hewonid";
					pstmt=con.prepareStatement(sql);
					
					rs=pstmt.executeQuery();
					
					while(rs.next()) {
						HewonDTO hewon=new HewonDTO();
						hewon.setH_hewonid(rs.getString("h_hewonid"));
						hewon.setH_pw(rs.getString("h_pw"));
						hewon.setH_name(rs.getString("h_name"));
						hewon.setH_phone(rs.getString("h_phone"));
						hewon.setH_zipcode(rs.getString("h_zipcode"));
						hewon.setH_address1(rs.getString("h_address1"));
						hewon.setH_address2(rs.getString("h_address2"));
						hewon.setH_email(rs.getString("h_email"));
						hewon.setH_status(rs.getInt("h_status"));
						hewon.setH_joindate(rs.getString("h_joindate"));
						hewon.setH_lastlogin(rs.getString("h_lastlogin"));
						hewonList.add(hewon);
					}
				} catch (SQLException e) {
					System.out.println("[μ—λŸ¬]selectHewonList() λ©”μ†Œλ“œμ˜ SQL 였λ₯˜ = "+e.getMessage());
				} finally {
					close(con, pstmt, rs);
				}
				return hewonList;
			}		

		
		//아이디λ₯Ό 전달받아 Hewon ν…Œμ΄λΈ”μ— μ €μž₯된 ν•΄λ‹Ή μ•„μ΄λ””μ˜ νšŒμ›μ •λ³΄λ₯Ό μ‚­μ œν•˜κ³  μ‚­μ œν–‰μ˜ 갯수λ₯Ό λ°˜ν™˜ν•˜λŠ” λ©”μ†Œλ“œ
		public int deleteHewon(String h_hewonid) {
			Connection con=null;
			PreparedStatement pstmt=null;
			int rows=0;
			try {
				con=getConnection();
				
				String sql="delete from hewon where h_hewonid=?";
				pstmt=con.prepareStatement(sql);
				pstmt.setString(1, h_hewonid);
					
				rows=pstmt.executeUpdate();
			} catch (SQLException e) {
				System.out.println("[μ—λŸ¬]deleteHewon() λ©”μ†Œλ“œμ˜ SQL 였λ₯˜ = "+e.getMessage());
			} finally {
				close(con, pstmt);
			}
			return rows;
		}
		
		//νšŒμ›μ •λ³΄λ₯Ό 전달받아 Hewon ν…Œμ΄λΈ”μ— μ €μž₯된 νšŒμ›μ •λ³΄λ₯Ό λ³€κ²½ν•˜κ³  λ³€κ²½ν–‰μ˜ 갯수λ₯Ό λ°˜ν™˜ν•˜λŠ” λ©”μ†Œλ“œ
		
		public int updateHewon(HewonDTO hewon) {
			Connection con=null;
			PreparedStatement pstmt=null;
			int rows=0;
			try {
				con=getConnection();
				
				String sql="update hewon set h_pw=?,h_name=?,h_email=?,h_phone=?,h_zipcode=?"
						+ ",h_address1=?,h_address2=? where h_hewonid=?";
				pstmt=con.prepareStatement(sql);
				pstmt.setString(1, hewon.getH_pw());
				pstmt.setString(2, hewon.getH_name());
				pstmt.setString(3, hewon.getH_email());
				pstmt.setString(4, hewon.getH_phone());
				pstmt.setString(5, hewon.getH_zipcode());
				pstmt.setString(6, hewon.getH_address1());
				pstmt.setString(7, hewon.getH_address2());
				pstmt.setString(8, hewon.getH_hewonid());
				
				rows=pstmt.executeUpdate();
			} catch (SQLException e) {
				System.out.println("[μ—λŸ¬]updateMember() λ©”μ†Œλ“œμ˜ SQL 였λ₯˜ = "+e.getMessage());
			} finally {
				close(con, pstmt);
			}
			return rows;
		}
		
		public HewonDTO selectProductOrderedHewon(String h_hewonid) {
			Connection con=null;
			PreparedStatement pstmt=null;
			ResultSet rs=null;
			HewonDTO orderedhewon=null;
					try {
				con=getConnection();
				String sql=" select h_hewonid, o_pnum, o_status"
						+ " from orders join hewon on hewon.h_hewonid = orders.o_hewonid"
						+ " join product on orders.o_pnum = product.p_pnum"
						+ " where h_hewonid =?"; 
				pstmt=con.prepareStatement(sql);
				pstmt.setString(1, h_hewonid);
				rs=pstmt.executeQuery();
				
				if(rs.next()) {
					orderedhewon=new HewonDTO();
					orderedhewon.setH_hewonid(rs.getString("h_hewonid"));
					orderedhewon.setH_pw(rs.getString("h_pw"));
					orderedhewon.setH_name(rs.getString("h_name"));
					orderedhewon.setH_phone(rs.getString("h_phone"));
					orderedhewon.setH_zipcode(rs.getString("h_zipcode"));
					orderedhewon.setH_address1(rs.getString("h_address1"));
					orderedhewon.setH_address2(rs.getString("h_address2"));
					orderedhewon.setH_email(rs.getString("h_email"));
					orderedhewon.setH_status(rs.getInt("h_status"));
					orderedhewon.setH_joindate(rs.getString("h_joindate"));
					orderedhewon.setH_lastlogin(rs.getString("h_lastlogin"));
				}
			} catch (SQLException e) {
				System.out.println("[μ—λŸ¬]selectProductOrderedHewon() λ©”μ†Œλ“œμ˜ SQL 였λ₯˜ = "+e.getMessage());
			} finally {
				close(con, pstmt, rs);
			}
			return orderedhewon;
		}	
}





πŸ“™ DAO (order)


package xyz.itwill.dao;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

import xyz.itwill.dto.OrdersDTO;
import xyz.itwill.dto.ProductDTO;

public class OrdersDAO extends JdbcDAO {
	private static OrdersDAO _dao;
	
	private OrdersDAO() {
		// TODO Auto-generated constructor stub
	}
	
	static {
		_dao=new OrdersDAO();
	}
	
	public static OrdersDAO getDAO() {
		return _dao;
	}
	
	
	
		//νšŒμ›μ•„μ΄λ””λ₯Ό 전달받아 ORDERS ν…Œμ΄λΈ”μ— μ €μž₯된 νšŒμ›μ˜ 주문정보λ₯Ό κ²€μƒ‰ν•˜μ—¬ λ°˜ν™˜ν•˜λŠ” λ©”μ†Œλ“œ
		public List<OrdersDTO> selecthewonOrders(String o_hewonid) {
			Connection con=null;
			PreparedStatement pstmt=null;
			ResultSet rs=null;
			List<OrdersDTO> orderhewonlist=new ArrayList<>();
			try {
				con=getConnection();
				
				String sql="select * from orders where o_hewonid=? order by o_onum";
				pstmt=con.prepareStatement(sql);
				pstmt.setString(1, o_hewonid);
				
				rs=pstmt.executeQuery();
				
				while (rs.next()) {
					OrdersDTO orderslist=new OrdersDTO();
					orderslist.setO_onum(rs.getInt("o_onum"));
					orderslist.setO_status(rs.getInt("o_status"));
					orderslist.setO_date(rs.getString("o_date"));
					orderslist.setO_comment(rs.getString("o_comment"));
					orderslist.setO_hewonid(rs.getString("o_hewonid"));
					orderslist.setO_quantity(rs.getInt("o_quantity"));
					orderslist.setO_pnum(rs.getInt("o_pnum"));
					orderslist.setO_address1(rs.getString("o_address1"));
					orderslist.setO_address2(rs.getString("o_address2"));
					orderslist.setO_zipcode(rs.getString("o_zipcode"));
					orderslist.setO_phone(rs.getString("o_phone"));
					orderhewonlist.add(orderslist);
				}
			} catch (SQLException e) {
				System.out.println("[μ—λŸ¬]selectOrders() λ©”μ†Œλ“œμ˜ SQL 였λ₯˜ = "+e.getMessage());
			} finally {
				close(con, pstmt, rs);
			}
			return orderhewonlist;
		}
		
		
		//order번호λ₯Ό 전달받아 order ν…Œμ΄λΈ”μ— μ €μž₯된 ν•΄λ‹Ή μƒν’ˆλ²ˆν˜Έμ˜ 값을 κ²€μƒ‰ν•˜μ—¬ λ°˜ν™˜ν•˜λŠ” λ©”μ†Œλ“œ
		public ProductDTO selectProduct(int o_pnum) {
			Connection con=null;
			PreparedStatement pstmt=null;
			ResultSet rs=null;
			ProductDTO orderProduct=null;
			try {
				con=getConnection();
				String sql="select p_pnum, p_name,p_price from product join orders on o_pnum=p_pnum where o_pnum=?";
				pstmt=con.prepareStatement(sql);
				pstmt.setInt(1, o_pnum);
				rs=pstmt.executeQuery();
				if(rs.next()) {
					orderProduct=new ProductDTO();
					orderProduct.setP_pnum(rs.getInt("p_pnum"));
					orderProduct.setP_name(rs.getString("p_name"));
					orderProduct.setP_price(rs.getInt("p_price"));
				}
			} catch (SQLException e) {
				System.out.println("[μ—λŸ¬]selectProduct() λ©”μ†Œλ“œμ˜ SQL 였λ₯˜ = "+e.getMessage());
			} finally {
				close(con, pstmt, rs);
			}
			return orderProduct;
		}
	
	
	//주문정보λ₯Ό 전달받아 ORDERS ν…Œμ΄λΈ”μ— μ‚½μž…ν•˜κ³  μ‚½μž…ν–‰μ˜ 갯수λ₯Ό λ°˜ν™˜ν•˜λŠ” λ©”μ†Œλ“œ
	public int insertOrders(OrdersDTO orders) {
		Connection con=null;
		PreparedStatement pstmt=null;
		int rows=0;
		try {
			con=getConnection();
			
			String sql="insert into orders values(?,0,sysdate,?,?,?,?,?,?,?,?)";
			pstmt=con.prepareStatement(sql);
			pstmt.setInt(1, orders.getO_onum());
			pstmt.setString(2, orders.getO_comment());
			pstmt.setString(3, orders.getO_hewonid());			
			pstmt.setInt(4, orders.getO_quantity());
			pstmt.setInt(5, orders.getO_pnum());
			pstmt.setString(6, orders.getO_address1());
			pstmt.setString(7, orders.getO_address2());
			pstmt.setString(8, orders.getO_zipcode());
			pstmt.setString(9, orders.getO_phone());
			
			rows=pstmt.executeUpdate();
		} catch (SQLException e) {
			System.out.println("[μ—λŸ¬]insertOrders() λ©”μ†Œλ“œμ˜ SQL 였λ₯˜ = "+e.getMessage());
		} finally {
			close(con, pstmt);
		}
		return rows;
	}
	
	//주문번호λ₯Ό 전달받아 ORDERS ν…Œμ΄λΈ”μ— μ €μž₯된 주문정보λ₯Ό κ²€μƒ‰ν•˜μ—¬ λ°˜ν™˜ν•˜λŠ” λ©”μ†Œλ“œ
	public OrdersDTO selectOrders(int o_onum) {
		Connection con=null;
		PreparedStatement pstmt=null;
		ResultSet rs=null;
		OrdersDTO orders=null;
		try {
			con=getConnection();
			
			String sql="select * from orders where O_onum=?";
			pstmt=con.prepareStatement(sql);
			pstmt.setInt(1, o_onum);
			
			rs=pstmt.executeQuery();
			
			if(rs.next()) {
				orders=new OrdersDTO();
				orders.setO_onum(rs.getInt("o_onum"));
				orders.setO_pnum(rs.getInt("p_onum"));
				orders.setO_quantity(rs.getInt("O_quantity"));
				orders.setO_hewonid(rs.getString("o_hewonid"));
				orders.setO_comment(rs.getString("o_comment"));
				orders.setO_phone(rs.getString("o_phone"));
				orders.setO_zipcode(rs.getString("o_zipcode"));
				orders.setO_address1(rs.getString("o_address1"));
				orders.setO_address2(rs.getString("o_address2"));
				orders.setO_date(rs.getString("o_date"));
				orders.setO_status(rs.getInt("o_status"));
			}
		} catch (SQLException e) {
			System.out.println("[μ—λŸ¬]selectOrders() λ©”μ†Œλ“œμ˜ SQL 였λ₯˜ = "+e.getMessage());
		} finally {
			close(con, pstmt, rs);
		}
		return orders;
	}
	
	
	//주문번호λ₯Ό 전달받아 ORDERS ν…Œμ΄λΈ”μ— μ €μž₯된 주문정보λ₯Ό λ³€κ²½ν•˜κ³  λ³€κ²½ν–‰μ˜ 갯수λ₯Ό λ°˜ν™˜ν•˜λŠ” λ©”μ†Œλ“œ
	public int updateOrders(OrdersDTO orders) {
		Connection con=null;
		PreparedStatement pstmt=null;
		int rows=0;
		try {
			con=getConnection();
			
			String sql="update orders set o_comment=?,o_phone=?,zipcode=?,address1=?,address2=? where O_onum=?";
			pstmt=con.prepareStatement(sql);
			
			pstmt.setString(1, orders.getO_comment());
			pstmt.setString(2, orders.getO_phone());
			pstmt.setString(3, orders.getO_zipcode());
			pstmt.setString(4, orders.getO_address1());
			pstmt.setString(5, orders.getO_address2());			
			pstmt.setInt(8, orders.getO_pnum());
			
			rows=pstmt.executeUpdate();
		} catch (SQLException e) {
			System.out.println("[μ—λŸ¬]updateOrders() λ©”μ†Œλ“œμ˜ SQL 였λ₯˜ = "+e.getMessage());
		} finally {
			close(con, pstmt);
		}
		return rows;
	}
	
	//아이디와 νšŒμ›μƒνƒœλ₯Ό 전달받아 ORDERS ν…Œμ΄λΈ”μ— μ €μž₯된 ν•΄λ‹Ή μ•„μ΄λ””μ˜ νšŒμ›μ •λ³΄μ—μ„œ νšŒμ›μƒνƒœλ₯Ό
	//λ³€κ²½ν•˜κ³  λ³€κ²½ν–‰μ˜ 갯수λ₯Ό λ°˜ν™˜ν•˜λŠ” λ©”μ†Œλ“œ
	public int updateO_Status(String o_hewonid, int o_status) {
		Connection con=null;
		PreparedStatement pstmt=null;
		int rows=0;
		try {
			con=getConnection();
			
			String sql="update orders set o_status=? where o_hewonid=?";
			pstmt=con.prepareStatement(sql);
			pstmt.setInt(1, o_status);
			pstmt.setString(2, o_hewonid);
			
			rows=pstmt.executeUpdate();
		} catch (SQLException e) {
			System.out.println("[μ—λŸ¬]updateStatus() λ©”μ†Œλ“œμ˜ SQL 였λ₯˜ = "+e.getMessage());
		} finally {
			close(con, pstmt);
		}
		return rows;
	}
	
	//ORDERS ν…Œμ΄λΈ”μ— μ €μž₯된 λͺ¨λ“  νšŒμ›μ •λ³΄λ₯Ό κ²€μƒ‰ν•˜μ—¬ λ°˜ν™˜ν•˜λŠ” λ©”μ†Œλ“œ
	public List<OrdersDTO> selectOrdersList() {
		Connection con=null;
		PreparedStatement pstmt=null;
		ResultSet rs=null;
		List<OrdersDTO> ordersList=new ArrayList<>();
		try {
			con=getConnection();
			
			String sql="select * from orders order by o_onum";
			pstmt=con.prepareStatement(sql);
			
			rs=pstmt.executeQuery();
			
			while(rs.next()) {
				OrdersDTO orders=new OrdersDTO();
				orders.setO_onum(rs.getInt("o_onum"));
				orders.setO_pnum(rs.getInt("o_pnum"));
				orders.setO_quantity(rs.getInt("o_quantity"));
				orders.setO_hewonid(rs.getString("o_hewonid"));
				orders.setO_comment(rs.getString("o_comment"));
				orders.setO_phone(rs.getString("o_phone"));
				orders.setO_zipcode(rs.getString("o_zipcode"));
				orders.setO_address1(rs.getString("o_address1"));
				orders.setO_address2(rs.getString("o_address2"));
				orders.setO_date(rs.getString("o_date"));
				orders.setO_status(rs.getInt("o_status"));
				ordersList.add(orders);
			}
		} catch (SQLException e) {
			System.out.println("[μ—λŸ¬]selectOrdersList() λ©”μ†Œλ“œμ˜ SQL 였λ₯˜ = "+e.getMessage());
		} finally {
			close(con, pstmt, rs);
		}
		return ordersList;
	}
	
	//아이디λ₯Ό 전달받아 ORDERS ν…Œμ΄λΈ”μ— μ €μž₯된 ν•΄λ‹Ή μ•„μ΄λ””μ˜ νšŒμ›μ •λ³΄λ₯Ό μ‚­μ œν•˜κ³  μ‚­μ œν–‰μ˜ 갯수λ₯Ό λ°˜ν™˜ν•˜λŠ” λ©”μ†Œλ“œ
	public int deleteOrders(String o_hewonid) {
		Connection con=null;
		PreparedStatement pstmt=null;
		int rows=0;
		try {
			con=getConnection();
			
			String sql="delete from orders where o_onum=?";
			pstmt=con.prepareStatement(sql);
			pstmt.setString(1, o_hewonid);
			
			rows=pstmt.executeUpdate();
		} catch (SQLException e) {
			System.out.println("[μ—λŸ¬]deleteOrders() λ©”μ†Œλ“œμ˜ SQL 였λ₯˜ = "+e.getMessage());
		} finally {
			close(con, pstmt);
		}
		return rows;
	}
	

	
}





πŸ“’ νšŒμ›μ •λ³΄λ³€κ²½, νƒˆν‡΄μ‹œ λΉ„λ°€λ²ˆν˜Έν™•μΈ


<%@page import="xyz.itwill.util.Utility"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@include file="/security/login_check.jspf" %> 

<style type="text/css">
#mb_confirm h1 {
    margin: 0px 0 0px;
    font-size: 2em;
    text-indent: -999999px;
}
h1 {
    margin: 0;
    padding: 0;
    font-size: 13px;
    color: #333;
    line-height: 1.6em;
    font-family: 'Noto Sans KR', sans-serif;
    font-weight: 400;
    letter-spacing: -0.02em;
    border-top: 1px solid #e9e9e9;
}
#mb_confirm p strong {
    display: block;
    color: #3ca1ff;
    font-size: 1.167em;
    margin: 0 0 5px;
}
strong {
    font-weight: bold;
}
#mb_confirm p {
    padding: 0 20px 40px;
    padding-top: 0px;
    padding-right: 20px;
    padding-bottom: 40px;
    padding-left: 20px;
    border-bottom : 1px solid #e9e9e9;
    font-size: 1.083em;
    line-height: 1.4em;
    color: #656565;
}
p {
    margin: 0;
    padding: 0;
    word-break: break-all;
    letter-spacing: -0.02em;
}
.mbskin {
    position: relative;
    margin: 50px auto 0;
    width: 360px;
    text-align: center;
}
p {
    display: block;
    margin-block-start: 1em;
    margin-block-end: 1em;
    margin-inline-start: 0px;
    margin-inline-end: 0px;
}
#mb_confirm fieldset {
    padding: 50px;
    text-align: left;
}
html, h1, h2, h3, h4, h5, h6, form, fieldset, img {
    margin: 0;
    padding: 0;
    border: 0;
}
*, :after, :before {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}
fieldset {
    display: block;
    margin-inline-start: 2px;
    margin-inline-end: 2px;
    padding-block-start: 0.35em;
    padding-inline-start: 0.75em;
    padding-inline-end: 0.75em;
    padding-block-end: 0.625em;
    min-inline-size: min-content;
    border-width: 2px;
    border: 1px solid #e9e9e9;
    border-image: initial;
}
div {
    margin: 0;
    padding: 0;
    font-size: 13px;
    color: #333;
    line-height: 1.6em;
    font-family: 'Noto Sans KR', sans-serif;
    font-weight: 400;
    letter-spacing: -0.02em;
}
#mb_confirm_id {
    display: block;
    margin: 5px 0 10px;
    font-weight: bold;
}
.mbskin .frm_input {
    width: 100%;
}
[class~=frm_input] {
    height: 40px;
}
[class~=frm_input] {
    -webkit-box-shadow: none;
    -moz-box-shadow: none;
    box-shadow: none;
    border: 1px solid #ccc !important;
    outline: none;
}
.required, textarea.required {
    background-image: url(../img/require.png) !important;
    background-repeat: no-repeat !important;
    background-position: right top !important;
}
.mbskin fieldset .btn_submit {
    background-color: #333;
}
.mbskin .btn_submit {
    width: 100%;
    margin: 10px 0 0;
    height: 45px;
    font-weight: bold;
    font-size: 1.25em;
}
.mbskin .btn_submit {
}
[class~=btn_submit] {
    background: #222;
    border: 1px solid #222;
}
.btn_submit {
    border: 1px solid #1c70e9;
    background: #3a8afd;
    color: #fff;
    cursor: pointer;
    border-radius: 3px;
}

input {
    outline: none !important;
    outline-style: none !important;
}
#confirm_border {
	border: 1px solid gray;
}

</style>


  
<%
	//전달값이 없을 경우 비정상적인 μš”μ²­ (비정상적인 μš”μ²­μ— λŒ€ν•œ 응닡 처리)
	if(request.getParameter("action")==null) {
		out.println("<script type='text/javascript'>");
		out.println("location.href='"+request.getContextPath()+"/index.jsp?workgroup=error&work=error_400';");
		out.println("</script>");
		return;
	}



	//전달값(actionκ°’)을 λ°˜ν™˜λ°›μ•„ μ €μž₯
	String action=request.getParameter("action");
	
	//νšŒμ›μ •λ³΄μˆ˜μ •κ³Ό νšŒμ›νƒˆν‡΄κ°€ 아닐 경우 비정상적인 μš”μ²­(비정상적인 μš”μ²­μ— λŒ€ν•œ 응닡 처리)
	if(!action.equals("modify") && !action.equals("remove")) {
		out.println("<script type='text/javascript'>");
		out.println("location.href='"+request.getContextPath()+"/index.jsp?workgroup=error&work=error_400';");
		out.println("</script>");
		return;
	}
	
	
	String message=(String)session.getAttribute("message");
	if(message==null) {
		message="";
	} else {
		session.removeAttribute("message");
	}
%>





<div id="mb_confirm" class="mbskin">
    <h1>νšŒμ› λΉ„λ°€λ²ˆν˜Έ 확인</h1>
    <p><strong>λΉ„λ°€λ²ˆν˜Έλ₯Ό ν•œλ²ˆ 더 μž…λ ₯ν•΄μ£Όμ„Έμš”.</strong>
	<% if(action.equals("modify")) { //νšŒμ›μ •λ³΄μˆ˜μ •μΌ 경우 %>
     νšŒμ›λ‹˜μ˜ 정보λ₯Ό μ•ˆμ „ν•˜κ²Œ λ³€κ²½ν•˜κΈ° μœ„ν•΄<br>
     λΉ„λ°€λ²ˆν˜Έλ₯Ό ν•œλ²ˆ 더 ν™•μΈν•©λ‹ˆλ‹€.
	<% } else {  %>	
    λΉ„λ°€λ²ˆν˜Έλ₯Ό μž…λ ₯ν•˜μ‹œλ©΄ νšŒμ›νƒˆν‡΄κ°€ μ™„λ£Œλ©λ‹ˆλ‹€.</p>
	<% } %>

    <form name="fmemberconfirm" method="post">
    <input type="hidden" name="mb_id" value=<%=loginHewon.getH_hewonid() %>>
    <input type="hidden" name="w" value=<%=loginHewon.getH_name() %>>

    <fieldset>
        <span class="confirm_id">νšŒμ›μ•„μ΄λ””</span>
        <span id="mb_confirm_id"><%=loginHewon.getH_hewonid() %></span>
        <input type="password" name="mb_password" id="confirm_mb_password" required class="required frm_input" size="15" maxLength="20" placeholder="λΉ„λ°€λ²ˆν˜Έ">
        <button type="button" onclick="submitCheck();" value="확인" id="btn_submit" class="btn_submit">확인</button>
        
		<p id="message" style="color: red;"><%=message %></p>
    </fieldset>
    </form>

</div>



<script type="text/javascript">
fmemberconfirm.mb_password.focus();
function submitCheck() {
	if(fmemberconfirm.mb_password.value=="") {
		document.getElementById("message").innerHTML="λΉ„λ°€λ²ˆν˜Έλ₯Ό λ°˜λ“œμ‹œ μž…λ ₯ν•΄ μ£Όμ„Έμš”.";
		fmemberconfirm.mb_password.focus();
		return;
	}
	
	
	
	<%-- 전달값에 μ˜ν•΄ form νƒœκ·Έλ‘œ μš”μ²­ν•˜λŠ” JSP λ¬Έμ„œ(action 속성값)λ₯Ό λ‹€λ₯΄κ²Œ μ„€μ • --%>
	<% if(action.equals("modify")) {//[νšŒμ›μ •λ³΄μˆ˜μ •]인 경우 %>
		fmemberconfirm.action="<%=request.getContextPath()%>/index.jsp?menugroup=hewon&menu=hewon_modify";
	<% } else {//[νšŒμ›νƒˆν‡΄]인 경우 %>
		fmemberconfirm.action="<%=request.getContextPath()%>/index.jsp?menugroup=hewon&menu=hewon_remove_action";
	<% } %>
	
	fmemberconfirm.submit();
}



</script>





πŸ“’ νšŒμ›μ •λ³΄ λ³€κ²½form


<%@page import="xyz.itwill.util.Utility"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>

<%@include file="/security/login_check.jspf" %>



<%
	//비정상적인 μš”μ²­μ— λŒ€ν•œ 응닡 처리
	if(request.getMethod().equals("GET")) {
		out.println("<script type='text/javascript'>");
		out.println("location.href='"+request.getContextPath()+"/index.jsp?menugroup=error&menu=error_400';");
		out.println("</script>");
		return;
	}
	//전달값을 λ°˜ν™˜λ°›μ•„ μ €μž₯
	String passwd=Utility.encrypt(request.getParameter("mb_password"));
	
	//μ „λ‹¬λœ λΉ„λ°€λ²ˆν˜Έκ°€ 둜그인 μ‚¬μš©μžμ˜ λΉ„λ°€λ²ˆν˜Έμ™€ κ°™μ§€ μ•Šμ€ 경우 λΉ„λ°€λ²ˆν˜Έ μž…λ ₯νŽ˜μ΄μ§€
	//(password_confirm.jsp)둜 이동
	if(!passwd.equals(loginHewon.getH_pw())) {
		session.setAttribute("message", "λΉ„λ°€λ²ˆν˜Έκ°€ μΌμΉ˜ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.");
		out.println("<script type='text/javascript'>");
		out.println("location.href='"+request.getContextPath()+"/index.jsp?menugroup=hewon&menu=password_confirm&action=modify';");
		out.println("</script>");
		return;
	}

%>   


<style type="text/css">
fieldset {
	text-align: left;
	margin: 10px auto;
	width: 1100px;
}

legend {
	font-size: 1.2em;
}

#join label {
	width: 150px;
	text-align: right;
	float: left;
	margin-right: 10px;
}

#join ul li {
	list-style-type: none;
	margin: 15px 0;
}

#fs {
	text-align: center;
}

.error {
	color: red;
	position: relative;
	left: 160px;
	display: none;
}

#idCheck, #postSearch {
	font-size: 12px;
	font-weight: bold;
	cursor: pointer;
	margin-left: 10px;
	padding: 2px 10px;
	border: 1px solid black;
}

#idCheck:hover, #postSearch:hover {
	background: aqua;
}
</style>


<form id="join" action="<%=request.getContextPath()%>/index.jsp?menugroup=hewon&menu=hewon_modify_action" method="post">
<fieldset>
	<legend>νšŒμ›μ •λ³΄λ³€κ²½</legend>
	<ul>
		<li>
			<label for="id">아이디</label>
			<input type="text" name="h_hewonid" id="h_hewonid" value="<%=loginHewon.getH_hewonid()%>" readonly="readonly">
		</li>
		<li>
			<label for="passwd">λΉ„λ°€λ²ˆν˜Έ</label>
			<input type="password" name="h_pw" id="h_pw">
			<span style="color: red;">λΉ„λ°€λ²ˆν˜Έλ₯Ό λ³€κ²½ν•˜μ§€ μ•Šμ„ 경우 μž…λ ₯ν•˜μ§€ λ§ˆμ„Έμš”.</span>
			<div id="passwdRegMsg" class="error">λΉ„λ°€λ²ˆν˜ΈλŠ” 영문자,숫자,νŠΉμˆ˜λ¬Έμžκ°€ λ°˜λ“œμ‹œ ν•˜λ‚˜μ΄μƒ ν¬ν•¨λœ 6~20 λ²”μœ„μ˜ 문자둜만 μž‘μ„± κ°€λŠ₯ν•©λ‹ˆλ‹€.</div>
		</li>
		<li>
			<label for="name">이름</label>
			<input type="text" name="h_name" id="h_name" value="<%=loginHewon.getH_name()%>" >
			<div id="nameMsg" class="error">이름을 μž…λ ₯ν•΄ μ£Όμ„Έμš”.</div>
		</li>
		<li>
			<label for="email">이메일</label>
			<input type="text" name="h_email" id="h_email" value="<%=loginHewon.getH_email()%>" >
			<div id="emailMsg" class="error">이메일을 μž…λ ₯ν•΄ μ£Όμ„Έμš”.</div>
			<div id="emailRegMsg" class="error">μž…λ ₯ν•œ 이메일이 ν˜•μ‹μ— λ§žμ§€ μ•ŠμŠ΅λ‹ˆλ‹€.</div>
		</li>
		
		<li>
			<label for=phone">μ „ν™”λ²ˆν˜Έ</label>
			<input type="text" name="h_phone" id="h_phone" value="<%=loginHewon.getH_phone()%>" >
			<div id="phoneMsg" class="error">이메일을 μž…λ ₯ν•΄ μ£Όμ„Έμš”.</div>
			<div id="phoneRegMsg" class="error">μž…λ ₯ν•œ 이메일이 ν˜•μ‹μ— λ§žμ§€ μ•ŠμŠ΅λ‹ˆλ‹€.</div>
		</li>
		
		<li>
			<label>우편번호</label>
			<input type="text" name="h_zipcode" id="h_zipcode" size="7" value="<%=loginHewon.getH_zipcode()%>"  readonly="readonly">
			<span id="postSearch">우편번호 검색</span>
			<div id="zipcodeMsg" class="error">우편번호λ₯Ό μž…λ ₯ν•΄ μ£Όμ„Έμš”.</div>
		</li>
		<li>
			<label for="address1">κΈ°λ³Έμ£Όμ†Œ</label>
			<input type="text" name="h_address1" id="h_address1" size="50" value="<%=loginHewon.getH_address1()%>"  readonly="readonly">
			<div id="address1Msg" class="error">κΈ°λ³Έμ£Όμ†Œλ₯Ό μž…λ ₯ν•΄ μ£Όμ„Έμš”.</div>
		</li>
		<li>
			<label for="address2">μƒμ„Έμ£Όμ†Œ</label>
			<input type="text" name="h_address2" id="h_address2" size="50" value="<%=loginHewon.getH_address2()%>" >
			<div id="address2Msg" class="error">μƒμ„Έμ£Όμ†Œλ₯Ό μž…λ ₯ν•΄ μ£Όμ„Έμš”.</div>
		</li>
	</ul>
</fieldset>
<div id="fs">
	<button type="submit">νšŒμ›λ³€κ²½</button>
	<button type="reset">λ‹€μ‹œμž…λ ₯</button>
</div>
</form>
<script type="text/javascript">
$("#join").submit(function() {
	var submitResult=true;
	
	$(".error").css("display","none");

	var passwdReg=/^(?=.*[a-zA-Z])(?=.*[0-9])(?=.*[~!@#$%^&*_-]).{6,20}$/g;
	if($("#h_pw").val()!="" && !passwdReg.test($("#h_pw").val())) {
		$("#passwdRegMsg").css("display","block");
		submitResult=false;
	} 

	if($("#h_name").val()=="") {
		$("#nameMsg").css("display","block");
		submitResult=false;
	}
	
	var emailReg=/^([a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+(\.[-a-zA-Z0-9]+)+)*$/g;
	if($("#h_email").val()=="") {
		$("#emailMsg").css("display","block");
		submitResult=false;
	} else if(!emailReg.test($("#h_email").val())) {
		$("#emailRegMsg").css("display","block");
		submitResult=false;
	}

	
	if($("#h_zipcode").val()=="") {
		$("#zipcodeMsg").css("display","block");
		submitResult=false;
	}
	
	if($("#h_address1").val()=="") {
		$("#address1Msg").css("display","block");
		submitResult=false;
	}
	
	if($("#h_address2").val()=="") {
		$("#address2Msg").css("display","block");
		submitResult=false;
	}
	
	return submitResult;
});
</script>

<script src="//t1.daumcdn.net/mapjsapi/bundle/postcode/prod/postcode.v2.js"></script>
<script>
$("#postSearch").click(function() {
	new daum.Postcode({
	    oncomplete: function(data) {
	        $("#h_zipcode").val(data.zonecode);
	        $("#h_address1").val(data.address);
	    }
	}).open();
});
</script>




πŸ“’ νšŒμ›μ •λ³΄ λ³€κ²½μ²˜λ¦¬


<%@page import="xyz.itwill.dao.HewonDAO"%>
<%@page import="xyz.itwill.dto.HewonDTO"%>
<%@page import="xyz.itwill.util.Utility"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%-- νšŒμ›μ •λ³΄λ₯Ό 전달받아 MEMBER ν…Œμ΄λΈ”μ— μ €μž₯된 νšŒμ›μ •λ³΄λ₯Ό λ³€κ²½ν•˜κ³  내정보 좜λ ₯νŽ˜μ΄μ§€(member_mypage.jsp)둜
μ΄λ™ν•˜κΈ° μœ„ν•œ URL μ£Όμ†Œ μ „λ‹¬ν•˜λŠ” JSP λ¬Έμ„œ --%>
<%-- => 둜그인 μ‚¬μš©μžλ§Œ μš”μ²­ κ°€λŠ₯ν•œ JSP λ¬Έμ„œ --%>
<%@include file="/security/login_check.jspf" %>
<%
	//비정상적인 μš”μ²­μ— λŒ€ν•œ 응닡 처리
	if(request.getMethod().equals("GET")) {
		out.println("<script type='text/javascript'>");
		out.println("location.href='"+request.getContextPath()+"/index.jsp?workgroup=error&work=error_400';");
		out.println("</script>");
		return;
	}
	
	//전달값을 λ°˜ν™˜λ°›μ•„ μ €μž₯
	String h_hewonid=request.getParameter("h_hewonid");
	String h_pw=request.getParameter("h_pw");
	if(h_pw==null || h_pw.equals("")) {//λΉ„λ°€λ²ˆν˜Έ 전달값이 μ—†λŠ” 경우
		//둜그인 μ‚¬μš©μžμ˜ λΉ„λ°€λ²ˆν˜Έλ₯Ό λ³€μˆ˜μ— μ €μž₯ - κΈ°μ‘΄ λΉ„λ°€λ²ˆν˜Έ μœ μ§€
		h_pw=loginHewon.getH_pw();
	} else {//λΉ„λ°€λ²ˆν˜Έ 전달값이 μžˆλŠ” 경우
		//μƒˆλ‘œμš΄ λΉ„λ°€λ²ˆν˜Έλ₯Ό μ•”ν˜Έν™” μ²˜λ¦¬ν•˜μ—¬ λ³€μˆ˜μ— μ €μž₯ - λΉ„λ°€λ²ˆν˜Έ λ³€κ²½
		h_pw=Utility.encrypt(h_pw);
	}
	String h_name=request.getParameter("h_name");
	String h_email=request.getParameter("h_email");
	String h_phone=request.getParameter("h_phone");
	String h_zipcode=request.getParameter("h_zipcode");
	String h_address1=request.getParameter("h_address1");
	String h_address2=request.getParameter("h_address2");
	
	HewonDTO hewon=new HewonDTO();
	hewon.setH_hewonid(h_hewonid);
	hewon.setH_pw(h_pw);
	hewon.setH_name(h_name);
	hewon.setH_email(h_email);
	hewon.setH_phone(h_phone);
	hewon.setH_zipcode(h_zipcode);
	hewon.setH_address1(h_address1);
	hewon.setH_address2(h_address1);

	//νšŒμ›μ •λ³΄λ₯Ό 전달받아 MEMBER ν…Œμ΄λΈ”μ— μ €μž₯된 νšŒμ›μ •λ³΄λ₯Ό λ³€κ²½ν•˜λŠ” DAO 클래슀의 λ©”μ†Œλ“œ 호좜
	HewonDAO.getDAO().updateHewon(hewon);
	
	//μ„Έμ…˜μ— μ €μž₯된 κΆŒν•œ κ΄€λ ¨ 정보(νšŒμ›μ •λ³΄) λ³€κ²½
	session.setAttribute("loginHewon", HewonDAO.getDAO().selectHewon(h_hewonid));
	
	//ν΄λΌμ΄μ–ΈνŠΈμ—κ²Œ URL μ£Όμ†Œ 전달
	out.println("<script type='text/javascript'>");
	out.println("location.href='"+request.getContextPath()+"/index.jsp?menugroup=order&menu=order_list';");
	out.println("</script>");
%>





πŸ“’ νšŒμ›νƒˆν‡΄ 처리


<%@page import="xyz.itwill.dao.HewonDAO"%>
<%@page import="xyz.itwill.util.Utility"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@include file="/security/login_check.jspf" %>
<%
	//비정상적인 μš”μ²­μ— λŒ€ν•œ 응닡 처리
	if(request.getMethod().equals("GET")) {
		out.println("<script type='text/javascript'>");
		out.println("location.href='"+request.getContextPath()+"/index.jsp?workgroup=error&work=error_400';");
		out.println("</script>");
		return;
	}
	//전달값을 λ°˜ν™˜λ°›μ•„ μ €μž₯
	String passwd=Utility.encrypt(request.getParameter("mb_password"));
	
	//μ „λ‹¬λœ λΉ„λ°€λ²ˆν˜Έκ°€ 둜그인 μ‚¬μš©μžμ˜ λΉ„λ°€λ²ˆν˜Έμ™€ κ°™μ§€ μ•Šμ€ 경우 λΉ„λ°€λ²ˆν˜Έ μž…λ ₯νŽ˜μ΄μ§€
	//(password_confirm.jsp)둜 이동
	if(!passwd.equals(loginHewon.getH_pw())) {
		session.setAttribute("message", "λΉ„λ°€λ²ˆν˜Έκ°€ μΌμΉ˜ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.");
		out.println("<script type='text/javascript'>");
		out.println("location.href='"+request.getContextPath()+"/index.jsp?menugroup=hewon&menu=password_confirm&action=remove';");
		out.println("</script>");
		return;
	}
	
	//아이디와 νšŒμ›μƒνƒœλ₯Ό 전달받아 MEMBER νƒœμ΄λΈ”μ— μ €μž₯된 ν•΄λ‹Ή μ•„μ΄λ””μ˜ νšŒμ›μ •λ³΄μ—μ„œ νšŒμ›μƒνƒœλ₯Ό
	//λ³€κ²½ν•˜λŠ” DAO 클래슀의 λ©”μ†Œλ“œ 호좜 - νƒˆν‡΄νšŒμ›μœΌλ‘œ λ³€κ²½ 처리
	HewonDAO.getDAO().updateH_Status(loginHewon.getH_hewonid(), 0);
	
	//ν΄λΌμ΄μ–ΈνŠΈμ—κ²Œ URL μ£Όμ†Œ 전달
	out.println("<script type='text/javascript'>");
	out.println("location.href='"+request.getContextPath()+"/index.jsp?menugroup=login&menu=hewon_logout_action';");
	out.println("</script>");
	
%>  





πŸ“’ μ£Όλ¬Έlist 좜λ ₯


<%@page import="java.text.DecimalFormat"%>
<%@page import="xyz.itwill.dao.CartDAO"%>
<%@page import="xyz.itwill.dto.ProductDTO"%>
<%@page import="xyz.itwill.dao.OrdersDAO"%>
<%@page import="xyz.itwill.dto.OrdersDTO"%>
<%@page import="xyz.itwill.dto.HewonDTO"%>
<%@page import="java.util.List"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<script>

</script>
<!-- } 상단 끝 -->
<%@include file="/security/login_url.jspf" %>
<%

	List<OrdersDTO> ordersList=OrdersDAO.getDAO().selecthewonOrders(loginHewon.getH_hewonid());
		

%>


<style type="text/css">
.tbl_head03 td {
    background: #fff;
    background-clip: padding-box;
    padding: 25px 15px;
    border-top: 1px solid #ccd2d9;
    border-left: 1px solid #f6f6f6;
    line-height: 1.5em;
    word-break: break-all;
}

.ordertable {
    width: 30px;
    text-align: center;
}
td {
    margin: 0;
    padding: 0;
    font-size: 13px;
    font-family: 'Noto Sans KR', sans-serif;
    font-weight: 400;
    letter-spacing: -0.02em;
}
.tbl_wrap table {
    width: 100%;
    border-collapse: collapse;
    border-spacing: 0;
}

table {
    text-indent: initial;
}

p {
	align-content: center;
	margin: 0;
    padding: 0;
    font-size: 13px;
    color: #333;
    line-height: 1.6em;
    font-family: 'Noto Sans KR', sans-serif;
    font-weight: 400;
    letter-spacing: -0.02em;
}
</style>

<div id="wrapper" style="clear:both;">  
	<!-- μ½˜ν…μΈ  μ‹œμž‘ { -->
	<div id="container">
	 	<!-- .shop-content μ‹œμž‘ { -->
		<div class="shop-content">
			<div id="wrapper_title">λ§ˆμ΄νŽ˜μ΄μ§€</div>
				<!-- λ§ˆμ΄νŽ˜μ΄μ§€ μ‹œμž‘ { -->
				<div id="smb_my">
				    <!-- νšŒμ›μ •λ³΄ κ°œμš” μ‹œμž‘ { -->
				    <section id="smb_my_ov">
				        <h2>νšŒμ›μ •λ³΄ κ°œμš”</h2>
				        
				       <div class="smb_me">
					        <strong class="my_ov_name"><img src="http://bant.co.kr/img/no_profile.gif" alt="profile_image"><br><%=loginHewon.getH_name() %></strong>
					        <br>
					        <a href="<%=request.getContextPath()%>/index.jsp?menugroup=hewon&menu=password_confirm&action=modify" >μ •λ³΄μˆ˜μ •</a>
					        <a href="<%=request.getContextPath()%>/index.jsp?menugroup=login&menu=hewon_logout_action">λ‘œκ·Έμ•„μ›ƒ</a>
				        </div>
				        
				        <ul id="smb_private">
					    	<li>
					    		&nbsp;&nbsp;&nbsp;
					            <button type="button" class="win_point" id="orderpoint">
									<i class="fa fa-database" aria-hidden="true"></i>보유 포인트&nbsp;&nbsp;
					            </button>
					        </li>
					    </ul>
					    
				        <h3>내정보</h3>
				        <dl class="op_area">
				            <dt>μ—°λ½μ²˜</dt>
				            <dd><%=loginHewon.getH_phone() %></dd>
				            <dt>E-Mail</dt>
				            <dd><%=loginHewon.getH_email() %></dd>
				            <dt>μ΅œμ’…μ ‘μ†μΌμ‹œ</dt>
				            <dd><%=loginHewon.getH_lastlogin() %></dd>
				            <dt>νšŒμ›κ°€μž…μΌμ‹œ</dt>
				            <dd><%=loginHewon.getH_joindate() %></dd>
				            <dt id="smb_my_ovaddt">μ£Όμ†Œ</dt>
				            <dd id="smb_my_ovaddd">&nbsp;&nbsp;[<%=loginHewon.getH_zipcode() %>]&nbsp;&nbsp;<%=loginHewon.getH_address1() %>&nbsp;&nbsp;<%=loginHewon.getH_address2() %></dd>
				        </dl>
				        
				        <a href="<%=request.getContextPath()%>/index.jsp?menugroup=hewon&menu=password_confirm&action=remove" class="withdrawal" >νšŒμ›νƒˆν‡΄</a>
				    </section>
				    <!-- } νšŒμ›μ •λ³΄ κ°œμš” 끝 -->
				
					<div id="smb_my_list">
					    <!-- 졜근 μ£Όλ¬Έλ‚΄μ—­ μ‹œμž‘ { -->
					    <section id="smb_my_od">
					        <h2>μ£Όλ¬Έλ‚΄μ—­μ‘°νšŒ</h2>
	        
							<!-- μ£Όλ¬Έ λ‚΄μ—­ λͺ©λ‘ μ‹œμž‘ { -->
							
							<div class="tbl_head03 tbl_wrap">
							    <table>
								    <thead>
									    <tr>
									        <th scope="col">μ£Όλ¬Έμ„œλ²ˆν˜Έ</th>
									        <th scope="col">μ£Όλ¬ΈμΌμ‹œ</th>
									        <th scope="col">μ£Όλ¬Έμˆ˜λŸ‰</th>
									        <th scope="col">μ£Όλ¬ΈκΈˆμ•‘</th>
									        <th scope="col">μƒνƒœ</th>
									    </tr>
								    </thead>
							    	<tbody>
							    		<%if(ordersList==null) {%>
							   			 <tr>
							   			 	<td colspan="7" class="empty_table">μ£Όλ¬Έ 내역이 μ—†μŠ΅λ‹ˆλ‹€.</td>
							   			 </tr>    
							    		<%} else {%> 
							    		<% for(OrdersDTO myshopping:ordersList) {%>
							    		<% ProductDTO orderproduct=OrdersDAO.getDAO().selectProduct(myshopping.getO_pnum()); %>  
							   			 <tr>
							   			 	<td class="ordertable" id="ordersnumber"><%=myshopping.getO_onum() %></td>
							   			 	<td class="ordertable" id="ordersdate"><%=myshopping.getO_date() %></td>
							   			 	<td class="ordertable" id="ordersproductqty"><%=myshopping.getO_quantity() %></td>
							   			 	<td class="ordertable" id="ordersprice"><%=DecimalFormat.getCurrencyInstance().format(myshopping.getO_quantity()*orderproduct.getP_price()) %></td>
							   			 	<% if(myshopping.getO_status()==0) {%>
							   			 		<td class="ordertable" id="ordersstatus">주문확인</td>
									    		<%}else if(myshopping.getO_status()==1) { %>
							   			 		<td class="ordertable" id="ordersstatus">배솑쀀비</td>
									    		<%}else if(myshopping.getO_status()==2) { %>
							   			 		<td class="ordertable" id="ordersstatus">배솑쀑</td>
									    		<%}else if(myshopping.getO_status()==3) { %>
							   			 		<td class="ordertable" id="ordersstatus">λ°°μ†‘μ™„λ£Œ</td>
							    			<%} %>
							   			 </tr>    
							    		<%} %>
							    		<%} %>
							   	    </tbody>
							    </table>
							</div>
							<!-- } μ£Όλ¬Έ λ‚΄μ—­ λͺ©λ‘ 끝 -->	

	    </section>
	    <!-- } 졜근 μ£Όλ¬Έλ‚΄μ—­ 끝 -->

	</div>
</div>

<script>

$("#orderpoint").click(function() {
	window.open("<%=request.getContextPath()%>/order/order_point.jsp","point","width=800,height=300,left=700,top=400");
});





</script>
<!-- } λ§ˆμ΄νŽ˜μ΄μ§€ 끝 -->
		</div>  <!-- } .shop-content 끝 -->
	</div>  <!-- } #container 끝 -->
</div> <!-- } #wrapper 전체 μ½˜ν…μΈ  끝 -->







profile
Study Log πŸ“‚

0개의 λŒ“κΈ€