전체 글 273

전자 도서관 프로젝트 - 도서 검색 기능 구현

도서 검색 처리하기 도서 검색은 도서 검색 창과 동일하다. 도서 검색 화면은 nav.jsp에 있다. · 서버에서 요청하는 URI는 /book/user/searchBookConfirm · 검색어는 b_name으로 서버에 전송된다. 컨트롤러 기능 구현 클라이언트 요청을 처리할 수 있는 메서드를 BookController.java에 선언한다. package com.office.library.book.user; import java.util.List; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.Mode..

전자 도서관 프로젝트 - 도서 대출 관련 기능 구현을 위한 준비

도서관을 이용한느 사용자가 도서를 대출하는 기능을 구현한다. 패키지와 클래스 생성하기 실습에 필요한 패키지와 클래스를 만들고 데이터베이스에 도서 대출 테이블(tbl_rental_book)도 생성해본다. com.office.library.book.user 패키지와 클래스를 다음과 같이 만든다. ※ BookVo는 com.office.library.book 패키지에 관리자와 사용자 공용으로 사용하고 있어 별도로 생성하지 않는다. 빈 충돌 에러 앞에서 생성한 클래스들을 스프링 IoC 컨테이너에 빈으로 등록하기 위한 설정을 한다. package com.office.library.book.user; import org.springframework.stereotype.Controller; import org.spri..

전자 도서관 프로젝트 - 비밀번호 분실 처리 구현

비밀번호 찾기 화면으로 이동 버튼은 로그인 화면(login_form.jsp)에 있다. find password 비밀번호를 찾는 버튼은 /user/member/findPasswordForm에 링크되어 있으므로 UserMemberController 컨트롤러에 메서드를 만들고 매핑한다. // 비밀번호 찾기 @GetMapping("/findPasswordForm") public String findPasswordForm() { System.out.println("[UserMemberController] findPasswordForm()"); String nextPage = "user/member/find_password_form"; return nextPage; } 비밀번호 찾기 비밀번호 찾기 화면은 find_..

전자 도서관 프로젝트 - 로그인 및 로그아웃 구현

로그인 화면으로 이동 '로그인' 메뉴도 '회원가입' 메뉴와 마찬가지로 nav.jsp에 코딩되어 있다. 로그인 '로그인' 메뉴가 /user/member/loginForm에 링크되어 있으므로 UserMemberController에 loginForm()을 만들고 매핑한다. // 로그인 @GetMapping("/loginForm") public String loginForm() { System.out.println("[UserMemberController] loginForm()"); String nextPage = "user/member/login_form"; return nextPage; } 로그인 처리하기 로그인 화면은 login_form.jsp로 로그인 양식과 관련된 코드는 다음과 같다. · 로그인 정보가..

전자 도서관 프로젝트 - 회원가입 구현

회원가입 화면으로 이동 회원가입 메뉴는 nav.jsp에 코딩되어 있다. 회원가입 회원가입 메뉴가 /user/member/createAccountForm에 링크되어 있으므로 UserMemberController 컨트롤러에 createAccountForm()을 만들고 매핑한다. package com.office.library.user.member; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; @Controller @RequestMapping("/us..

전자 도서관 프로젝트 - 사용자 홈 구현

프로젝트를 실행했을 때의 도메인은 http://localhost:8090/library/로, 브라우저에 접속하면 다음과 같이 보인다. 이 http://localhost:8090/library/를 처리하는 컨트롤러는 HomeController.java로 코드는 다음과 같다. HomeController는 프로젝트를 생성하면 자동으로 만들어지는 컨트롤러로, 우리가 직접 코딩하지 않는다. package com.office.library; import java.text.DateFormat; import java.util.Date; import java.util.Locale; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springfram..

전자 도서관 프로젝트 - 사용자 관련 기능 구현 준비

사용자 관련 기능 구현을 위한 준비 이번에는 관리자가 아닌 도서관을 이용하는 사용자의 회원가입 및 로그인 기능을 구현한다. 사용자의 회원가입 및 로그인 기능은 관리자의 회원가입 및 로그인 기능과 동일하다. 진행할 실습의 흐름은 다음과 같다. JSP, CSS, 이미지 파일 복사하기 회원 관련 기능을 구현하기 위한 준비 작업으로 실습에 필요한 JSP파일들을 복사한다. 패키지와 클래스 생성하기 사용자 관련 기능 구현에 필요한 패키지와 클래스를 생성해본다. com.office.library 패키지에서 com.office.library.user와 com.office.library.user.member 패키지와 클래스를 다음과 같이 생성한다. 빈 생성 위에서 생성한 클래스들을 스프링 IoC 컨테이너에 빈으로 등록하..

전자 도서관 프로젝트 - 도서 정보 수정과 삭제 기능 구현

도서 정보 수정 화면 구현하기 버튼의 링크는 book_detail.jsp에 다음과 같이 명시되어 있다. 도서 수정 버튼을 클릭하면 서버에 /book/admin/modifyBookForm 요청이 발생하며, 매개변수로 도서를 구분할 수 있는 b_no가 함께 전달된다. 컨트롤러 기능 구현 클라이언트의 요청을 처리할 수 있는 메서드를 BookController.java에 선언한다. // 도서 수정 @GetMapping("/modifyBookForm") public String modifyBookForm(@RequestParam("b_no") int b_no, Model model) { System.out.println("[BookController] bookDetail()"); String nextPage = ..

전자 도서관 프로젝트 - 도서 검색 기능 구현

도서 검색 처리하기 도서 검색 화면은 nav.jsp에 있다. 다음은 nav.jsp에서 검색에 해당하는 이다. · 서버에 요청하는 URI(/book/admin/searchBookConfirm)를 설정한다. · 검색어는 b_name으로 서버에 전송된다. 컨트롤러 기능 구현 클라이언트의 요청을 처리할 수 있는 searchBookConfirm()을 BookController.java에 선언한다. // 도서 검색 @GetMapping("/searchBookConfirm") public String searchBookConfirm(BookVo bookVo, Model model) { System.out.println("[UserBookCoontroller] searchBookConfirm()"); String ne..

전자 도서관 프로젝트 - 신규 도서 등록 기능 구현

패키지와 클래스 생성하기 관리자는 신규 도서를 등록할 수 있다. 관리자 로그인 후 '도서등록' 메뉴를 이용해서 신규 도서를 등록할 수 있다. '도서등록' 메뉴는 nav.jsp에 다음과 같이 코딩되어 있다. 도서등록 도서 등록 메뉴에 대한 링크는 /book/admin/registerBookForm으로 관련 패키지와 클래스를 다음과 같이 만든다. com.office.library.book 패키지 도서 정보 저장 Vo 클래스 BookVo.java com.office.library.book.admin 패키지 컨트롤러 클래스 BookController.java DAO 클래스 BookDao.java 서비스 클래스 BookService.java com.office.library.book.admin.util 패키지 파..