┌───────────────────────────────────────┐
│ 스프링 MVC 하루만에 배우기
│ ::: 2023.08.22
└───────────────────────────────────────┘
필요한 프로그램 설치
*** 이클립스 설치 후, 진행해야 할 사항들
1) enc 타입으로 인코딩 설정
2) 본인이 원하는 font 설정(개인적으로 consolar)
3) perspective java ee 설정
4) sts 플러그인 설치
Book 게시판 프로젝트 설정하기
2-1. Spring Legacy Project 생성하기
2-2. 프로젝트 환경설정
2-3. 메이븐 자바 버전을 1.8로 변경
2-4. 메이븐 스프링 버전 5.3.25 변경
호환 설정은 공식문서를 꼭 참고하길 바람 (확인이 필요한 경우)
2-5. Apache-tomcat 설정
2-6. 인코딩 필터 설정
2-7. 로그 레벨 설정
2-8. 기존에 작성된 홈 컨트롤러, 뷰 삭제
Book 게시판 만들기
3-1. 책 등록 컨트롤러 생성
3-2. 책 등록 컨트롤러 메소드 생성
3-3. 책 등록 화면 생성
3-4. 책 등록 화면 확인하기
3-5. 책 관리 데이터베이스 생성
3-6. 책 관리 테이블 생성
create table board(
bo_no number(8) not null,
bo_title varchar2(300) not null,
bo_content varchar2(4000) not null,
bo_writer varchar2(300) not null,
bo_date date not null,
bo_hit number(8) default 0 null,
constraint pk_bo primary key(bo_no)
);
create sequence seq_board increment by 1 start with 1 nocache;
3-7. 메이븐 데이터베이스 라이브러리 설정
3-8. 데이터 소스 설정
┌───────────────────────────────────────┐
│ 책 입력 만들기
└───────────────────────────────────────┘
3-9. 책 입력 기능 쿼리 생성
- resources source package 아래에 sqlmap 폴더 생성
- book_SQL.xml 생성
- 책 입력 기능 쿼리 작성
> <insert id="insert" parameterType="hashMap" useGeneratedKeys="true"></insert>
3-10. 책 입력 DAO 생성
- class BookDAOImpl
- @Repository 어노테이션으로 데이터를 취급하는 빈이라고 알린다.
3-11. 책 입력 DAO 메소드 생성
- public int insert(Map<String, Object> map){}
3-12. 책 입력 service 인터페이스 메소드 생성
- interface IBookService
- public String insertBook(Map<String, Obejct> map)
3-13. 책 입력 service 클래스 생성
- IBookService interface를 참조받은 구현체 클래스
- public String insertBook(Map<String, Object> map){}
- @Service 어노테이션으로 비즈니스 로직을 담당하는 빈이라고 알린다.
3-14. 책 입력 컨트롤러 메소드 생성
- public ModelAndView insertBook(@RequestParam Map<String, Object> map){}
- @Controller 어노테이션으로 컨트롤러를 담당하는 빈이라고 알린다.
3-15. 책 입력 화면을 출력하고 책 등록 확인하기
- 결과 404 에러 발생 (정상적인 에러)
┌───────────────────────────────────────┐
│ 책 상세보기 만들기
└───────────────────────────────────────┘
3-16. 책 상세보기 기능 쿼리 생성
- 책 상세 기능 쿼리 작성
-
3-17. 책 상세보기 DAO 메소드 생성
- public Map<String, Object> selectBook(Map<String, Object> map)
3-18. 책 상세보기 service 인터페이스 메소드 생성
- public Map<String, Object> selectBook(Map<String, Object> map)
3-19. 책 상세보기 service 클래스 메소드 생성
- public Map<String, Object> selectBook(Map<String, Object> map){}
3-20. 책 상세보기 컨트롤러 메소드 생성
- public ModelAndView detail(Map<String, Object> map){}
3-21. 책 상세 화면 생성
- views/book/detail.jsp
3-22. 책 상세보기 화면을 출력하고 책 상세보기 확인
┌───────────────────────────────────────┐
│ 책 수정 만들기
└───────────────────────────────────────┘
3-23. 책 수정 화면 컨트롤러 메소드 생성
- public ModelAndView updateForm(@RequestParam Map<String, Object> map){}
3-24. 책 수정 화면 뷰 생성
- views/book/update.jsp
3-25. 책 수정 화면 확인하기
3-26. 책 수정 기능 쿼리 생성
- 책 수정 기능 쿼리 작성
-
3-27. 책 수정 기능 DAO 메소드 생성
- public int update(Map<String, Object> map)
3-28. 책 수정 기능 service 인터페이스 메소드 생성
- public boolean updateBook(Map<String, Object> map)
3-29. 책 수정 기능 service 클래스 메소드 생성
- public boolean updateBook(Map<String, Object> map){}
3-30. 책 수정 기능 컨트롤러 메소드 생성
- public ModelAndView updateBook(@RequestParam Map<String, Object> map){}
3-31. 책 수정 기능 확인하기
- 책 수정 기능 > 책 상세보기
┌───────────────────────────────────────┐
│ 책 삭제 만들기
└───────────────────────────────────────┘
3-32. 책 삭제 기능 쿼리 생성
- 책 삭제 기능 쿼리 작성
-
3-33. 책 삭제 기능 DAO 메소드 생성
- public int delete(Map<String, Object> map)
3-34. 책 삭제 기능 service 인터페이스 메소드 생성
- public boolean removeBook(Map<String, Object> map)
3-35. 책 삭제 기능 service 클래스 메소드 생성
- public boolean removeBook(Map<String, Object> map){}
3-36. 책 삭제 기능 컨트롤러 메소드 생성
- public ModelAndView removeBook(Map<String, Object> map){}
3-37. 책 삭제 기능 확인하기
- 책 삭제 기능 > 책 목록
┌───────────────────────────────────────┐
│ 책 목록 만들기
└───────────────────────────────────────┘
3-38. 책 목록 기능 쿼리 생성
- 책 목록 기능 쿼리 작성
<select id="selectBookList" parameterType="hashMap" resultType="hashMap"></select>
3-39. 책 목록 기능 DAO 메소드 생성
- List<Map<String, Object>> selectBookList(Map<String, Object> map)
3-40. 책 목록 기능 service 인터페이스 메소드 생성
- List<Map<String, Object>> selectBookList(Map<String, Object> map)
3-41. 책 목록 기능 service 클래스 메소드 생성
- List<Map<String, Object>> selectBookList(Map<String, Object> map){}
3-42. 책 목록 기능 컨트롤러 메소드 생성
- public ModelAndView list(@RequestParam Map<String, Object> map){}
3-43. 책 목록 화면 뷰 생성
- views/book/list.jsp
3-44. 책 목록 기능 확인하기
┌───────────────────────────────────────┐
│ 책 검색 만들기
└───────────────────────────────────────┘
3-45. 책 검색 기능 쿼리 생성
<select id="selectBookList" parameterType="hashMap" resultType="hashMap"></select>
3-46. 책 검색 기능 목록 컨트롤러 메소드 수정
3-47. 책 검색 화면 뷰 수정
3-47. 책 검색 기능 확인하기