CRUD게시판 - 영화 상영 목록
초기 셋팅
main.jsp에서 mode7 include하기
- 사용자가 요청할때마다 jsp파일을 변경해주는 역할 수행하므로,
Controller역할을 수행한다고 볼 수 있다.
movie폴더에 home.jsp생성
movie-mapper.xml파일 생성하기
- SQL문장이 작성되는 공간이다.
config.xml에 생성된 매퍼 등록하기
<mapper resource="com/sist/dao/movie-mapper.xml"/>
MovieVO만들기
MovieDAO만들기
- static block을 주는 이유 : 자동 초기화가 될 수 있게 하기 위함이다.
- xml에 주석이 한글로 되어 있기 때문에 2바이트씩 읽어올 수 있는 Reader로 읽어와야한다.
- config.xml먼저 읽고 파싱을 한다.
- Config.xml에 movie-mapper.xml은 꼭 등록되어 있어야
data-board-mapper와 구분된다
- Config.xml에 movie-mapper.xml은 꼭 등록되어 있어야
- build라는 메서드가 파싱하는 메서드이다.
- 이때 태그를 하나씩 읽어서 데이터만 추출하는 SAX파싱법을 수행한다.
- mybatis가 제공해준 태그와 속성을 반드시 사용해야 한다.
- dtd에 태그와 속성이 정의되어 있다.
- XML을 이용하는 목적?
- 마이바티스에 처리를 요청하는 내용들을 xml파일로 작성한다.
- 자바 소스를 제공하지 않지만, 동작에 필요한 데이터를 XML에 올려주면 읽어가기 때문이다.
- 라이브러리이기 때문에 컴파일된 소스만 보내주기 때문에 자바 소스를 공개하지 않는다.
- 모든 라이브러리는 소스를 공개하지 않고 실행할 수 있는 기계어형식의 파일만 제공한다.
- 컴퓨터가 읽어들이는 형식인 기계어, 즉 .class 파일형식만 넘겨준다(.java파일 제공 X)
- 실무에서 배포할때도 자바 소스는 제공하지 않는다. 컴파일된 .class파일을 보내준다.
- 배포할 때, war(웹을 묶어준것)파일 사용함 (*jar=자바를 묶어둔 것)
영화 목록 출력하기
mapper에서 SQL문장 작성하기
(1) 영화 리스트 데이터 불러오기
- resultType에 vo를 등록한다.
- 미리 등록할 수도 있다.
(2) 전체 페이지 구하기
(3) 카테고리별 데이터 가져오기
DAO에서 실행하고 값 받기
- 자동으로 컬럼명과 VO의 변수명을 매칭해서 값을 넘겨준다.
(1) 영화 리스트 (2) 전체 페이지 (3) 카테고리별 데이터
home.jsp에서 화면에 출력하기
(1) Java
- 사용자 요청값 받기
- page는 JSP의 내장객체이기 때문에 사용할 수 없다.
- Default Page지정하기
- 현재 페이지 지정하기
- 현재 페이지에 해당되는 데이터를 DAO에 요청하기
- map은 데이터저장 공간인데, key와 실제값을 저장할 수 있다.
- totalpage 값 받기
- 사용자가 요청한 mno데이터 받기
(2) HTML
- 데이터 출력부분
- 페이지 부분
- index (cateno)
- cateno가 0이면 전체 보여주기
영화 상세보기 출력하기
detail.jsp 생성
- 모양만 잡기
main.jsp에 include하기
- mode가 8번일때, detail.jsp 출력되어야 함
home.jsp에서 사진 클릭하면 mode8로 넘어가도록 설정하기
detail.jsp에서 데이터 출력
- 사용자가 요청한 no값 받기
movie-mapper.xml에서 SQL문장 작성하기
-
parameteType에는 SQL문장에서 # ${}에 들어갈 데이터의 데이터 type을 작성한다.
DAO 작성하기
- selectOne은 {}안의 매퍼 문장이 row한 개를 가져올 때 사용한다.
- selectList는 {}안의 매퍼 문장이 row 여러개를 가져올 때 사용한다.
detail.jsp 받은 값 출력하기
(1) Java
(2) HTML
- 공백주는 법 :
<작성하기 - 동영상 실행하는 태그 :
<embed>,<iframe> - 줄거리 출력하는 태그 :
<pre style="white-space: pre-wrap;background-color:white;border:none">