개발로그필름
[쉽게 배운는 JSP 웹 프로그래밍] 5장 웹 쇼핑몰 예제 코드 본문
728x90
반응형
SMALL
WebMarket/src/dao/ProductRepository.java
package dao;
import java.util.ArrayList;
import dto.Product;
public class ProductRepository {
private ArrayList<Product> listOfProducts = new ArrayList<Product>();
public ProductRepository() {
Product phone = new Product("P1234", "iPhone 6s", 800000);
phone.setDescription("4.7-inch, 1334X750 Renina HD display, 8-megapixel iSight Camera");
phone.setCategory("Smart Phone");
phone.setManufacturer("Apple");
phone.setUnitsInStock(1000);
phone.setCondition("New");
Product notebook = new Product("P1235", "LG PC 그램", 1500000);
notebook.setDescription("13.3-inch, IPS LED display, 5rd Generation Intel Core processors");
notebook.setCategory("Notebook");
notebook.setManufacturer("LG");
notebook.setUnitsInStock(1000);
notebook.setCondition("Refurbished");
Product tablet = new Product("P1236", "Galaxy Tab S", 900000);
tablet.setDescription("212.8*125.6*6.6mm, Super AMOLED display, Octa-core processor");
tablet.setCategory("Tablet");
tablet.setManufacturer("Samsung");
tablet.setUnitsInStock(1000);
tablet.setCondition("Old");
listOfProducts.add(phone);
listOfProducts.add(notebook);
listOfProducts.add(tablet);
}
public ArrayList<Product> getAllProducts() {
return listOfProducts;
}
// listOfProducts에 저장된 모든 상품 목록에서 상품 아이디와 일치하는 상품 가져오는 메소드
public Product getProductById(String productId) {
Product productById = null;
for(int i=0; i<listOfProducts.size(); i++) {
Product product = listOfProducts.get(i);
if(product != null && product.getProductId() != null && product.getProductId().equals(productId)) {
productById = product;
break;
}
}
return productById;
}
}
WebMarket/WebContent/products.jsp
<%@ page contentType="text/html; charset=utf-8"%>
<%@ page import="java.util.ArrayList"%>
<%@ page import="dto.Product" %>
<jsp:useBean id="productDAO" class="dao.ProductRepository" scope="session" />
<html>
<head>
<link rel = "stylesheet"
href = "https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css">
<title>상품 목록</title>
</head>
<body>
<jsp:include page="menu.jsp" />
<div class="jumbotron">
<div class="container">
<h1 class="display-3">상품 목록</h1>
</div>
</div>
<%
ArrayList<Product> listOfProducts = productDAO.getAllProducts();
%>
<div class="container">
<div class="row" align="center">
<%
for(int i=0; i<listOfProducts.size(); i++) {
Product product = listOfProducts.get(i);
%>
<div class="col-md-4">
<h3><%=product.getPname() %></h3>
<p><%=product.getDescription() %>
<p><%=product.getUnitPrice() %>원
<p> <a href="./product.jsp?id=<%=product.getProductId() %>"
class="btn btn-secondary" role="button"> 상세 정보 »</a>
</div>
<%
}
%>
</div>
<hr>
</div>
<jsp:include page="footer.jsp"/>
</body>
</html>
WebMarket/WebContent/product.jsp
<%@ page contentType="text/html; charset=utf-8"%>
<%@ page import="dto.Product" %>
<jsp:useBean id="productDAO" class="dao.ProductRepository" scope="session" />
<html>
<head>
<link rel = "stylesheet"
href = "https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css">
<title>상품 상세 정보</title>
</head>
<body>
<jsp:include page="menu.jsp" />
<div class="jumbotron">
<div class="container">
<h1 class="display-3">상품 정보</h1>
</div>
</div>
<%
String id = request.getParameter("id");
Product product = productDAO.getProductById(id);
%>
<div class="container">
<div class="row">
<div class="col-md-6">
<h3><%=product.getPname() %></h3>
<p><%=product.getDescription() %>
<p> <b>상품 코드 : </b><span class="badge badge-danger"><%=product.getProductId() %></span>
<p> <b>제조사</b> : <%=product.getManufacturer() %>
<p> <b>분류</b> : <%=product.getCategory() %>
<p> <b>재고 수</b> : <%=product.getUnitsInStock() %>
<h4><%=product.getUnitPrice() %>원</h4>
<p> <a href="#" class="btn btn-info"> 상품 주문 »</a>
<a href="./products.jsp" class="btn btn-secondary">상품 목록 »</a>
</div>
</div>
<hr>
</div>
<jsp:include page="footer.jsp"/>
</body>
</html>
WebMarket/WebContent/welcome.jsp
<%@ page contentType="text/html; charset=utf-8" %>
<%@ page import="java.util.Date" %>
<html>
<head>
<link rel = "stylesheet"
href = "https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css">
<title>Welcome</title>
</head>
<body>
<%@ include file="menu.jsp" %>
<%! String greeting = "웹 쇼핑몰에 오신 것을 환영합니다";
String tagline = "Welcome to Web Market!"; %>
<div class = "jumbotron">
<div class = "container">
<h1 class = "display-3">
<%= greeting %>
</h1>
</div>
</div>
<div class = "container">
<div class = "text-center">
<h3>
<%= tagline %>
</h3>
<%
response.setIntHeader("Refresh", 5);
Date day = new java.util.Date();
String am_pm;
int hour = day.getHours();
int minute = day.getMinutes();
int second = day.getSeconds();
if (hour / 12 == 0) {
am_pm = "AM";
} else {
am_pm = "PM";
hour = hour - 12;
}
String CT = hour + ":" + minute + ":" + second + " " + am_pm;
out.println("현재 접속 시각 : " + CT + "\n");
%>
</div>
<hr>
</div>
<%@ include file="footer.jsp" %>
</body>
</html>
반응형
LIST
'IT > 쉽게 배우는 JSP 웹 프로그래밍' 카테고리의 다른 글
[쉽게 배우는 JSP 웹 프로그래밍] 7장 웹 쇼핑몰 예제 코드 (1) | 2022.11.30 |
---|---|
[쉽게 배우는 JSP 웹 프로그래밍] 6장 웹 쇼핑몰 예제 코드 (0) | 2022.11.29 |
[쉽게 배우는 JSP 웹 프로그래밍] 4장 웹 쇼핑몰 예제 코드 (0) | 2022.11.25 |
[쉽게 배우는 JSP 웹 프로그래밍] 3장 웹 소핑몰 예제 코드 (0) | 2022.11.22 |
[쉽게 배우는 JSP 웹 프로그래밍] 2장 웹 쇼핑몰 예제 코드 (0) | 2022.11.22 |
Comments