5. 상품 등록창
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>5. 상품등록</title>
<style>
.form-group.row{
margin: 10px;
}
</style>
<link
href="https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/css/bootstrap.min.css"
rel="stylesheet"
integrity="sha384-rbsA2VBKQhggwzxH7pPCaAqO46MgnOM80zW1RWuH61DGLwZJEdK2Kadq2F9CUG65"
crossorigin="anonymous">
</head>
<jsp:include page="menu.jsp"></jsp:include>
<div class="container">
<h1 class="display-3">상품등록
</div>
<body>
<div class= "container">
<form name="newProduct" action="processAddProduct.jsp" method="post"
class="form-horizontal" enctype="multipart/form-data">
<div class="form-group row">
<label class="col-sm-2">상품코드</label>
<div class="col-sm-3">
<input type="text" name="productId" class="form-control">
</div>
</div>
<div class="form-group row">
<label class="col-sm-2">상품명</label>
<div class="col-sm-3">
<input type="text" name="productName" class="form-control">
</div>
</div>
<div class="form-group row">
<label class="col-sm-2">가격</label>
<div class="col-sm-3">
<input type="text" name="unitPrice" class="form-control">
</div>
</div>
<div class="form-group row">
<label class="col-sm-2">상세정보</label>
<div class="col-sm-5">
<textarea rows="1" cols="5"name="description" class="form-control"></textarea>
</div>
</div>
<div class="form-group row">
<label class="col-sm-2">제조사</label>
<div class="col-sm-3">
<input type="text" name="manufacturer" class="form-control">
</div>
</div>
<div class="form-group row">
<label class="col-sm-2">분류</label>
<div class="col-sm-3">
<input type="text" name="category" class="form-control">
</div>
</div>
<div class="form-group row">
<label class="col-sm-2">재고수</label>
<div class="col-sm-3">
<input type="text" name="unitInStock" class="form-control">
</div>
</div>
<div class="form-group row">
<label class="col-sm-2">상태</label>
<div class="col-sm-5">
<input type="radio" name="condition1" value="New" checked="checked"> 신규 제품
<input type="radio" name="condition2" value="Old" > 중고 제품
<input type="radio" name="condition3" value="Refurbished"> 재생 제품
</div>
</div>
<div class="form-group row">
<label class="col-sm-2">이미지 등록</label>
<div class="col-sm-5">
<input type="file" name="productImage" class="form-control">
</div>
</div>
<div class="form-group row">
<div class="col-sm-3">
<input type="submit" class="btn btn-primary" value="등록">
</div>
</div>
</form>
</div>
</body>
</html>
6. 상품 등록 전달받은 창
<%@page import="dao.Product"%>
<%@page import="java.io.File"%>
<%@page import="org.apache.commons.fileupload.FileItem"%>
<%@page import="java.util.Iterator"%>
<%@page import="java.util.List"%>
<%@page import="org.apache.commons.fileupload.DiskFileUpload"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>6.상품등록 전달받은 창</title>
<jsp:useBean id="productDAO" class="dao.ProductRepository" scope="session"></jsp:useBean>
</head>
<body>
<%
request.setCharacterEncoding("UTF-8");
String filUpload = "../resources";
DiskFileUpload upload = new DiskFileUpload();
List items = upload.parseRequest(request);
Object [] formDatas = new Object[9];
String fileName ="" ;
int count = 0 ;
Iterator params = items.iterator();
while(params.hasNext()){
FileItem item = (FileItem)params.next();
if(item.isFormField()){
formDatas[count++] = item.getString("UTF-8");
} else {
fileName = item.getName();
File file = new File(filUpload + "/" + fileName );
item.write(file);
out.print(" 파일명: " + fileName);
}
}
Product p = new Product((String)formDatas[0], (String)formDatas[1],
Integer.parseInt((String)formDatas[2]) , (String)formDatas[3],
(String)formDatas[4], (String)formDatas[5],
Long.parseLong((String)formDatas[6]) ,(String)formDatas[7],fileName );
productDAO.addProduct(p);
response.sendRedirect("products.jsp");
%>
</body>
</html>