JSP 쇼핑몰 페이지 만들기 3 (상품등록 - 파일 기능 추가)

별의개발자커비·2023년 4월 29일
0

JSP

목록 보기
10/31
post-thumbnail

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>
profile
비전공자 독학러. 일단 쌔린다. 개발 공부👊

0개의 댓글