JSP & Servlet

8. 0818_팀플 2일차

55yudi 2021. 8. 18. 18:11

팀 미팅
- 어제 하루 어떤 부분을 진행했으며
- 오늘 하루 어느 부분을 진행할 예정이고
- 예상되는 어려움이나 도움이 필요한 부분에 대해
- 공유해야 할 내용과 전달 사항

 



0. Navbar에 
1. 로그인 성공시 예매페이지 나타나게
 예매 페이지 꾸미기
2. 회원가입 페이지 꾸미기
3. 팀원 사진 크기조정해서 Team crew div 넣기
4. 팀명 정해서 Footer 에 반영

5. 예매내역 페이지

6. 회원가입 성공 시 -> 로그인 화면으로 이동 -> 로그인 후 -> 영화 선택 및 예매내역 페이지(여기까지 로그인한 사람의 아이디 정보를 세션에 가져와야 함)

- login-check.jsp에 MovieVO vo = new MovieVO(); 객체화 시키는 코드랑
  MovieVO.java??? 클래스 안에 String name; 등등 넣어서 하나로 하는 코드 아직 없음
- 회원가입 성공하고 다시 로그인(부트스트랩적용된) 화면으로 돌아가게
  forward 코드 한 줄 추가하기 <-- join.jsp 57줄 <jsp:forward page="login-form.jsp"></jsp:forward>
- 디벨로퍼 코드(txt파일)



p.m. 03:39
- ReservVO.java : 최종 테이블(로그인한 사람의 아이디,
로그인한 사람이 선택한 영화예매내역(영화이름, 시간, 좌석 등))
- 로그인이 되면 세션에 계속 저장
- login-check.jsp에서 로그인 검증
  if : 같으면 세션에 저장
  - RerservVO vo = new ReservVO(); 
  - Session에 객체 저장
  - vo.setUserId 로 id를 가져와서 저장
  - "userInfo" <-- 저장값 넣어둘 빈 상자임
-영화선택창에서 영화 체크박스를 클릭하면 영화이름의 정보가 getParameter로 넘어감
- moviephoto.jsp
- movie-action.jsp
  - ReservVO vo2 부분 : 세션 가져오기 (userInfo안에 userId가 들어 있음)
(vo2에 저장하는 게 아니고 ReservVO에 저장하는 것임)


[부트스트랩 적용 페이지 작성 중]
체크박스 테스트

출처 : https://getbootstrap.kr/docs/5.0/forms/checks-radios/

<div class="form-check">
  <input class="form-check-input" type="checkbox" value="" id="flexCheckDefault">
  <label class="form-check-label" for="flexCheckDefault">
    Default checkbox
  </label>
</div>
<div class="form-check">
  <input class="form-check-input" type="checkbox" value="" id="flexCheckChecked" checked>
  <label class="form-check-label" for="flexCheckChecked">
    Checked checkbox
  </label>
</div>

* 문제점 : 체크박스 특성 상 영화 페이지 코드에 적용 시킨 후 브라우저 실행 시 체크박스가 중복으로 선택됨

* radio버튼 코드로 type 변경해서 진행했으나 역시 라디오버튼도 중복으로 체크되고 체크 해제가 안됨

* 다시 체크박스로 함(체크박스는 재클릭 시 해제도 됨)


<체크박스 <input>, <label>태그 적용 시킨 <Main>부분>

<main>
      <div class="container">
         <section id="Chart">
            <h2
               class="pink-text text-uppercase font-weight-bold mt-4 mb-2 wow fadeIn"
               data-wow-delay=".2s">Movie List</h2>
            <hr class="mb-5">
            <div class="row text-center mb-4">
               <div class="col-lg-3 col-md-6 mb-3 wow fadeIn" data-wow-delay=".4s">
                  <div class="view overlay z-depth-1 zoom">
                     <img src="./Movie/Zootopia.jpg" class="img-fluid">
                     <div class="mask rgba-white-slight"></div>
                  </div>

                  <div class="card-block">
                     <input class="form-check-input" type="checkbox" value="" id="zoo">
  					<label class="form-check-label" for="zoo">
                     	<h4 class="font-weight-bold mt-3 mb-3">Zootopia</h4>
					</label>
                  </div>
               </div>
               <div class="col-lg-3 col-md-6 mb-3 wow fadeIn" data-wow-delay=".4s">
                  <div class="view overlay z-depth-1 zoom">
                    	<img src="./Movie/Frozen.jpg" class="img-fluid">
                     <div class="mask rgba-white-slight"></div>
                  </div>

                  <div class="card-block">
                  <input class="form-check-input" type="checkbox" value="" id="frozen">
  					<label class="form-check-label" for="frozen">
                     <h4 class="font-weight-bold mt-3 mb-3">Frozen</h4>
                    </label>
                  </div>
               </div>
               <div class="col-lg-3 col-md-6 mb-3 wow fadeIn" data-wow-delay=".4s">

                  <div class="view overlay z-depth-1 zoom">
                     <img src="./Movie/Frozen2.jpg" class="img-fluid">
                     <div class="mask rgba-white-slight"></div>
                  </div>

                  <div class="card-block">
                  <input class="form-check-input" type="checkbox" value="" id="frozen2">
  					<label class="form-check-label" for="frozen2">
                     <h4 class="font-weight-bold mt-3 mb-3">Frozen2</h4>
                    </label>
                  </div>
               </div>

               <div class="col-lg-3 col-md-6 mb-3 wow fadeIn" data-wow-delay=".4s">
                  <div class="view overlay z-depth-1 zoom">
                     <img src="./Movie/Up.jpg" class="img-fluid">
                     <div class="mask rgba-white-slight"></div>
                  </div>

                  <div class="card-block">
                  <input class="form-check-input" type="checkbox" value="" id="up">
  					<label class="form-check-label" for="up">
                     <h4 class="font-weight-bold mt-3 mb-3">Up</h4>
                     </label>
                  </div>
               </div>
               <div class="col-lg-3 col-md-6 mb-3 wow fadeIn" data-wow-delay=".4s">
                  <div class="view overlay z-depth-1 zoom">
                     <img src="./Movie/Moana.jpg" class="img-fluid">
                     <div class="mask rgba-white-slight"></div>
                  </div>

                  <div class="card-block">
                  <input class="form-check-input" type="checkbox" value="" id="moana">
  					<label class="form-check-label" for="moana">
                     <h4 class="font-weight-bold mt-3 mb-3">Moana</h4>
                     </label>
                  </div>
               </div>
               <div class="col-lg-3 col-md-6 mb-3 wow fadeIn" data-wow-delay=".4s">

                  <div class="view overlay z-depth-1 zoom">
                     <img src="./Movie/WreckItRalph.jpg" class="img-fluid">
                     <div class="mask rgba-white-slight"></div>
                  </div>

                  <div class="card-block">
                  <input class="form-check-input" type="checkbox" value="" id="lal">
  					<label class="form-check-label" for="lal">
                     <h4 class="font-weight-bold mt-3 mb-3">Wheck-It Ralph</h4>
                     </label>
                  </div>
               </div>
               <div class="col-lg-3 col-md-6 mb-3 wow fadeIn" data-wow-delay=".4s">

                  <div class="view overlay z-depth-1 zoom">
                     <img src="./Movie/Mulan.jpg" class="img-fluid">
                     <div class="mask rgba-white-slight"></div>
                  </div>

                  <div class="card-block">
                  <input class="form-check-input" type="checkbox" value="" id="mul">
  					<label class="form-check-label" for="mul">
                     <h4 class="font-weight-bold mt-3 mb-3">Mulan</h4>
                     </label>
                  </div>
               </div>
               <div class="col-lg-3 col-md-6 mb-3 wow fadeIn" data-wow-delay=".4s">

                  <div class="view overlay z-depth-1 zoom">
                     <img src="./Movie/Cinderella.jpg" class="img-fluid">
                     <div class="mask rgba-white-slight"></div>
                  </div>

                  <div class="card-block">
                  <input class="form-check-input" type="checkbox" value="" id="cin">
  					<label class="form-check-label" for="cin">
                     <h4 class="font-weight-bold mt-3 mb-3">Cinderella</h4>
                     </label>
                  </div>
               </div>
               <div class="col-lg-3 col-md-6 mb-3 wow fadeIn" data-wow-delay=".4s">

                  <div class="view overlay z-depth-1 zoom">
                     <img src="./Movie/SnowWhite.jpg" class="img-fluid">
                     <div class="mask rgba-white-slight"></div>
                  </div>

                  <div class="card-block">
                  <input class="form-check-input" type="checkbox" value="" id="baek">
  					<label class="form-check-label" for="baek">
                     <h4 class="font-weight-bold mt-3 mb-3">SnowWhite</h4>
                     </label>>
                  </div>
               </div>
               <div class="col-lg-3 col-md-6 mb-3 wow fadeIn" data-wow-delay=".4s">

                  <div class="view overlay z-depth-1 zoom">
                     <img src="./Movie/SleepingBeauty.jpg" class="img-fluid">
                     <div class="mask rgba-white-slight"></div>
                  </div>

                  <div class="card-block">
                  <input class="form-check-input" type="checkbox" value="" id="jam">
  					<label class="form-check-label" for="jam">
                     <h4 class="font-weight-bold mt-3 mb-3">SleepingBeauty</h4>
                     </label>
                  </div>
               </div>
            </div>
         </section>
      </div>
      
<footer class="page-footer font-small red">
  <div class="footer-copyright text-center py-3">© 2021 Project:
    <a href="https://mdbootstrap.com/"> Third-Team</a>
  </div>
</footer>
   </main>

 

<구현 페이지 화면>

 



금일 전달사항


1. 정확히 구현하는 것이 목표가 아니다.
   예약시스템을 제대로 구현 하자는 게 아니다.
   - 예약 날짜가 없어도 된다.(실제로는 말이 안되지만,,ㅎㅎ)


2. 메서드화의 중요성(클래스 내부의 함수 형태)
   - 코드가 좀 많아지는 것은 문제되지 않는다.
   - JSP코드 내부에 JDBC절차가 있는 부분을 메서드화 할 필요가 있다.


3. 따로따로 작성하여 합치는 일이 쉽지 않다. (원래 그렇다..ㅠ)
   - 다음 프로젝트에서는 형상관리(버전 관리, 소스코드 관리 등 클라우드 환경)도구를 통해서 진행할 예정

     (GitHub 등)


4. 데이터베이스에 저장될 구조
   - DB 설계 방법을 다음 프로젝트에 적용할 예정


5. 9/1 Spring할 때 Ajax를 살펴 볼 예정
   - 중복체크