홈페이지 구현하기(6)
관리자 포인트 상품 기능(관리/삭제/수정/추가) 만들기
- 포인트 상품 관리 (list.jsp) 만들기
<%@page import="java.text.DecimalFormat"%>
<%@page import="java.text.Format"%>
<%@page import="home.beans.CoinDto"%>
<%@page import="java.util.List"%>
<%@page import="home.beans.CoinDao"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%-- 입력 : 없음 --%>
<%-- 처리 : List<CoinDto> --%>
<%
CoinDao coinDao = new CoinDao();
List<CoinDto> list = coinDao.list();
%>
<%-- 출력 --%>
<jsp:include page="/template/header.jsp"></jsp:include>
<h2>포인트 상품 관리</h2>
<table border="1" width="500">
<thead>
<tr>
<td colspan="4" align="right">
<a href="add.jsp">상품등록</a>
</td>
</tr>
<tr>
<th>상품번호</th>
<th>상품이름</th>
<th>상품금액</th>
<th>관리메뉴</th>
</tr>
</thead>
<tbody align="center">
<%Format f = new DecimalFormat("#,##0"); %>
<%for(CoinDto coinDto : list){ %>
<tr>
<td><%=coinDto.getCoinNo()%></td>
<td><%=coinDto.getCoinName()%></td>
<td align="right"><%=f.format(coinDto.getCoinAmount())%></td>
<td>
<a href="./edit.jsp?coinNo=<%=coinDto.getCoinNo()%>">수정</a>
<a href="./delete.txt?coinNo=<%=coinDto.getCoinNo()%>">삭제</a>
</td>
</tr>
<%} %>
</tbody>
<tfoot>
<tr>
<td colspan="4" align="right">
<a href="add.jsp">상품등록</a>
</td>
</tr>
</tfoot>
</table>
<jsp:include page="/template/footer.jsp"></jsp:include>
- CoinDao 삭제(delete) 기능 추가
public boolean delete(int coinNo) throws Exception{
Connection con = JdbcUtils.connect(USERNAME, PASSWORD);
String sql = "delete coin where coin_no = ?";
PreparedStatement ps = con.prepareStatement(sql);
ps.setInt(1, coinNo);
int result = ps.executeUpdate();
con.close();
return result > 0;
}
- 포인트 삭제 처리 (CoinDeleteServlet.java) 만들기
package home.servlet.point;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import home.beans.CoinDao;
@WebServlet(urlPatterns = "/admin/point/delete.txt")
public class CoinDeleteServlet extends HttpServlet{
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
try {
//입력 : coinNo
int coinNo = Integer.parseInt(req.getParameter("coinNo"));
//처리 : 삭제
CoinDao coinDao = new CoinDao();
boolean success = coinDao.delete(coinNo);
//출력 : 목록 페이지로 redirect
resp.sendRedirect("list.jsp");
}
catch(Exception e) {
e.printStackTrace();
resp.sendError(500);
}
}
}
- CoinDao 수정(edit) 기능 추가
public boolean edit(CoinDto coinDto) throws Exception {
Connection con = JdbcUtils.connect(USERNAME, PASSWORD);
String sql = "update coin set coin_name = ?, coin_amount = ? where coin_no = ?";
PreparedStatement ps = con.prepareStatement(sql);
ps.setString(1, coinDto.getCoinName());
ps.setInt(2, coinDto.getCoinAmount());
ps.setInt(3, coinDto.getCoinNo());
int result = ps.executeUpdate();
con.close();
return result > 0;
}
- 포인트 수정 처리 (CoinEditServlet.java) 만들기
package home.servlet.point;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import home.beans.CoinDao;
import home.beans.CoinDto;
@WebServlet(urlPatterns = "/admin/point/edit.txt")
public class CoinEditServlet extends HttpServlet{
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
try {
//입력 : CoinDto(coinNo + coinName + coinAmount)
CoinDto coinDto = new CoinDto();
coinDto.setCoinNo(Integer.parseInt(req.getParameter("coinNo")));
coinDto.setCoinName(req.getParameter("coinName"));
coinDto.setCoinAmount(Integer.parseInt(req.getParameter("coinAmount")));
//처리 : 변경(U)
CoinDao coinDao = new CoinDao();
boolean success = coinDao.edit(coinDto);
//출력 : 목록 페이지로 redirect
resp.sendRedirect("list.jsp");
//resp.sendRedirect(req.getContextPath()+"/admin/point/list.jsp");
}
catch(Exception e) {
e.printStackTrace();
resp.sendError(500);
}
}
}
- CoinDao 추가(add) 기능 추가
public void add(CoinDto coinDto) throws Exception {
Connection con = JdbcUtils.connect(USERNAME, PASSWORD);
String sql = "insert into coin(coin_no, coin_name, coin_amount) "
+ "values(coin_seq.nextval, ?, ?)";
PreparedStatement ps = con.prepareStatement(sql);
ps.setString(1, coinDto.getCoinName());
ps.setInt(2, coinDto.getCoinAmount());
ps.execute();
con.close();
}
- 포인트 상품 추가 add.jsp 만들기
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%-- 입력 --%>
<%-- 처리 --%>
<%-- 출력 --%>
<jsp:include page="/template/header.jsp"></jsp:include>
<h2>포인트 상품 등록</h2>
<form action="add.kh" method="post">
상품이름 : <input type="text" name="coinName" required>
<br><br>
상품금액 : <input type="number" name="coinAmount" required>
<br><br>
<input type="submit" value="등록">
</form>
<jsp:include page="/template/footer.jsp"></jsp:include>
- 포인트 추가 처리 (CoinAddServlet.java) 만들기
package home.servlet.point;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import home.beans.CoinDao;
import home.beans.CoinDto;
@WebServlet(urlPatterns = "/admin/point/edit.txt")
public class CoinEditServlet extends HttpServlet{
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
try {
//입력 : CoinDto(coinNo + coinName + coinAmount)
CoinDto coinDto = new CoinDto();
coinDto.setCoinNo(Integer.parseInt(req.getParameter("coinNo")));
coinDto.setCoinName(req.getParameter("coinName"));
coinDto.setCoinAmount(Integer.parseInt(req.getParameter("coinAmount")));
//처리 : 변경(U)
CoinDao coinDao = new CoinDao();
boolean success = coinDao.edit(coinDto);
//출력 : 목록 페이지로 redirect
resp.sendRedirect("list.jsp");
//resp.sendRedirect(req.getContextPath()+"/admin/point/list.jsp");
}
catch(Exception e) {
e.printStackTrace();
resp.sendError(500);
}
}
}
'Java 웹 개발' 카테고리의 다른 글
21.10.27 - 웹 개발 입문 53일차 (0) | 2021.10.27 |
---|---|
21.10.26 - 웹 개발 입문 52일차 (0) | 2021.10.26 |
21.10.22 - 웹 개발 입문 50일차 (0) | 2021.10.23 |
21.10.21 - 웹 개발 입문 49일차 (0) | 2021.10.21 |
21.10.20 - 웹 개발 입문 48일차 (0) | 2021.10.21 |