-
저번 시간에 이어서,, 한번이라도 티켓팅을 해 봤다면 오류 페이지는 물론이고 "이선좌"를 못 봤을 리x
공포의 이선좌,,를 뜨게 하는 방법을 알아보자..!
<%@page import="java.util.ArrayList"%><%@page import="java.util.List"%><%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%><% //예매가 확정된 좌석 정보를 저장할 리스트List<String> list = new ArrayList<>();if(application.getAttribute("complete_list") != null){list = (List<String>) application.getAttribute("complete_list");}//사용자가 예매를 희망하는 좌석 정보가 들어 있는 배열String[] seat = request.getParameterValues("seat");//예약 확정 전에 임시로 좌석 정보를 저장할 리스트List<String> temp = new ArrayList<>();int count = 0; //몇 자리를 예매할 수 있는지의 여부를 체크할 변수입니다.for(String s : seat){if(list.contains(s)) break; //좌석의 중복 발생!else{temp.add(s);count++;}}if(count == seat.length){list.addAll(temp);}application.setAttribute("complete_list", list);%><!DOCTYPE html><html><head><meta charset="UTF-8"><title>Insert title here</title></head><body><div align="center"><h2>좌석 예매 결과</h2><p>선택한 좌석: <br><% for(String s : seat) { %>out.print("<strong>[" + s + "]</strong>");} %><br>(이)가 예매 신청되었습니다.</p><p>예매 신청 결과: <%=(count == seat.length) ? "성공" : "실패" %><br><% if(count != seat.length) { %>이미 선택된 자리입니다.<% } %><br><a href="concert_reserve.jsp">추가 예매하기!</a></p></div></body></html>공포의 이선좌 만들어 주기 완성!
그리고 오늘은 java에서 배운 것을 전반적으로 복습하는 내용이었다.
System.out.println("\n### 회원 관리 프로그램 ###");
System.out.println("# 1. 회원 정보 등록하기");
System.out.println("# 2. 전체 회원 정보 조회하기");
System.out.println("# 3. 개인 회원 정보 조회하기");
System.out.println("# 4. 회원 정보 수정하기");
System.out.println("# 5. 회원 정보 삭제하기");
System.out.println("# 6. 프로그램 종료");sql과 연동해서 java 콘솔창에서 입력하는 거였는데, 전체 코드를 올리면 안되니까!
일단, public class MembersManager {
private static Scanner sc = new Scanner(System.in);
private static Connection conn;
private static PreparedStatement pstmt;
private static ResultSet rs;메인에서는,
while(true) { 괄호을 열어,
switch문으로 case를 각각 작성해 줬고,
//Connection 객체를 제공하는 메서드.private static Connection getConnection() throws Exception {String driverName = "oracle.jdbc.driver.OracleDriver";String url = "jdbc:oracle:thin:@localhost:1521:xe";String uid = "hr";String upw = "hr";Class.forName(driverName);return DriverManager.getConnection(url, uid, upw);}다른 건 예전에 올린 코드와 똑같았고, 제일 어려웠던 부분을 말하자면새로운 변수로 갈아야 하는 건가, 생각이 들었던 회원 정보 수정..//4. 개인 회원 정보를 수정하는 메소드private static void update() {System.out.println("수정하실 ID를 입력하세요.");System.out.println("> ");String id = sc.next();System.out.println("수정할 값을 입력하세요.");System.out.println("이름: ");String cName = sc.next();System.out.println("이메일: ");String cEmail = sc.next();String sql = "UPDATE members SET name=?, email=? WHERE id=?";try {conn = getConnection();pstmt = conn.prepareStatement(sql);pstmt.setString(1, cName);pstmt.setString(2, cEmail);pstmt.setString(3, id);int rn = pstmt.executeUpdate();if(rn == 1) {System.out.println("회원 정보가 수정되었습니다.");}else {System.out.println("회원 정보 수정에 실패했습니다.");}} catch (Exception e) {e.printStackTrace();}try {conn.close();pstmt.close();} catch (SQLException e) {e.printStackTrace();}}새 변수를 선언해서 적어주면 된다고 말씀해 주셔서 생각보다 별탈없이 풀게 되었다.
내일도 실습(?) 문제를 푼다고 해서 티스토리에 무엇을 올려야 할지.. 고민이 된다..!