728x90
반응형
상품재고조회 프로그램
요구사항
1) 사용자 인터페이스
2) 설명 : 메뉴 기반의 텍스트 사용자 인터페이스 제공
3) 사례 : "1. 모든상품조회 2. 개별상품조회 "
4) 핵심 : 사용자가 쉽게 각 기능을 선택
예외 처리
1) 설명 : 파일 입출력 및 잘못된 입력에 대한 예외 처리
2) 사례 : 파일이 없을 경우, 잘못된 수량 입력
3) 핵심 : 안정적인 프로그램 동작 보장
Product.jsp
0.00MB
electronic.java
0.00MB
DB
create table products (
product_id number(4) primary key,
product_name varchar2(20) not null,
category varchar2(20),
price number(10, 2),
description varchar2(20),
stock_quantity number(10, 2)
);
insert into products values (1, '아이폰 15', '스마트폰', 1500000, '최신 스마트폰', 52000);
insert into products values (2, '삼성 갤럭시 s24', '스마트폰', 1400000, '고성능 스마트폰', 62000);
insert into products values (3, '맥북 프로 14', '노트북', 2500000, '고급형 노트북', 52000);
insert into products values (4, '삼성 노트북', '노트북', 1800000, '가성비 노트북', 62000);
insert into products values (5, '에어팟 프로 2세대', '이어폰', 350000, '무선 노이즈캔슬링 이어폰', 62000);
COMMIT;
product.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>상품재고조회</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
</head>
<body>
<h1>앵보전자랜드 재고조회</h1>
<form id="ResearchForm" method="get" action="/JSP/electronic">
상품조회 : <input type="text" name="merchandise" id="research" value=""/>
<input type="submit" name = "product" value="모든상품조회">
<input type="submit" name = "product" value="개별상품조회">
</form>
<section id="result">
</section>
</body>
</html>
electronic.jsp
package common;
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import jakarta.servlet.ServletException;
import jakarta.servlet.http.HttpServlet;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
/**
* Servlet implementation class electronic
*/
public class electronic extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public electronic() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
//response.getWriter().append("Served at: ").append(request.getContextPath());
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
ResultSet rs = null;
String merchandise = request.getParameter("merchandise");
String product = request.getParameter("product");
String sql = "";
JDBConnect jdbc = new JDBConnect();
PreparedStatement stmt;
try {
if ("개별상품조회".equals(product)) {
sql = "select * from products where category = ?";
stmt = jdbc.con.prepareStatement(sql);
stmt.setString(1, merchandise);
} else {
sql = "select * from products";
stmt = jdbc.con.prepareStatement(sql);
}
rs = stmt.executeQuery();
while (rs.next()) {
String product_id = rs.getString("product_id");
String product_name = rs.getString("product_name");
String category = rs.getString("category");
int price = rs.getInt("price");
String description = rs.getString("description");
int stock_quantity = rs.getInt("stock_quantity"); //
//
out.println("<hr>");
out.println("<h2>상품 정보 검색</h2>");
out.println("<b>상품ID : </b>" + product_id + "<br>");
out.println("<b>상품명 : </b>" + product_name + "<br>");
out.println("<b>상품종류 : </b>" + category + "<br>");
out.println("<b>가격 : </b>" + price + "<br>");
out.println("<b>상품의 특징 : </b>" + description + "<br>");
out.println("<b>상품의 수량 : </b>" + stock_quantity + "<br>");
//
}
out.println("<br>");
out.println("<a href=\"javascript:history.back()\">Go back</a>");
out.println("</body></html>");
}catch (SQLException e){
out.println("데이터베이스 접속에러");
}
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
}
}
728x90
반응형
'JSP' 카테고리의 다른 글
JSP(표만들기)_2024-09-03 (6) | 2024.09.04 |
---|---|
JSP EL (Expression Language)_2024-09-02 (0) | 2024.09.02 |
JSP(숫자계산 프로그램)_2024-08-29 (0) | 2024.08.30 |
JSP(회원 정보 관리 프로그램)_2024-08-29 (0) | 2024.08.30 |
JSP(Oracle_DB업로드)_2024 (0) | 2024.08.28 |