Servlet관리자용주문목록2 : 고객주문목록

AdminOrderFrontController.java의 doProcess()의 주소비교 후 처리부분에 코드 추가

1
2
3
4
5
6
// 주소에 따른 처리 구분 (주소 매핑후 이동)
if(command.equals("/AdminOrderList.ao")){
action = new AdminOrderListAction();
try{ forward = action.execute(request, response);
}catch(Exception e) {e.printStackTrace();}
}




AdminOrderListAction.java 생성

  • if(id == null || id.equals(“admin”)) 에서 null을 먼저 비교해야한다. id.equals("admin") 비교하는 경우 id가 null일때 id.equals(null)이 실행되면서 에러가 발생한다. 따라서 id == null을 먼저 비교해야한다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
public class AdminOrderListAction implements Action {

@Override
public ActionForward execute(HttpServletRequest request, HttpServletResponse response)
throws Exception {
// 한글처리
request.setCharacterEncoding("UTF-8");

// 관리자 ID해당하는 세션값 제어
HttpSession session = request.getSession();
String id = (String) session.getAttribute("id");
ActionForward forward = new ActionForward();
if(id == null || !id.equals("admin")){
forward.setPath("./MemberLogin.me");
forward.setRedirect(true);
return forward;
}

// AdminOrderDAO 객체 생성 -> 저장 한 줄 코딩
AdminOrderDAO aodao = new AdminOrderDAOImpl(); //업캐스팅
request.setAttribute("AdminOrderList", aodao.getAdminOrderList());

// 페이지 이동
forward.setPath("./adminorder/admin_order_list.jsp");
forward.setRedirect(false);
return forward;
}
}




AdminOrderDAOImpl.java에 getAdminOrderList()메서드 코드 추가

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
// 주문목록 가져오기
@Override
public List getAdminOrderList() {
List AdminOrderList = new ArrayList();
try {
getCon();
sql="select o_trade_num,o_g_name,o_g_amount,o_g_size,o_g_color,"
+ "sum(o_sum_money) as o_sum_money,"
+ "o_trade_type,o_trans_num,o_date,o_status,o_m_id "
+ "from itwill_order "
+ "group by o_trade_num "
+ "order by o_trade_num";
pstmt = con.prepareStatement(sql);
rs = pstmt.executeQuery();
while(rs.next()){
OrderDTO odto = new OrderDTO();
odto.setO_date(rs.getDate("o_date"));
odto.setO_g_amount(rs.getInt("o_g_amount"));
odto.setO_g_color(rs.getString("o_g_color"));
odto.setO_g_name(rs.getString("o_g_name"));
odto.setO_g_size(rs.getString("o_g_size"));
odto.setO_trade_num(rs.getString("o_trade_num"));
odto.setO_trans_num(rs.getString("o_trans_num"));
odto.setO_sum_money(rs.getInt("o_sum_money"));
odto.setO_status(rs.getInt("o_status"));
odto.setO_trade_type(rs.getString("o_trade_type"));
odto.setO_m_id(rs.getString("o_m_id"));

AdminOrderList.add(odto);
}
}catch(Exception e){
e.printStackTrace();
} finally {
closeDB();
}
return AdminOrderList;
}//end of getAdminOrderList()




admin_order_list.jsp 생성

  • if-else보다 swith가 더 효율적이다. if-else는 모든 연산을 다 해야하니까
  • if-else를 쓸꺼면 꼭 else를 챙겨야한다. 모든 예외상황을 다 관리해야하니까
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
<%
System.out.println("V : 관리자 주문목록 처리 페이지");
List<OrderDTO> adminOrderList = (List<OrderDTO>) request.getAttribute("adminOrderList");
%>
<table border="1">
<tr>
<td>주문번호</td>
<td>주문자</td>
<td>결재방법</td>
<td>주문금액</td>
<td>주문상태</td>
<td>주문일시</td>
<td>수정 / 삭제</td>
</tr>
<%
for(OrderDTO odto:adminOrderList){
%>
<tr>
<td><%=odto.getO_trade_num() %></td>
<td><%=odto.getO_m_id() %></td>
<td><%=odto.getO_trade_type() %></td>
<td><%=odto.getO_sum_money() %></td>
<%
// if-else보다 swith가 더 효율적이다. if-else는 모든 연산을 다 해야하니까
// if-else를 쓸꺼면 꼭 else를 챙겨야한다. 모든 예외상황을 다 관리해야하니까
String status = "";
if(odto.getO_status() == 0){ status="대기중"; }
else if(odto.getO_status() == 1){ status="발송준비"; }
else if(odto.getO_status() == 2){ status="발송완료"; }
else if(odto.getO_status() == 3){ status="배송중"; }
else if(odto.getO_status() == 4){ status="배송완료"; }
else if(odto.getO_status() == 5){ status="주문취소"; }
else{ status="문제발생"; }
%>
<td> <%=status %> </td>
<td> <%=odto.getO_date() %> </td>
<td> <input type="button" class="btn" value="수정"
onclick="location.href='./AdminOrderModify.ao?trade_num=<%=odto.getO_trade_num()%>'" >
/
<input type="button" class="btn" value="삭제"
onclick="location.href=" >
</td>
</tr>
<%
}
%>

</table>
<input type="button" class="btn" value="메인페이지로" onclick="location.href='./Main.me'">

Comments